Four standards now let an agent pay for something, and the comparison everyone writes is about rails — cards versus stablecoins, HTTP versus checkout API. That is the wrong axis. They disagree about where the spending limit is stored, and that single choice fixes how much a prompt-injected agent can spend before anything else in your stack gets a vote. Pick the protocol that holds the cap where you can defend it, and the rail question answers itself.
At a glance
These four are usually presented as rivals. They are not — they occupy different layers, and a real deployment uses two or three of them together. What follows is the shape of each before we get to the part that matters.
| Protocol | Who | Layer | Settles over |
|---|---|---|---|
| x402 | Coinbase Developer Platform; governance now under the Linux Foundation, with Google, Visa, Mastercard, Stripe, AWS and Circle behind it. | Transport. Revives the dormant HTTP 402 Payment Required so an agent can pay per request. |
Stablecoins, predominantly USDC, on Base and Solana. Zero protocol fees. |
| MPP | Stripe and Tempo, launched alongside the Tempo mainnet in March 2026. | Settlement for machine buyers — APIs, compute, digital services. | Stripe's existing rails via PaymentIntents, plus a Visa card spec and SDK built on Visa Intelligent Commerce. |
| ACP | OpenAI and Stripe, who maintain the spec. PayPal joined as a second compliant provider. | Checkout. Cart, product feed, orders, delegated payment, and an MCP binding. | Whatever the buyer already uses, brokered through a Shared Payment Token. |
| AP2 | Google with 60+ launch partners; governance donated to the FIDO Alliance. | Authorization. Three signed mandates — Intent, Cart, Payment — as W3C Verifiable Credentials. | Rail-agnostic by design: cards, bank transfer, or crypto through an x402 extension. |
The only question that changes your risk
Every agent that can spend money has a number attached to it: the most it can spend before a human, a bank or a server says no. Call it the cap. Each of these four protocols stores that cap somewhere different, and the storage location determines everything about what happens on a bad day.
In x402 the cap is the wallet balance. There is no per-payment authorization step by design — that is the point of the protocol, and it is why it works for sub-cent API calls at a volume the other three cannot approach. It also means a compromised agent's spending limit is exactly what you pre-funded, the payments are irreversible, and no third party is positioned to refuse one. Security researchers have already published attack families against x402 flows for this reason; the protocol is not broken, it simply has no opinion about authorisation.
In MPP and the card specs beneath it, the cap is the issuer's authorization rules — the same machinery that already declines your card in an unusual country. That is the most battle-tested option on the list, and it comes with the one property none of the others have: a chargeback. Money moved wrongly can move back.
In ACP the cap is the Shared Payment Token, minted by the payment provider for exactly one checkout at a price the buyer saw. The agent never holds a credential that works twice. Blast radius is one cart.
In AP2 the cap travels inside the request as a mandate the user cryptographically signed — "running shoes, size 10, under $150" — and the merchant can verify it independently. That is the tightest scoping of the four, and it carries the largest asterisk on this page.
Evidence is not enforcement
AP2's mandates are frequently described as a safety feature. They are a non-repudiation feature, which is a different thing with a different failure mode. A signed Intent Mandate proves, afterwards, that the user authorised a class of purchase and that the agent stayed inside it — or proves that it did not. It does not stop anything. It cannot: the mandate is verified by the merchant, and the merchant's incentive to reject a sale is weaker than yours.
Compare that with ACP, where the payment provider refuses a second use of the token, or MPP, where the issuer declines the authorization. Those are enforcement: a party that is not the agent, and not the merchant, says no at the moment of the payment.
So the taxonomy that actually helps is not "cards versus crypto". It is:
- Enforcement — someone independent can refuse in flight. ACP's token, the issuer's rules, and any spending proxy you run yourself.
- Evidence — someone can prove afterwards what was authorised. AP2's mandates, and the receipt trail your own audit log keeps.
You want both, and no single protocol on this list gives you both. Research red-teaming AP2 with prompt injection makes the point concretely: an attacker who cannot forge a signature can still influence what the user is asked to sign. A mandate signed under a manipulated description is a perfectly valid mandate.
Cloudflare's wallet product is the argument in miniature
The clearest evidence that the cap location is the real design question came this month from a company that shipped on top of x402 rather than instead of it. Cloudflare Wallets lets a human fund an Account Wallet and then delegate capped spending to agents through Virtual Wallets, settling in stablecoins over x402 alongside its Monetization Gateway.
Read the shape of that product. x402 supplies the payment mechanism and nothing else; Cloudflare added the layer x402 deliberately omits — a per-agent limit, held by a party that is neither the agent nor the merchant, that can refuse. That is the enforcement layer, rebuilt at the infrastructure vendor because the protocol does not carry one.
If you adopt x402 without building or buying that layer, you have adopted a pre-funded, irreversible, unrefusable payment channel wired directly into a system that reads untrusted text for a living. The right mental model is scoped credentials: the wallet is a credential, and an unscoped one.
When to pick which
| You are building… | Start with | Add |
|---|---|---|
| An agent paying for APIs, data or compute per call | x402 — nothing else settles at that size, and it charges no protocol fee | A capped virtual wallet per agent. Buy it or build it; do not skip it. |
| A shopping agent buying physical goods for a consumer | ACP — the merchant integrations and the live surface already exist | AP2 mandates if you need to prove intent to a regulator or an insurer. |
| An enterprise agent spending against a corporate card | MPP with the card rails underneath — you inherit issuer controls and chargebacks | Your own pre-authorization step for anything above a threshold you set. |
| A platform where third-party agents transact with your merchants | AP2 — you need verifiable evidence of who authorised what, per transaction | An enforcement layer of your own. The mandate proves; it does not prevent. |
One recommendation cuts across all four rows. Whatever you adopt, keep a spending decision outside the agent loop — a proxy, a policy service, a human gate above a threshold — because every protocol here assumes the caller is honest about what it is buying, and the caller is a language model reading text written by strangers. See human in the loop for where to place that gate, and AP2 and agent commerce for the mandate mechanics in detail.
FAQ
Do I have to choose one of these?
No, and choosing exactly one is the common mistake. They sit at different layers: AP2 authorises, ACP checks out, x402 and MPP settle. A shopping agent plausibly uses AP2 mandates over an ACP checkout; an API-consuming agent uses x402 under a wallet with caps.
Is x402 unsafe?
It is unopinionated, which becomes unsafe when you wire it to an autonomous agent without a limit layer. The protocol was designed for machine-to-machine micropayments where the payer is a program you wrote. An agent that reads web pages is a different payer, and published attack analyses of x402 flows are worth reading before you fund a wallet.
Which one has real production volume?
x402 by a wide margin on transaction count — well over a hundred million payments across Base and Solana — because per-request API payments are high-frequency and tiny. ACP has the most consumer-visible volume through Instant Checkout in ChatGPT. Those are different meters and comparing them directly is meaningless.
What happens when an agent buys the wrong thing?
Under MPP and the card rails: a chargeback, the same as any card dispute. Under ACP: a merchant refund through the normal order flow. Under x402: the stablecoin is gone. Under AP2: you have cryptographic proof of what was authorised, which helps you argue and does not by itself return the money. This is usually the deciding fact for anyone with a finance team.
Further reading
On this wiki:
- AP2 and agent commerce — the mandate chain in detail.
- Travel and booking agents — a domain where the irreversible step and the cap question meet head-on.
- Scoped credentials for agents — how to bound what a credential can do before you hand it over.
- Delegated access and consent records — the record a mandate is, and the record it is not.
- Prompt injection, in plain words — the attack every row of the cap table is defending against.