Guide · Updated 2026
x402 vs MPP: HTTP micropayments compared
Two ideas keep showing up in agent commerce: x402 (pay for an HTTP resource with a 402 challenge) and MPP-style models (micropayment / prepaid channel patterns for streaming or session value). This guide is the practical comparison — not a standards-body document.
One-line difference
- x402 — resource-scoped: “this request costs X; pay then retry.” Great for APIs, articles, tool calls.
- MPP-style channels — session-scoped: open a balance or channel, meter usage, settle periodically. Great for streams, long agent sessions, chat tokens.
Side-by-side
| Dimension | x402 | MPP-style |
|---|---|---|
| HTTP signal | 402 + machine price tag | Often 200 with balance headers / side channel |
| Unit of pay | Per request / resource | Per session, second, or token |
| Discovery | GET unpaid → accepts[] | Open channel / quote endpoint |
| Agent fit | Excellent for tool calls | Excellent for long-running agents |
| Solana fit | USDC transfer / facilitator or on-chain proof | Channels / streaming settle designs |
| UX for humans | One-shot paywall feel | Tab-open prepaid feel |
| Failure mode | Retry with new proof / nonce | Top up channel |
When to choose x402
- APIs where each call has a clear price
- You want standard HTTP semantics agents already understand
- Facilitators (e.g. CDP, public Solana facilitators) can settle USDC
- You are okay with “challenge → pay → retry” latency per resource
When MPP-style fits better
- Streaming responses or many tiny increments per second
- You want one authorization for a whole agent session
- Metering logic is continuous rather than resource-keyed
Can you use both?
Yes. Common pattern: x402 to open or top up a session balance, then meter inside the session with MPP-like accounting. Ship x402 focuses on the x402 leg because it is the clearest on-ramp for Solana + agents today.
Try it here
Educational loop (no real USDC): /api/x402/lab or the lab tab in /app. Builder guide: Ship an x402 API on Solana.