Machine paymentsReviewed

MPP

Machine Payments Protocol

Tempo and Stripe / MPP project

Active project · IETF draft expired
Stefan Hamann · English
Text

What MPP enables

MPP enables machine payments when a web service is accessed. The server requests payment and the client responds with evidence. Alongside individual payments, the project supports sessions for ongoing use of a service.

Connections with other protocols

  • MPP, x402 and L402 enable paid access to web resources. Each uses its own flows and payment evidence.
  • MPP separates the common payment flow from the payment methods connected to it. The selected method determines how payment is performed and demonstrated.

Versions and licence

Published version
No separate version stated
Working draft
draft-ryan-httpauth-payment-01

The individual Internet-Draft has expired and is archived; its latest revision is dated 17 March 2026. The project was publicly launched on 18 March 2026.

Licence / terms
Repository specifications: CC0 1.0; repository tooling: MIT OR Apache-2.0. IETF documents follow IETF Trust rules; SDKs use their respective package licences.
Licence and terms ↗

An example flow

  1. An agent accesses a paid service.
  2. The server specifies payment requirements and a supported payment method.
  3. The client pays or creates the required evidence. The server verifies it and delivers the service.
  4. For repeated requests, the integration can use a session to account for ongoing usage.

SDKs and examples

These libraries and examples help you get started. Each entry lists the language, package and supported version.

From the protocol projectPython

pympp

Includes: Python SDK

Package / module: pympp

Version & compatibility: Pin a revision before integration

From the protocol projectGo

mpp-go

Includes: Go SDK

Package / module: github.com/tempoxyz/mpp-go

Version & compatibility: Pin a revision before integration

From the protocol projectRust

mpp-rs

Includes: Rust SDK

Package / module: mpp

Version & compatibility: Pin a revision before integration

From the protocol projectRuby

mpp-rb

Includes: Ruby SDK from Stripe

Package / module: mpp-rb

Version & compatibility: Pin a revision before integration

Practical integration

  • The project documentation describes individual payments and sessions. Select examples and SDKs for the payment flow you need.
  • The linked IETF draft draft-ryan-httpauth-payment-01 has expired and is archived. Current project development is available through mpp.dev and the SDK repositories.

Related protocols

Original sources