MPP (Machine Payments Protocol): machine-to-machine payments
What MPP (Stripe + Tempo Labs) is, how it differs from x402, how to declare support, and how we verify it.
Updated:
What it is
MPP (Machine Payments Protocol) is an open machine-to-machine payment protocol from Stripe and Tempo Labs (March 2026). It formalises HTTP 402 for agent payments, but is broader than x402: it accepts both stablecoins and cards in a single HTTP request, and adds a session primitive for streaming transactions (subscriptions, long-running tasks).
Why it matters for AI agents
As the AI economy grows, agents buy services from other agents. MPP gives a common language for those transactions, lowering the barrier by supporting traditional cards alongside stablecoins.
| x402 | MPP | |
|---|---|---|
| Author | Coinbase | Stripe + Tempo Labs |
| Methods | Stablecoins (USDC) | Stablecoins + cards |
| Sessions | No | Session primitive (streaming) |
How to declare support
In ai-agent.json:
{ "payments": { "mpp": "https://api.example.com/mpp" } }
Or via a Link header:
Link: <https://api.example.com/mpp>; rel="mpp-endpoint"
Full integration means implementing an MPP endpoint per the mpp.dev spec. The
session primitive is for streaming services where a transaction spans time.
Right vs wrong
| Right | Wrong |
|---|---|
A payments.mpp or rel="mpp-endpoint" declaration | Support exists but isn’t declared |
| The endpoint actually implements the MPP flow | A stub at the URL |
| Session primitive for streaming | A one-shot flow where a session is needed |
Common mistakes
- No declaration — the agent never learns of support.
- A stub endpoint with no real flow.
- Confusing MPP with x402 — different protocols; declare the one you actually support.
How to verify
The MPP check is informational (doesn’t affect the score). The scanner looks for
a declaration: a payments.mpp field in /.well-known/ai-agent.json, or a Link
header with rel="mpp-endpoint". Actual payment processing isn’t tested.
curl -s https://example.com/.well-known/ai-agent.json | jq '.payments.mpp'
curl -sI https://example.com/ | grep -i 'mpp-endpoint'