x402 vs MPP — which agent payment protocol should you support?
The 30-second history
x402 revived the dormant HTTP 402 "Payment Required" status code in 2025 as a machine-payable standard: the server replies 402 with an accepts array describing how to pay (asset, chain, amount, recipient), the agent signs an EIP-3009 transferWithAuthorization, and a facilitator verifies and settles it on-chain. Coinbase published the reference implementation and runs the default facilitator.
MPP (Machine Payments Protocol) arrived from the fiat side: an open standard from Stripe and the Tempo ecosystem that uses the same 402 handshake but replaces on-chain transfers with payment tokens that clear over conventional PSP infrastructure. An agent with access to a funded MPP wallet or card-rail backing can pay without touching a blockchain.
Side-by-side comparison
| Dimension | x402 | MPP |
|---|---|---|
| Origin | Coinbase (open spec) | Stripe + Tempo (open spec) |
| Settlement rail | On-chain — USDC on Base (also ETH L2s, Solana) | Fiat / PSP rails, payment tokens |
| Typical asset | USDC, EURC stablecoins | USD / fiat balances |
| Finality | ~2–3 s on Base | PSP authorization, payout per schedule |
| Micropayment floor | Sub-cent viable ($0.001 works) | PSP minimums apply |
| Agent wallet needed | Crypto wallet + USDC balance | MPP-enabled account (e.g. Stripe-issued) |
| Chargebacks | None (refund protocols layer on top) | PSP dispute rules |
| Live ecosystem today | x402 Bazaar, x402scan, thousands of endpoints | Growing via Stripe merchant network |
Why "both" is the right answer for API sellers
The protocols compete for the same HTTP handshake but serve different agent populations. Crypto-native agents hold USDC and pay via x402 today. Enterprise agents wired into Stripe-style billing will arrive with MPP credentials. Since one 402 response can carry both header sets side by side, advertising both costs nothing and roughly doubles your addressable demand.
AsterPay runs this dual-protocol pattern in production: every paid endpoint at x402.asterpay.io accepts both x402 and MPP, and the MPP method advertisement is published alongside the x402 discovery document.
What about EUR settlement?
Neither protocol pays your European suppliers in euros by itself. With x402 the merchant ends up holding USDC; with MPP the funds sit at the PSP. AsterPay closes the last mile for both: USDC from x402 payments is converted and pushed to the merchant's IBAN via SEPA Instant in under 10 seconds, and MPP-side flows are normalized into the same EUR payout pipeline. One integration, two protocols, euros in the bank.
Decision guide
- Selling API calls to AI agents today? → Support x402 first (largest live agent population), add MPP via a dual-protocol facilitator.
- Enterprise customers on Stripe billing? → MPP support future-proofs you; you keep one 402 handshake for both.
- European merchant who needs EUR, not USDC? → Use a facilitator with native EUR settlement (AsterPay is the only one combining dual-protocol acceptance with SEPA Instant payout and KYA trust scoring).
- Building an agent that pays? → Read the 402 response's options and support whichever rails your treasury holds; x402 needs a funded USDC wallet, MPP needs an MPP-enabled account.