Table of Contents
Agents that can call your API still stall when the bill requires a human checkout. Stripe Machine Payments Protocol (MPP) turns that HTTP 402 into a pay-per-call loop that settles into your existing Stripe balance.
The named object is Stripe Machine Payments Protocol (MPP) accepting USDC (Tempo USDC.e plus Solana USDC) into Stripe balance via mppx, a Stripe profile networkId, and crypto deposit addresses. That is not Stripe x402 on Base, not Stripe Link stablecoin checkout for humans, and not a Coinbase Business Checkouts acceptance path.
Facts below come from Stripe's Machine payments, MPP, and MPP quickstart docs, plus the Machine Payments Protocol announcement (March 18, 2026). No invented fee percentages, unsupported networks, or general-availability dates.
Key Takeaways
- MPP is co-authored by Stripe and Tempo: HTTP 402 challenge, agent pays, retry with credential, PaymentIntent, receipt.
- Install with npm install mppx stripe; pass your Stripe profile ID as networkId (Business Profiles API, Stripe-Version preview).
- Stablecoin minimum is $0.01 USDC; Shared Payment Tokens (SPTs) minimum is $0.50.
- MPP networks are Tempo USDC.e and Solana USDC; Stripe x402 uses Base USDC (covered in a separate SCI post).
- Enable Stablecoins and Crypto PM; US states OK except New York; non-US sellers email machine-payments@stripe.com.
Who this is for
Use this path if you are a payments or API engineer, or a fintech PM, monetizing agent traffic on an HTTP API and you already run Stripe.
Skip it if you need Stripe x402 on Base (see How to Accept x402 USDC Payments on Stripe), human Link stablecoin checkout (see How to Enable Stablecoins on Stripe Link), a facilitator comparison for x402 (see How to Choose an x402 Facilitator for USDC), or Coinbase-side agent acceptance (see Coinbase Business Checkouts).
What Stripe MPP is (and is not)
MPP is an open protocol co-authored by Stripe and Tempo. An agent requests a paid resource. Your server returns HTTP 402 with payment requirements. The agent authorizes payment, retries with a credential, your server records a PaymentIntent with Stripe, and the agent receives the resource plus a receipt.
Payments land in your Stripe balance and settle in fiat like other Stripe charges. Refunds, reporting, Connect charge types, and Dashboard workflows stay on the same stack, according to Stripe's machine payments overview.
Stablecoin Insider's take: treat MPP as the seller-side Stripe profile + mppx path for agents that can satisfy an HTTP 402 challenge. Treat x402 on Stripe as a different protocol lane on Base. Do not collapse them in your runbooks.
| Dimension | Stripe MPP (this post) | Stripe x402 (other SCI post) |
|---|---|---|
| Protocol | Machine Payments Protocol (MPP) | x402 |
| Stablecoin networks | Tempo USDC.e; Solana USDC | Base USDC |
| Seller stack | mppx + Stripe profile networkId + depositAddresses | x402 on Stripe (Base USDC) |
| Card path | Shared Payment Tokens (SPTs), min $0.50 | Not the focus of the x402 USDC how-to |
| Stablecoin min | $0.01 USDC (Tempo uses USDC.e) | USDC on Base (see x402 Stripe guide) |
| SCI guide | This article | How to Accept x402 USDC Payments on Stripe |
Step 1: Prerequisites and availability
Create a Stripe profile in the Dashboard and store the profile_ ID. You pass that value as networkId when you create the MPP endpoint. Stripe documents retrieving it via the Business Profiles API with a preview Stripe-Version header.
For stablecoin payments, enable the Stablecoins and Crypto payment method. Availability: all US states except New York. Outside the US, email machine-payments@stripe.com with your Stripe account ID to request access in 30+ countries.
SPTs (card grants scoped for agents) are available to US businesses in all states, and outside the US in Stripe-supported countries per Stripe's machine payments docs. SPT minimum is $0.50. Stablecoin minimum is $0.01 USDC.
Step 2: Install mppx and wire the 402 endpoint
Install the seller SDK and Stripe client:
npm install mppx stripe
Stripe's Node quickstart creates an mppx instance with stripe.create({ client, networkId, livemode }), then Mppx.create({ methods: stripeMachinePayments.defaultMethods(), secretKey }). The handler calls mppx.charge({ amount: '0.50' }), returns the 402 challenge when unpaid, and withReceipt(...) when paid.
Derive a challenge-binding secret from your Stripe secret key (HMAC as shown in Stripe's sample) so challenges cannot be forged across requests.
Step 3: Add Tempo (and Solana) USDC deposit addresses
By default the quickstart endpoint supports SPTs. To accept stablecoin micropayments, create a crypto deposit address and attach it under depositAddresses.
Stripe documents creating an address with POST /v1/crypto/deposit_addresses and network=tempo (preview Stripe-Version). Store the returned address as TEMPO_DEPOSIT_ADDRESS, then pass depositAddresses: { tempo: process.env.TEMPO_DEPOSIT_ADDRESS } into stripe.create. Stripe offramps those payments into your Stripe balance.
MPP also lists Solana USDC as a supported stablecoin network on the machine payments overview. Wire Solana the same way only when your Stripe docs and Dashboard expose the matching deposit network parameter. Keep deposit-address creation off the hot request path.
If you already bridge Tempo USDC for treasury ops, see How to Create a Bridge Liquidation Address for Tempo USDC for Bridge-side liquidation patterns. That guide is adjacent treasury tooling, not a substitute for Stripe's crypto deposit address on the MPP seller endpoint.
Step 4: Fee sponsorship, Directory listing, and testing
Stripe can sponsor Tempo network fees in private preview so you do not run a fee-payer wallet. Request access by emailing machine-payments@stripe.com with your Stripe account ID.
After integration, submit for Stripe Directory listing with the same inbox: business name, account ID, profile ID, llms.txt (and agent skills), whether you accept SPTs, stablecoins, or both, plus one to three example prompts.
Validate end-to-end with:
npx mppx@latest validate http://localhost:4242
Run validate against sandbox and live. For SPT manual tests, Stripe points to link-cli (npx @stripe/link-cli). For crypto, install the Tempo CLI, fund a wallet, and tempo request against your paid path. Live deposit addresses move real funds.
Stablecoin Insider's take
What to do Monday
Claim or confirm your Stripe profile ID, enable Stablecoins and Crypto if you are eligible, install mppx, stand up a sandbox 402 endpoint, create a Tempo deposit address, attach it under depositAddresses, then run mppx validate before you touch live keys.
For protocol context beyond Stripe's implementation, see x402 protocol and Stripe, Tempo, and x402. For accepting x402 from agents outside Stripe MPP, see How to Accept x402 USDC Payments from AI Agents.
Ready to wire the 402 challenge? Start from Stripe's MPP guide, then differentiate x402 Base USDC in your runbooks.
FAQ
What is Stripe Machine Payments Protocol (MPP)?
MPP is an open protocol co-authored by Stripe and Tempo that lets agents pay for APIs over HTTP 402 without a checkout UI. Stripe settles successful payments into your Stripe balance.
How is Stripe MPP different from Stripe x402?
MPP accepts Tempo USDC.e and Solana USDC (plus SPTs for cards). Stripe's x402 path uses Base USDC. Use separate SCI guides and separate seller wiring for each.
What is the minimum USDC charge on Stripe MPP?
Stripe documents a $0.01 USDC minimum for stablecoin machine payments. Tempo transfers use USDC.e. SPTs for cards start at $0.50.
Which package do I install for Stripe MPP?
Install mppx and stripe with npm install mppx stripe, then pass your Stripe profile ID as networkId when creating the Stripe machine-payments helper.
How do I create a Tempo deposit address for MPP?
Call Stripe's crypto deposit addresses API with network=tempo (preview Stripe-Version), store the address as TEMPO_DEPOSIT_ADDRESS, and pass it in depositAddresses.tempo.
Where is stablecoin MPP available?
Stripe lists all US states except New York. Non-US businesses should email machine-payments@stripe.com with their Stripe account ID to request access.
How do I test an MPP endpoint?
Run npx mppx@latest validate against your local URL. Use link-cli for SPT tests and the Tempo CLI for crypto tests. Sandbox keys keep livemode false.
Can Stripe sponsor Tempo network fees?
Yes, fee sponsorship is a private preview. Email machine-payments@stripe.com with your Stripe account ID to request access.
This content is provided for informational and educational purposes only and does not constitute financial, investment, legal, or tax advice; no material herein should be interpreted as a recommendation, endorsement, or solicitation to buy or sell any financial instrument, and readers should conduct their own independent research or consult a qualified professional.