Machine Payments Protocol

MPP on Arc

Bringing session-based machine payments to Arc chain.
Himess · github.com/Himess/mppx-arc

Two Protocols, One Chain

x402 (V2)

Coinbase
  • Per-request on-chain settlement
  • Plugin-based SDK, multi-chain
  • Wallet-based identity sessions
  • Facilitator-verified payments
  • Already on Arc

MPP

Stripe / Tempo
  • Session channels — off-chain vouchers
  • SSE streaming — pay per token
  • No facilitator — server verifies directly
  • IETF standardized (RFC draft)
  • Now on Arc (experimental)
Both use USDC. Both use HTTP 402. Both are actively evolving.

Real Use Cases

AI Agent making 500 API calls/minute
x402: 500 on-chain transactions per minute. MPP: 1 channel open + 499 off-chain vouchers. Same security, fraction of the cost.
LLM service charging per token
Pay $0.0001 per token as it streams. x402 can't do this — you'd need a separate payment cycle for each word.
Data feed with continuous polling
Agent polls price data every second for an hour. x402: 3,600 transactions. MPP: 1 transaction + 3,599 vouchers at ~3ms each.

100 API Calls

x402
100
on-chain transactions
MPP Session
1
on-chain tx + 99 off-chain vouchers
Same security guarantees. 99% less gas. ~3ms per request.

How Sessions Work

Agent Server
 
── Open channel (deposit USDC) ──► 1 on-chain tx
 
── Voucher #1 ──────────────────► off-chain ~1ms
── Voucher #2 ──────────────────► off-chain ~1ms
── Voucher #3 ──────────────────► off-chain ~1ms
── ... hundreds of requests ...
 
Server auto-settles when threshold is reached

What We Built

Escrow contract — deployed & verified
Full mppx plugin interface
Charge — push + pull (ERC-3009)
Session channels + auto-settle
SSE streaming — pay per token
HTML payment page for browsers
USDC only — Arc's native currency
IETF-style spec + architecture doc
110
Tests (0 failures)
32
Solidity (incl. fuzz)
78
TypeScript (incl. integration)
MIT
Open source license

Live Demo

Let's see it in action.

Experimental Work

Both x402 and MPP are rapidly evolving — features and architecture can change at any time. What's shown here reflects the current state of both protocols.

github.com/Himess/mppx-arc · MIT License · Feedback welcome

1 / 6