How to Set Spend Limits on an AI Agent
Pick an agent
Payment intent
intent: ▌
Policy evaluation
Human approval required
This spend is over your approval threshold. Approve it to issue a scoped card, or deny it.
Scoped virtual card issued
Wallet budget
spent of
Audit trail
Short answer: To set spend limits on an AI agent, put a policy layer between the agent and the payment rail that checks every request before money moves. Give each agent its own scope, not a shared card, and stack several limit types: a per-transaction cap, a daily and monthly total, a velocity limit on how often it can pay, a merchant or category restriction, and a counterparty allowlist. Send anything above a chosen threshold to a human for approval, keep the ability to revoke instantly, and log every decision to an audit trail. The rule that makes it real: limits have to be enforced before the charge, not reviewed after it.
Last updated July 2026.
Why a prompt is not a spend limit
The most common mistake is telling the agent its budget in the prompt. "Do not spend more than 50 dollars" is an instruction, not a control. A model can misread it, a prompt injection can override it, and a bug can loop past it. If the only thing standing between your agent and your card is text, you do not have a limit, you have a suggestion. Real spend limits live outside the model, in a policy layer that the agent cannot talk its way around, and they are checked at the moment of payment.
The difference shows up the first time something goes wrong. With a prompt-only budget, you find out when the statement arrives. With an enforced limit, the over-budget charge simply declines and you get an alert. One is a cleanup job; the other is a non-event.
The limit types worth setting
Good agent spend control is not one number. It is a small stack of limits that each catch a different failure mode. Use as many as fit the agent's job.
| Limit | What it caps | Catches |
|---|---|---|
| Per-transaction cap | The largest single payment allowed. | One oversized charge from a bug or bad decision. |
| Daily and monthly total | Cumulative spend over a window. | Death by a thousand small, in-limit charges. |
| Velocity limit | How many payments in a period. | A retry loop firing the same purchase repeatedly. |
| Merchant or category rule | Where the agent may pay. | Spend drifting to sites the agent has no business using. |
| Counterparty allowlist | The specific vendors allowed. | Payments to an unknown or spoofed recipient. |
A research agent might get a 25 dollar per-transaction cap, a 100 dollar daily total, and an allowlist of the three data providers it uses. A procurement agent might get a higher cap but a hard approval gate above 500 dollars. The point is to match the limits to what the agent actually does, then let the policy layer enforce the whole set on every request.
Scope each agent, do not share a card
Give every agent its own scoped credential, ideally a single-use or short-lived virtual card issued per task or per agent. Sharing one card across agents destroys attribution: when a charge looks wrong, you cannot tell which agent made it, and you cannot cap one agent without capping all of them. Per-agent scoping means each agent's limits are independent, each charge is attributable, and you can revoke one agent instantly without touching the rest. If your agents operate in a regulated context, mapping those per-agent rules to your policy obligations is easier when each agent is isolated; some teams pair this with an AI compliance officer that keeps the control mapping current.
Add a human approval gate
Limits handle the routine. Approvals handle the exceptions. Pick a threshold, for example any single payment over 500 dollars or any new counterparty, and route those to a human before the money moves. A good gate pauses the specific transaction, sends the request to Slack, email or a webhook with the context of what the agent is trying to buy and why, and only releases it on approval. This keeps agents autonomous for the small, frequent decisions while keeping a person on the large or unusual ones, which is exactly where you want human judgment. Limits and approvals working together are the core of governed autonomy for AI agents, the operating model that lets an agent act on its own without acting without limits.
Enforce before, record after
Two properties separate spend limits that work from limits that only look good in a settings screen. First, enforcement happens before money moves: the check runs at authorization, and an over-limit request is declined, not flagged for later. Second, every decision is recorded: each approval, decline and payment lands in an immutable audit trail attributed to the agent and its owner, so finance can reconcile and you can answer "who authorized this" without guessing. Enforcement without a record leaves you blind at month end; a record without enforcement leaves you exposed in real time. You want both.
A practical setup checklist
- Put a policy layer between each agent and the payment rail, so limits are enforced outside the model.
- Issue a scoped, single-use or short-lived virtual card per agent or per task, never a shared card.
- Set a per-transaction cap, a daily and monthly total, and a velocity limit sized to the agent's job.
- Restrict merchants or categories and add a counterparty allowlist where the vendor set is known.
- Choose an approval threshold and route anything above it to a human before the charge clears.
- Confirm you can revoke an agent's spending instantly, in one action.
- Send every decision to an audit trail you can export and reconcile.
Frequently asked questions
Can I set spend limits with just a system prompt?
No. A prompt is an instruction the model can misread, a prompt injection can override, and a loop can bypass. Real spend limits are enforced by a policy layer outside the model that checks each payment before it clears. Keep the budget in that layer, not in the prompt.
What is the most important limit to set first?
Start with a per-transaction cap and a daily total, enforced before money moves. Together they stop both a single oversized charge and a slow bleed of small ones. Add a velocity limit next to catch retry loops, then merchant and counterparty rules as you learn the agent's normal behavior.
How do I stop an agent immediately if something looks wrong?
Use scoped, per-agent credentials so you can revoke one agent's spending in a single action without affecting the others. Instant revocation only works if each agent has its own card or credential rather than sharing one, which is another reason to scope per agent from the start.
Do spend limits slow the agent down?
A well-built policy layer checks limits in milliseconds at authorization, so routine in-budget payments clear without a noticeable delay. Only payments that exceed a limit or trip an approval threshold pause, which is the behavior you want. Speed and control are not a tradeoff when enforcement is done at the rail.
The takeaway
Setting spend limits on an AI agent means moving the budget out of the prompt and into an enforced policy layer, scoping each agent separately, stacking the right limit types, gating the exceptions for human approval, and recording every decision. Do that and an agent can run autonomously without ever becoming a blank check. See how it works, learn what happens with runaway agent spend, or compare a Proxy alternative for governing spend on your existing rails. If a finance team owns this, see the full set of AI agent procurement controls.
Try it in the sandbox
Give an agent a wallet, write a policy, and issue a scoped virtual card in an afternoon. Never moves money without policy.
Keep reading
AgentCore Payments: How Amazon Bedrock AgentCore Payments Works on AWS
What Amazon Bedrock AgentCore Payments does, how the x402 flow and per-session spend limit...
UCP Checkout on Google: How to Set Up UCP-Powered Checkout in AI Mode and Gemini
Google now shows a Buy button on product listings inside AI Mode and Gemini, powered by th...
Agentic Commerce for Merchants: A Readiness Guide for Retailers
AI assistants are now completing checkout on behalf of US shoppers. Here is which channels...