Skip to content

How to Accept Stripe MPP Payments in USDC (2026)

Accept Stripe Machine Payments Protocol (MPP) USDC micropayments on Tempo and Solana into your Stripe balance with mppx, a profile networkId, and crypto deposit addresses.

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.

📌
Stablecoin Insider's framing: use this guide when you are the seller monetizing agent traffic with MPP on Stripe. Use How to Accept x402 USDC Payments on Stripe when the agent pays over x402 on Base. Use How to Enable Stablecoins on Stripe Link for human Link checkout. Use Stripe, Tempo, and x402 for the product map across those rails.

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.
⚠️
Named downside: stablecoin MPP is unavailable in New York, fee sponsorship and Directory listing both require emailing machine-payments@stripe.com, and Solana deposit wiring should follow Stripe docs as published (Tempo network=tempo is the documented deposit path in the quickstart).

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.

DimensionStripe MPP (this post)Stripe x402 (other SCI post)
ProtocolMachine Payments Protocol (MPP)x402
Stablecoin networksTempo USDC.e; Solana USDCBase USDC
Seller stackmppx + Stripe profile networkId + depositAddressesx402 on Stripe (Base USDC)
Card pathShared Payment Tokens (SPTs), min $0.50Not 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 guideThis articleHow 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.

💡
Optional amounts: defaultMethods() can offer SPT and Tempo at the same charge amount. Use mppx.compose() when you want different prices per payment method (for example $0.50 SPT vs $0.01 USDC).

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

🗣
Stablecoin Insider's take: if your buyers are agents hitting an HTTP API and you already reconcile in Stripe, MPP is the cleanest seller-side path to USDC micropayments on Tempo (and Solana when wired) plus optional SPT cards. Keep x402 Base USDC in a separate integration and a separate SCI runbook so facilitators, networks, and mins do not get mixed in incident response.

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.

How to Accept x402 USDC Payments on Stripe
Seller-side Stripe x402 on Base USDC, distinct from MPP Tempo/Solana deposit addresses.

Ready to wire the 402 challenge? Start from Stripe's MPP guide, then differentiate x402 Base USDC in your runbooks.

Read Stripe MPP docs

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.

Latest