# Machine payments protocol: Stripe MPP explained for agents

The Machine Payments Protocol (Stripe MPP) explained: the 402 flow, shared payment tokens, Link's wallet for agents, and what a seller must build to accept it.

## Summary

The Machine Payments Protocol, MPP for short, is an open standard from Stripe and Tempo that lets an AI agent pay for an API inside the HTTP request. The server answers 402 with a payment challenge, the agent pays with stablecoins or a card token and retries, and the server returns the data with a receipt. Stripe settles the money into the seller's Stripe balance.

This post covers the three Stripe pieces people mix up: MPP itself, shared payment tokens, and Link's wallet for agents. Then it lists what a seller must build, and what looot does today. Every fact comes from Stripe's and mpp.dev's own pages, read on 2026-10-14.

Note: What looot accepts today: a prepaid balance paid on a Stripe-hosted Checkout page, by a person. The agent shows the Checkout link and never enters card details. looot does not accept MPP or shared payment tokens yet. Setup is on [Pay looot from your agent](https://docs.looot.ai/money/pay-from-your-agent).

## What the machine payments protocol is

Stripe announced MPP on March 18, 2026 as "an open standard, internet-native way for agents to pay", co-authored with Tempo ([Stripe blog](https://stripe.com/blog/machine-payments-protocol)). It accepts "stablecoins as well as fiat with cards and buy now, pay later payment methods". For a Stripe business, the funds "settle into a business's existing balance, in their default currency, and on their standard payout schedule".

The protocol lives at [mpp.dev](https://mpp.dev/overview), with IETF drafts and official SDKs maintained by Tempo Labs and Wevm. It names three kinds of payment, charge, session and subscription, and runs over HTTP, MCP and JSON-RPC, and WebSocket.

## How an MPP payment works

The mpp.dev overview gives the flow in five steps:

1. The agent requests the resource, for example `GET /resource`.
2. The server returns `402 Payment Required` with a `WWW-Authenticate: Payment` header, the challenge.
3. The agent pays: it signs a transaction, pays an invoice or completes a card payment.
4. The agent retries with an `Authorization: Payment` header that carries the credential.
5. The server checks the payment and answers `200 OK` with a `Payment-Receipt` header.

That is the same shape as x402, which uses its own header names. Our [x402 explainer](https://looot.ai/blog/what-is-x402-http-402-payments-for-agents) walks through those. mpp.dev says the SDK added "x402 exact flows" on June 8, 2026, so one client can speak both.

## Shared payment tokens: how cards travel in Stripe MPP

A shared payment token, or SPT, is how a card reaches a seller without the card number. Stripe's docs say SPTs "grant sellers scoped access to customers' payment methods for agent-initiated purchases" ([Stripe SPT docs](https://docs.stripe.com/agentic-commerce/concepts/shared-payment-tokens)). Each token carries usage limits: a maximum amount, a currency and an expiry.

SPTs are available "in the US, Canada, and select European countries". Since March 3, 2026, they also carry Mastercard Agent Pay and Visa Intelligent Commerce, and Stripe says "any seller already processing payments with Stripe automatically supports these new payment methods for agentic transactions" ([Stripe blog](https://stripe.com/blog/supporting-additional-payment-methods-for-agentic-commerce)). That covers Stripe's agentic checkout flows. An MPP endpoint is still code the seller writes.

## Link's wallet for agents: the buyer side

On April 29, 2026 Stripe launched Link's wallet for agents, built on its Issuing for agents ([Stripe blog](https://stripe.com/blog/giving-agents-the-ability-to-pay)). An agent connected to your Link account asks for money with a spend request. You approve it in the Link app, and Link returns a one-time card or an SPT.

Stripe says "each request requires the person's review before the credential is shared with your agent". Spending limits that let an agent act without approval are planned, not available yet. Stripe's `link-cli` makes these one-time SPT credentials from a terminal, which is one way an agent gets a card token to answer an MPP challenge.

## What a seller must build to accept MPP

Stripe's MPP guide lists the seller steps ([Stripe MPP docs](https://docs.stripe.com/payments/machine/mpp)):

1. Create a Stripe profile in the Dashboard and keep its id.
2. Install the SDK with `npm install mppx stripe`.
3. Write an endpoint that returns a 402 challenge until it gets a valid payment.
4. For stablecoins, create a crypto deposit address. Stripe "automatically offramps these payments and settles them into your Stripe balance".
5. Test with `mppx validate`, which checks discovery, challenge formats and errors.

The guide uses a preview API version, `2026-07-29.preview`. Minimums apply: a card payment through an SPT is at least 0.50 USD and a stablecoin payment at least 0.01 USDC ([Stripe MPP docs](https://docs.stripe.com/payments/machine/mpp), read 2026-10-14). A data call that costs a cent cannot go over a card SPT one call at a time.

## Stripe MPP vs a prepaid balance

|  | Stripe MPP | Prepaid balance |
|---|---|---|
| Who pays | The agent, per request | A person, once per top-up |
| Card minimum | 0.50 USD per SPT payment | The top-up minimum |
| Small calls | Stablecoins or a session | Drawn from the balance |
| Seller work | An MPP endpoint and a Stripe profile | A hosted checkout and a ledger |

The [agentic payments roundup](https://looot.ai/blog/agentic-payments-how-an-ai-agent-pays-for-an-api) ranks the wallets an agent can pay with, MPP clients included. For one-time cards outside MPP, see [agent cards explained](https://looot.ai/blog/agent-card-one-time-virtual-cards-for-ai-agents).

## What it cannot do

MPP is new and partly in preview. The seller must build and run the endpoint, so an agent can only pay sellers that did. Card SPTs have a minimum and a country list. Link still asks a person for every request. looot does not accept MPP or SPTs today: an agent on looot needs a person to pay the Checkout link once. Last checked 2026-10-14.

## Questions

### What is the machine payments protocol?

It is an open standard from Stripe and Tempo for agents to pay inside an HTTP request. The server answers 402 with a challenge, the agent pays and retries, and the server returns the data with a receipt.

### What is Stripe MPP?

Stripe MPP is Stripe's support for the machine payments protocol. A Stripe business can accept MPP payments by card token or stablecoin, and the money settles into its Stripe balance.

### What is a shared payment token?

An SPT gives a seller scoped access to a customer's payment method for one agent purchase, with a maximum amount and an expiry. The seller never sees the card number.

### Does Link's wallet for agents pay without asking me?

No. Stripe says each request needs your review before the agent gets a credential. Limits that skip approval are planned.

### What does a seller need to accept MPP?

A Stripe profile, the `mppx` SDK, an endpoint that returns a 402 challenge, a crypto deposit address for stablecoins, and a test with `mppx validate`.

### Is MPP the same as x402?

No. Both use HTTP 402. MPP uses `WWW-Authenticate` and `Authorization: Payment` headers and carries cards too. x402 is crypto only. The MPP SDK can run x402 exact flows.

### Does looot accept MPP?

Not yet. looot sells a prepaid balance paid on Stripe Checkout by a person.

## For agents

### Spend a prepaid balance from your agent

```text
Use looot to get the tech stack of the domain stripe.com. First set up https://looot.ai/skill.md. Read the price before the run. If the balance is too low, call top_up and show me the Checkout link. Do not try to pay it yourself.
```
