Skip to content

Payment protocol · checked 9 November 2026

Agent payment safety checks for Stripe agent payments

Stripe's agent payment stack: Shared Payment Tokens for cards, the Agentic Commerce Protocol for checkout, and machine payments (MPP and x402) for pay-per-call stablecoin and card payments.

What your agent needs to know about Stripe agent payments

When it counts as settled
Card path: a seller creates a PaymentIntent with the SPT and Stripe processes it, so finality follows normal card auth and capture, refunds and disputes. Stablecoin x402 path: the facilitator settles on chain, then the seller records the transaction hash as a PaymentIntent in transaction_verification mode, and payments settle to the Stripe balance in fiat. Treat an x402 payment as settled when the facilitator settle succeeds and the PaymentIntent is confirmed.[3],[4]
Fees
Docs give minimums, not a fee schedule: SPT card payments have a US$0.50 minimum, stablecoin payments 0.01 USDC, and MPP sessions settle at a minimum of 0.01 USDC. For x402 the CDP facilitator handles settlement gas; check the CDP facilitator page for its per-transaction fee. Stripe fees for the crypto payment method are not stated on the pages read.[2],[4]
Stablecoins
Per Stripe's machine payments page: MPP on Tempo uses USDC.e, MPP on Solana uses USDC, x402 on Base uses USDC. Stripe says it supports OUSD and USDC for stablecoin balances, though Tempo transfers use USDC.e. Stablecoin payments are available to US businesses except New York; others must request access. Preview API versions are required in the examples (for example 2026-05-27.preview).[2],[4],[6]
Issuer-published contract addresses. Compare all of it, not the first and last characters.
TokenAddressSource
USDC (Base)0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913[4]
USDC (Solana mint)EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v[4]
USDC.e (Bridged USDC, Stargate) on Tempo0x20c000000000000000000000b9537d11c60e8b50[6]

How agent payments go wrong on Stripe agent payments

  1. 1. SPT resolved twice or used after deactivation

    An SPT is a scoped grant with usage limits and an expiry. A seller can resolve an SPT only once, and the API returns 400 if it was already resolved or used in a PaymentIntent. Recurring SPTs, which have usage_limits.recurring_interval set, are the exception: Stripe says to reuse them in each PaymentIntent. Listen for shared_payment.granted_token.deactivated and never retry a deactivated token.[3]

  2. 2. Amount above the token's max_amount

    The agent sets max_amount to match the transaction total. A seller that adds tax, shipping or a tip after the token is issued can push the total past the limit the token was issued for. Fix the final total before the agent requests the token.[3]

  3. 3. Credential type surprises with third-party processors

    The Resolve API returns an fpan, dpan or agentic_token depending on account configuration, and may encrypt fields for PCI scope. Code that assumes one credential type breaks. Handle all three and respect the encryption block.[3]

  4. 4. On-chain payment not recorded in Stripe

    For x402 the on-chain transfer succeeds before Stripe knows about it. If the PaymentIntent creation fails, money sits in the deposit address with no order record. Use the transaction hash as the idempotency key and retry recording.[4]

  5. 5. Wrong token variant on Tempo

    Stripe notes that transfers on Tempo use USDC.e while balances support USDC and OUSD. An agent holding a lookalike token on the wrong network will not match. Check network and token contract against Stripe's table before paying.[2],[4]

  6. 6. Availability gaps

    Stablecoin machine payments exclude New York, and SPTs are limited to listed countries. Docs state that availability and launch stage vary by integration. An agent flow that works in sandbox may be blocked for a given seller account.[1],[2],[3]

Pre-flight checklist for a Stripe agent payments agent

  • Set the SPT max_amount to the exact final total and a short expires_at.
  • Subscribe to the granted_token.deactivated webhook and stop on it.
  • Resolve a one-time SPT only once (a second resolve returns 400); reuse only SPTs that have recurring_interval set.
  • For x402, use the transaction hash as the PaymentIntent idempotency key.
  • Match network and token contract against Stripe's token table before sending stablecoin.
  • Confirm the seller's Stripe account has the Stablecoins and Cryptocurrency method enabled for your region.
  • Pin the Stripe-Version header; the agentic APIs shown are preview versions.

Run the checks now, free

The free tools run in your browser: nothing you type leaves your browser, and wallet reads go only to a public RPC.

  • The Wrong-Money Test

    Write down what happens when your agent pays the wrong amount, the wrong address or the wrong token on Stripe agent payments, and see whether the answer holds up.

  • Agent Spend-Cap Stress Test

    Work out how much your agents can really move in one window once retries, parallel runs and per-key limits stack up.

Want a second pair of eyes on how your agent pays on Stripe agent payments? Book the free 48-hour integration review (opens Cal.com in a new tab).

Explorers to confirm a payment

Sources

  1. [1] Agentic commerce, Stripe docs
  2. [2] Machine payments, Stripe docs
  3. [3] Shared payment tokens (sellers), Stripe docs
  4. [4] x402 (Stripe), Stripe docs
  5. [5] Agentic Commerce Protocol, Stripe docs
  6. [6] Tempo token list (chain 4217), Tempo

Checked against these sources on 9 November 2026. Networks change: confirm against the live docs before you rely on a number. This page is a checklist from public documentation. It is not a security audit, legal, compliance or investment advice.