x402 vs MPP: which rail should an AI agent pay on?

Short answer: x402 and MPP are diverging, not converging — x402 is a family of on-chain payment schemes attached to HTTP 402; MPP is a payment-method-agnostic HTTP authentication framework from Stripe and Tempo that also covers cards and Lightning. You do not have to choose one: both can run on the same endpoint. The choice that actually matters is neither rail — it is whether anything scores the payment before settlement becomes final.

On x402, exactly one scheme creates a window for that decision: auth-capture, which holds funds in escrow instead of transferring them immediately. We deployed it on Arc mainnet today. The receipt is below.

The receipts, dated

FactReceipt
x402: 191,751,598 cumulative transactions across 12 chains as of October 11, 2026; Coinbase reported over 97% of Q2 2026 onchain agentic transactions used x402agenteconomy.to figures as reported by CVJ, October 11, 2026
MPP: 46,198 cumulative events since its March 2026 launch by Stripe and Tempo; early Visa/Artemis data showed roughly 115,000 transactions and about $25,000 settled in its first weeksCVJ, October 11, 2026 (summarizing MPP and Visa/Artemis reporting)
An estimated 25–30% of x402 activity may be test or leaderboard noise — the headline count overstates commerceBigGo Finance estimate, via CVJ, October 2026
XRPL alone passed 13 million x402 agent payments by October 10, 2026, across 168 registered merchants — roughly 25% of ledger activityRippleX engineering head J. Ayo Akinyele, October 10, 2026, via CoinDesk/CryptoNews reporting
Circle's Facilitator Service settles x402 USDC payments on Arc, Base, and Polygon PoS with no relayer keys or separate gas wallets for sellersCircle/Arc launch announcement, September 19, 2026
AuthCaptureEscrow deployed on Arc mainnet by ScriptMasterLabs, Sourcify-verified exact match (creation and runtime)October 13, 2026 — address and deploy transaction in the Claim Receipts below

The wire-level difference (the part the metrics stories skip)

x402MPP
Core modelOn-chain payment schemes attached to a requestAn HTTP authentication framework for machine payments
ChallengePAYMENT-REQUIRED header on a 402 responseWWW-Authenticate: Payment
CredentialPAYMENT-SIGNATURE headerAuthorization: Payment
ReceiptPAYMENT-RESPONSE headerPayment-Receipt header
RailsRegistered blockchain networks and tokensStablecoins, cards, Lightning, and custom methods
Usage billingupto and batch-settlement schemesPayment-method intents, including sessions
Standards pathx402 Foundation specification (Linux Foundation)Payment HTTP Authentication Scheme submitted to the IETF

Source: Tempo's own MPP-vs-x402 documentation, paraphrased — and note who wrote it. Tempo's guidance defaults builders to MPP when multiple rails are needed and to x402 when a service exclusively needs on-chain payments whose schemes match its billing model. That is a vendor's framing, honestly labeled as such in its own docs, and it is still the most precise comparison available. What neither the vendor docs nor the metrics journalism asks is the next question.

The numbers are not comparable — and neither rail answers the expensive question

191.7 million against 46,198 looks like a rout until you read the units: an MPP event is not an x402 transaction, MPP sessions amortize many calls into one funding event, and a quarter to a third of the x402 count may not be commerce at all. Strip the vanity metrics and the honest position is: x402 owns today's on-chain agent volume; MPP owns the card-and-compliance on-ramp; both are settlement plumbing.

Plumbing is the problem. In x402's default exact scheme, a signed authorization settles immediately — there is no moment at which a bad instruction can be caught. In MPP, a session pre-funds future calls — the decision is made once, at funding time, not per purchase. Both rails move money competently. Neither scores whether this payment, for this resource, at this price, should fire at all. That is the decision-gate pattern: confidence at or above 0.80 auto-pays, 0.50–0.79 holds for a human, below 0.50 escalates and blocks — see decision-gated machine payments.

The one structural window: auth-capture

x402 has a second EVM scheme the comparison pages barely mention: auth-capture. Instead of transferring funds to the merchant, the buyer's single signature (ERC-3009 or Permit2) is submitted to an AuthCaptureEscrow contract, where funds are held under a capture authorizer. From the hold, the payment can be captured (settled to the merchant), voided (released before capture), or refunded (after capture) — the card world's authorize/capture semantics, on-chain. That hold is precisely where a decision gate belongs: authorize first, score the instruction, then capture or void on the score.

Our earlier competition pass over the facilitator landscape found budget caps crowded (Coinbase CDP, Nevermined, piprail, Cloudflare all ship them) and auth-capture unimplemented by the facilitators we reviewed. So we built the missing piece on the newest rail:

Paired with a scored decision, the flow becomes: agent requests → 402 challenge (auth-capture scheme) → buyer authorizes → funds held in escrow → gate scores the instruction → capture on approval, void on refusal. The decision is no longer advice stapled to an irreversible transfer; it is a step inside the payment's own lifecycle.

Quotable: "ScriptMasterLabs deployed an AuthCaptureEscrow contract on Arc mainnet on October 13, 2026 and Sourcify-verified it with an exact match — putting a capture/void window, where a decision gate can score an agent's payment before settlement, onto the newest x402 chain."

Claim Receipts

Relevant SML products

Do it yourself: pick a rail, then add the missing layer

  1. Run both protocols on one endpoint. Tempo's mppx speaks MPP and x402, so adopting one does not exclude the other's clients. Choose per-route: x402 where on-chain settlement and scheme fit matter, MPP where card-funded agents matter.
  2. Use auth-capture wherever a payment might need to be undone. Anything above a trivial amount, anything delivered asynchronously, anything an agent chose on inferred intent — authorize into escrow, do not settle on signature alone.
  3. Score inside the capture window:
    curl -s https://scriptmasterlabs.com/api/harness/decide \
      -X POST -H "Content-Type: application/json" \
      -d '{"state":"agent authorized 0.25 USDC into AuthCaptureEscrow on Arc for an API dataset",
           "questions":[{"id":"q1","type":"score","scale":[0,1],
             "question":"Should this payment be captured, given the instruction, price, and merchant?"}]}'
  4. Wire the bands to the escrow calls. Score ≥0.80 → capture. 0.50–0.79 → hold the authorization open and ask a human. <0.50 → void and log the refusal with the score. The log is your dispute evidence.
  5. Keep the receipt. Persist the instruction, score, band, and capture/void transaction together. A payment record alone cannot reconstruct why money moved.

Honest caveats

SCRIPTMASTERLABS · READ · EXPLORE · VERIFY · EARN

Books, free tools, sources & affiliate opportunities