By · Founder, Stacktree · Last updated
blog

MPP vs x402: you do not have to choose.

The two agent-payment protocols are usually framed as crypto versus Stripe. Having shipped both, we think that is a false binary. MPP’s evm method settles the same USDC on Base that x402 does. Here is what actually differs, what is identical underneath, and why we take both on one endpoint.

Get started free

What is the difference between MPP and x402?

x402 is a minimal open standard: a server returns HTTP 402 with payment terms, an agent signs a USDC authorization and retries, and a facilitator settles on-chain. MPP, from Stripe and Tempo, generalises the same 402 idea into a payment-method-agnostic framework with several methods (on-chain evm, Tempo, and a Stripe card rail) plus sessions for streaming spend. The key thing most comparisons miss: MPP’s evm method and x402 settle the very same EIP-3009 USDC transfer on Base.

Search "MPP vs x402" and you get the same shape of answer everywhere: x402 is the crypto-native one (Coinbase, Base, USDC, no accounts), MPP is the Stripe one (cards, Tempo, enterprise, sessions). It is a useful first cut, and the timing made it loud. MPP launched on 18 March 2026, the day Tempo’s payments chain went to mainnet, with over a hundred services signed on, and Stripe Directory arrived in June to make those services discoverable. Naturally everyone reached for a versus.

We accept both, in production, settling real money. From that seat the popular framing is mostly right and quietly wrong in one place that matters. Here is the honest version.

The two protocols, plainly

x402 is the smaller idea, done deliberately small. Coinbase revived the dormant HTTP 402 status code: an agent calls an endpoint, gets a "pay first" response with the amount, asset, network, and recipient, signs a USDC authorization for that exact transfer, and retries. A facilitator verifies and settles on Base. No API keys, no billing account, no human. The traction is real: per Chainalysis, x402 went from near-zero in mid-2025 to over 100 million cumulative transactions on Base through Q1 2026, and in a recent 30-day window did 3.1 million transactions. The mix also matured, with payments of a dollar and up rising from 49% to 95% of volume.

MPP, the Machine Payments Protocol from Stripe and Tempo, takes the same 402 pattern and generalises it. It is defined as an Internet-Draft and is payment-method-agnostic: one protocol that can carry an on-chain stablecoin transfer, a Tempo payment, or a card through a Stripe Shared Payment Token. It adds sessions, described as OAuth for money, where an agent authorises a spending cap once and then streams many small payments without re-approving each one. Its launch partners read like a roster of the internet: Anthropic, OpenAI, Shopify, DoorDash, Mastercard, and more.

What most comparisons get wrong

The standard line is "MPP assumes Stripe as the processor and Tempo as the settlement chain." For MPP’s Stripe method, true. As a description of MPP, incomplete, and the gap is the whole point of this post.

MPP defines an evm method. Under it, the agent signs an EIP-3009 transferWithAuthorization for USDC on an EVM chain like Base, and a facilitator settles it. No Stripe account. No Tempo. That is not a footnote, it is the same on-chain rail x402 runs on, wearing MPP’s discovery and challenge format instead of x402’s. So "crypto versus Stripe" is a false binary. MPP can be crypto. We know, because that is exactly how we ship it: MPP over the evm method, settling on Base, from a UK company that cannot use Stripe’s card rail at all.

What is identical underneath

Strip away the wire formats and the money movement is the same object. In both x402 and MPP’s evm method:

  • The agent signs an EIP-3009 USDC authorization for an exact amount. It is just a signature, so the agent spends no gas.
  • A facilitator verifies the signature and broadcasts the transfer, paying gas itself.
  • Settlement lands as USDC on Base mainnet, to the recipient the challenge named.
  • There is no account and no card. The payment itself is the credential.

Concretely: we settle an MPP evm payment through the same Coinbase CDP facilitator our x402 path uses. An agent paid us $1.00 over MPP with mppx, and the settlement is on-chain, a $1.00 USDC transferWithAuthorization you can verify on BaseScan. Swap the client for an x402 one and the receipt looks the same.

What actually differs

The real differences are about discovery, breadth, and intent, not the dollar.

 x402MPP
OriginCoinbase, now x402 Foundation (Linux Foundation)Stripe and Tempo, Internet-Draft
ScopeOne rail: USDC on an EVM chainMany methods: evm, Tempo, Stripe card
ChallengePAYMENT-REQUIRED headerWWW-Authenticate: Payment header
Discoveryx402 facilitator catalogs, bazaar feedsOpenAPI x-payment-info, MPPScan, Stripe Directory
SessionsPer-requestPer-request and streaming sessions (a spend cap, then many draws)
Default settlementBase, USDCTempo by default; evm settles on Base; Stripe settles fiat
Account neededNoneNone for evm or Tempo; a US Stripe account for the card method
Best whenCrypto-native, simple, low-friction micropaymentsMulti-rail, sessions, cards, Stripe Directory reach

Two notes worth keeping honest. First, MPP’s defaults lean Tempo: its registry, SDK ergonomics, and examples mostly assume the Tempo method, so the evm path takes a little more work to wire and is under-documented today. Second, the x402 numbers carry a caveat from the same Chainalysis analysis: a large share of late-2025 volume was linked to gamed or wash activity, so read the headline counts as direction, not gospel.

Why we accept both

Because asking an agent to carry the right client before it can pay you is a tax you do not need to charge. Our /provision endpoint answers with both an x402 PAYMENT-REQUIRED header and an MPP WWW-Authenticate: Payment challenge. An agent with an x402 wallet pays. An agent with mppx pays. Same endpoint, same settlement, one fewer reason for the payment to fail. Supporting both cost us one extra envelope over a rail we already ran, not a second integration.

It also matches where the money is going. The shift to dollar-scale agent payments is exactly the range a flat $1 to provision sits in, and the discovery surfaces, Stripe Directory on the MPP side and facilitator catalogs on the x402 side, are how an agent finds a service to pay in the first place. Being in both is cheap insurance against guessing which directory your next customer searches.

How to choose, if you must

If you are wiring payments into your own API and want a single answer: pick x402 when you want the smallest possible thing, crypto-native and pay-per-request, and you do not need cards or sessions. Pick MPP when you want multiple rails behind one protocol, streaming sessions, or the discovery reach of Stripe Directory, and you can either use the Stripe method (US account) or are happy to settle the evm method on-chain. Pick both when you simply want the widest set of agents to be able to pay you, which for a host is the whole game.

For the record, we are the both case. If you run an agent, you can pay us either way today, and the deeper how-it-works is on our x402 and MPP pages. If you build agent products, the point under the protocol war is the one to sit with: your next customer might be software, and it helps to take its money however it shows up.

FAQ

Frequent questions

What is the difference between MPP and x402? +
x402 is a minimal open standard from Coinbase: a server returns HTTP 402 with payment terms, the agent signs a USDC authorization and retries, and a facilitator settles it on-chain (usually Base). MPP, from Stripe and Tempo, is a payment-method-agnostic framework over the same 402 idea: it supports several methods (an on-chain evm method, a Tempo method, and a Stripe card method via Shared Payment Tokens) and adds sessions for streaming spend. x402 is one rail done simply; MPP is many rails behind one protocol.
Is MPP only for Stripe and Tempo? +
No. MPP is often described as assuming Stripe as the processor and Tempo as the settlement chain, and its Stripe method does. But MPP also defines an evm method that settles an EIP-3009 USDC transfer on a chain like Base, with no Stripe account and no Tempo. That evm method is the same on-chain rail x402 uses. Stacktree runs MPP over the evm method, which is why a UK business can ship it.
Can one API accept both MPP and x402? +
Yes. The two are wire formats over the same money movement: an EIP-3009 USDC authorization a facilitator settles on Base. Stacktree answers /provision with both an x402 PAYMENT-REQUIRED header and an MPP WWW-Authenticate Payment challenge, so an agent carrying either an x402 client or an MPP client like mppx can pay the same endpoint. We verified a real mppx payment settling on-chain.
Which is better for AI agent payments, MPP or x402? +
They are not in direct competition; they sit at different points. x402 is the lighter choice for crypto-native, low-friction, pay-per-request micropayments on an open network. MPP fits multi-rail, enterprise-friendly, session-based commerce that may include cards and physical goods, and it comes with Stripe Directory discovery. If you accept agent payments and do not want to bet on which client an agent carries, support both.
Does MPP require a Stripe account, or is it US-only? +
Only MPP’s Stripe method (Shared Payment Tokens) needs a US Stripe account today. The evm and Tempo methods settle on-chain to a wallet and are not region-locked. So "MPP is US-only" is a misread: it applies to one method, not the protocol.
Which does Stacktree use? +
Both, settling the same way. We accept x402 (v1 and v2) and MPP over the evm method, both as EIP-3009 USDC on Base mainnet through an x402 facilitator. After an agent provisions, the same a-la-carte unlocks apply over either rail.
Keep reading

Related guides

References

Sources and further reading

Your next customer might be an agent.

Stacktree gives agents a private link in one call, and takes their payment over MPP or x402, with no human. Start free.

Sign up free →