arjan suri ← writing

Tempo & MPP: The Payment Rails Powering AI’s Next Trillion-Dollar Boom

Chalkboard illustration: Tempo connects a blockchain and a card terminal through MPP to AI agents, which reach email, cloud, phone, messaging and shopping services.

TL;DR: Tempo & Stripe's new Machine Payments Protocol (MPP) lets AI agents pay for real-world services over the web using either cards or stablecoins, no custom integrations or API keys required. Built on Tempo’s L1 with extensions from Stripe, Visa, Lightspark and others, it turns HTTP 402 into a universal “paywall + receipt” flow that already works with 40+ services today, from letters and phone calls to image generation and debit cards.

What is Machine Payments Protocol (MPP)?

MPP is an open standard for AI agents to pay anyone/anything, supporting both fiat (normal cash) and crypto (stablecoins). Stripe handles the fiat side, Tempo handles the crypto/blockchain side, and Visa contributed card payment specs. It launched today alongside Tempo's mainnet.

What is Tempo?

Tempo is a new blockchain backed by Paradigm (VC firm w/ 12.7B AUM) and Stripe (you know this one...) that’s optimized for super fast, small, machine-to-machine payments, especially for AI agents paying for APIs, compute, and data. It’s the payment rail behind Machine Payments Protocol (MPP), letting agents pay with stablecoins or other digital dollars while still plugging into existing card and banking networks.

What is x402 and how does MPP improve on it?

x402 is an older, simpler protocol built by Coinbase that also lets AI agents make payments but with some key limitations. It's crypto-native only (no fiat or card support), and it's intentionally minimal by design. The name comes from HTTP status code 402, which has been reserved since the early days of the web and literally means “Payment Required.” When an AI agent hits a paywall, the server returns a 402, and x402 uses that signal to trigger a crypto payment automatically.

It was a clever first step but it only works within the crypto ecosystem, which limits how widely agents can use it in the real world. That's part of what MPP was built to solve.

MPP vs x402 comparison. MPP, built by Stripe and Tempo, is rail-agnostic (stablecoins, cards via Stripe and Visa, Bitcoin via Lightspark) with a formal IETF spec, streaming sessions, receipts and a directory of 100+ services. x402, built by Coinbase, is crypto-native only with a minimalist spec. Both are triggered by HTTP 402, support stablecoins, and are supported by Stripe.
MPP vs x402

How it Works: The Full Flow

An AI agent (the CLIENT) wants something: data, compute, an API response. It sends a standard web request: GET /resource. The server doesn't just hand it over. Instead it fires back a 402 Payment Required, an HTTP error code that's been sitting dormant since the early internet, originally meant for paywalls that never got built. MPP is helping to give it a job.

That 402 response comes with a WWW-Authenticate: Payment header that essentially says “here are the ways you can pay me.” The server offers two rails:

The agent picks one, pays, and now holds a Payment Credential, a cryptographic proof that money moved. It retries the exact same request, this time with an Authorization: Payment header attached. The server checks the proof, confirms settlement happened, and finally returns 200 OK with the resource and a Payment-Receipt, a signed confirmation that delivery occurred.

On the bottom left the diagram shows Protocol Extensions. Visa extended MPP for cards, Lightspark extended it for Bitcoin over Lightning. This is the open-standard part. Anyone can plug into MPP on their own rail.

On the bottom right is the Tempo Mainnet Ecosystem: Anthropic, OpenAI, Visa, Mastercard, Shopify, DoorDash, Nubank, Revolut, Ramp, Standard Chartered. These are the companies that have committed real payment workloads to Tempo's chain on day one.

Sequence diagram of the MPP flow between client and server: request, 402 payment challenge, pay via Tempo or Stripe, retry with an Authorization: Payment header, then 200 OK with a Payment-Receipt header. Side panels show Visa and Lightspark protocol extensions and Tempo mainnet ecosystem backers.
Machine Payment Protocol (MPP) flow

An Agent's POV of MPP + Tempo

What Agents Can Do on Tempo

How I tested it

npm install -g mppx
mppx account create          # wallet: 0xd021...
mppx account fund            # testnet tokens
mppx https://mpp.dev/api/ping/paid   # first paid request ✅

Then validated a real letter order:

mppx -X POST -J '{"recipient_name":"...", "pdf":"..."}' \
  postalform.com/api/machine/mpp/orders/validate
# → $3.40 quote, ready to mail

40 services, zero signups. Wallet is the only credential.

Our Take on Tempo & MPP

We believe that there are still bottlenecks to onboarding agents to MPP and quoting endpoints for each resource, but that’s all expected given the protocol & blockchain just launched mainnet.

Our AI collaborator also came to a conclusion:

“Verdict: Super useful for one-off paid API calls without signup friction. The service discovery (tempo services --search) is genuinely great — finding and calling 40+ APIs without creating a single account is a real unlock for agents.”

And Ideas for Improvement:

“What could be better: The wallet funding flow needs work — testnet is instant but getting real USDC onto Tempo requires bridging, which is still a multi-step human task. Also, mppx worked headless but tempo wallet needed passkeys (browser + biometrics), which is a dealbreaker for server-side agents.”

“Pricing transparency could improve too — most services say ‘dynamic’ pricing with no estimate until you actually hit the endpoint. A --dry-run with cost preview on every service would go a long way.”

Sources & Good Reads

Code snippet from Stripe's post: stripe.paymentIntents.create with payment_method_types crypto, deposit mode, and the tempo network.
from Stripe's post on MPP