Full-Code · Orchestration Frameworksactive

Machine Payments Protocol (MPP)

Type: full-code · Vendor: Stripe and Tempo · Language: TypeScript, Python · Status: active · Status in practice: emerging · First released: 2026-03-18

Links: homepage docs

Open HTTP-native machine-payment protocol (Stripe and Tempo) that standardises HTTP 402 with a Challenge-Credential-Receipt flow so an agent can pay for any service in the same request, across stablecoin and fiat rails.

Description. MPP launched on 2026-03-18 with support from Mastercard, OpenAI, Shopify, Anthropic, DoorDash, Visa, Ramp, Revolut, and others. It standardises the HTTP 402 Payment Required status code (with an authentication scheme proposed to the IETF) into a three-step flow: Challenge (the server returns 402), Credential (the agent constructs a proof of payment), and Receipt (the server verifies and confirms). MPP is payment-rail agnostic — stablecoins, cards, Stripe Shared Payment Tokens, and Bitcoin via Lightning — and supports session-based metered payments.

Agent loop shape. Payment protocol rather than an agent loop. Step 1 Challenge: the agent requests a resource and the server returns HTTP 402 Payment Required. Step 2 Credential: the agent selects a payment method and constructs a Credential proving payment. Step 3 Receipt: the server verifies the Credential and returns a Receipt confirming the transaction. A session lets the agent pre-authorise a budget and stream metered payments within it.

Primary use cases

  • an agent paying for an API or resource inline by answering an HTTP 402 challenge
  • metered, streamed micropayments within a pre-authorised session
  • rail-agnostic machine-to-machine payments (stablecoin, card, Lightning)

Key concepts

  • HTTP 402 Challenge-Credential-Receipt agent-initiated-payment (docs)The three-step machine-payment flow standardising HTTP 402 Payment Required across any payment network.
  • Session intent for metered payments session-scoped-payment-authorization (docs)An agent pre-authorises a budget and streams metered payments within a session instead of paying per transaction.
  • Payment-rail agnostic (docs)Works across stablecoins, cards, Stripe Shared Payment Tokens, and the Lightning network.

Patterns this full-code implements —

References

Provenance

  • Last analyzed:
  • Last updated:
  • Verification status: partial