MPP is an open standard, co-authored by Stripe and Tempo, for agent-to-merchant payments over HTTP. It builds on the long-dormant HTTP 402 Payment Required status code โ turning it into a real handshake that lets autonomous agents pay services without going through a human-shaped checkout flow.
It's also referred to as x402, the original Coinbase formulation that this spec descends from.
Key things to know
Stateless and HTTP-native
Just headers and status codes. No SDK lock-in. An agent that knows how to read 402 + WWW-Authenticate can pay any MPP merchant.
Multi-rail by design
The same protocol carries stablecoin payments, card payments via Shared Payment Tokens, and BNPL. The merchant declares what they accept; the agent picks.
Settles like any other charge
For Stripe businesses, MPP transactions appear in the normal Dashboard โ same fraud, tax, and refund tooling.
The flow
- Agent requests a paid resource
- Server returns 402 with a WWW-Authenticate header describing the payment
- Agent authorizes via card, SPT, or stablecoin
- Server delivers the resource
Early adopters
- Browserbase โ pay-per-session headless browsers
- Parallel Web Systems โ web access APIs
- PostalForm โ physical mail you can trigger from a script
- Prospect Butcher Co. โ sandwich ordering (yes, really)
- Stripe Climate โ carbon removal contributions
vs. CardForAgent
MPP is a protocol, not a product โ you'd use it on the merchant side or pay over it on the agent side. CardForAgent gives the agent a card it can use anywhere, including at MPP merchants (the card backs the SPT). They sit at different layers.