Menu
ByteByteGo·September 28, 2026

Machine Payments Protocol (MPP) for AI Agents

The Machine Payments Protocol (MPP) is an emerging standard designed to enable autonomous AI agents to conduct online transactions programmatically, moving beyond human-centric payment flows. It addresses the inherent friction in current payment systems by standardizing the interaction between services and agents for payments, enabling efficient, micro-transactions without human intervention. This protocol aims to become the universal language for machine-to-machine payments on the internet.

Read original on ByteByteGo

The Evolution of Internet Payments and AI Agents

Historically, internet commerce has been built on the assumption that customers are human, leading to payment interfaces designed for human interaction (e.g., browsing, filling forms, clicking buttons). However, with automated systems generating over half of web traffic and AI agents evolving into autonomous entities capable of planning and executing actions, this human-centric payment model creates significant friction. AI agents require a standardized, programmatic way to negotiate and settle payments without human intermediaries. The Machine Payments Protocol (MPP) emerges as a solution to this fundamental shift, creating an interface that allows AI agents to seamlessly interact with services for payment, irrespective of the underlying payment method.

Core Components and Flow of MPP

MPP standardizes the negotiation of payment terms between a service and an AI agent, leveraging HTTP headers for communication. The protocol defines three core objects to manage this interaction:

  • Challenge: Sent by the server in a `WWW-Authenticate: Payment` header, it specifies the payment requirements (amount, currency, recipient, payment method, offer validity).
  • Credential: Sent by the client (AI agent) in an `Authorization: Payment` header, it provides proof of payment (e.g., signed transaction, invoice, card token).
  • Receipt: Returned by the server in a `Payment-Receipt` header, confirming successful settlement and access to the requested service.

The payment flow involves the agent requesting a service, the server responding with a `402 Payment Required` and a Challenge, the agent authorizing and providing a Credential, and finally, the server verifying and granting access along with a Receipt. Crucially, servers must not perform side effects for unpaid requests, and Credentials are single-use for security.

Addressing Micro-payments with Sessions

A key challenge for agentic payments is the economic viability of micro-transactions. Traditional payment systems incur flat fees that make settling very small amounts (pennies) more expensive than the transaction itself, leading to reliance on subscriptions or bundles. MPP introduces the concept of sessions to overcome this. An agent can initiate a session by depositing a reserve of funds. Subsequent micro-transactions within that session are acknowledged via signed IOUs ("I Owe You"), which are quickly verified without immediate settlement. Only at the end of the session, or when a certain threshold is met, are all accumulated IOUs settled in a single, real transaction. This amortizes the processing fee across numerous requests, making micro-payments economically feasible for agents.

💡

System Design Implication: Payment Rails

MPP itself is payment-method agnostic. It defines the communication protocol, while individual payment rails (card networks, blockchain, payment processors) can write their own specifications for how they integrate with the core MPP. This open design promotes interoperability and prevents vendor lock-in, crucial for a universal internet payment language.

Architectural Considerations for Agentic Payment Systems

Implementing MPP requires careful consideration of security, idempotency, and state management. Agent configurations must include spending caps and permitted recipients for delegated keys to prevent runaway agents. Proofs of payment must be single-use to prevent replay attacks, and verification failures should return specific structured problem documents (e.g., `payment-insufficient`, `invalid-challenge`) for agents to interpret and correct. The design must ensure that system state changes only occur after a payment is successfully verified and settled, upholding transaction integrity.

http
HTTP/1.1 402 Payment Required
WWW-Authenticate: Payment id="challenge-123", method="stripe", intent="charge", amount="0.01", currency="USD", recipient="acct_123"
Content-Type: application/problem+json

HTTP/1.1 200 OK
Payment-Receipt: id="receipt-456", status="settled", transaction_id="tx_789"
Content-Type: application/json

{ "data": "requested_resource_content" }
AI AgentsPaymentsProtocol DesignHTTPMicroservicesScalabilityMachine-to-MachineFintech

Comments

Loading comments...