Stripe MPP vs Instant Checkout: How Agents Pay for a Fax

Stripe MPP vs Instant Checkout: How Agents Pay for a Fax

5 min read

Stripe Machine Payments Protocol (MPP) is HTTP 402 plus a Shared Payment Token from Link. Instant Checkout is ACP shopping. Here is when to use each, and how SingleFax fits.

Stripe Link CLI is the main end-user tool that can pay MPP-enabled services with Stripe today.

MPP (Machine Payments Protocol) is the HTTP 402 flow Stripe co-authored with Tempo. The Stripe rail uses Shared Payment Tokens (SPTs) — scoped card credentials from a Link wallet — not a normal checkout page.

ChatGPT Instant Checkout is a different Stripe product (ACP). It is shopping in a chat UI, not the 402 API protocol.

SingleFax supports all three human-facing patterns that matter here: MCP + Checkout for chat apps, API keys + credits for backends, and MPP on POST /api/v1/machine/faxes for agents that can mint an SPT.

Do not send PHI on MCP, MPP, or the public API. Covered Entities use HIPAA Secure Mode on the website with an electronic BAA.

Three ways to pay at SingleFax

You are…Pay withEntry
In Cursor, Claude, Codex, ChatGPT, or VS CodeHosted Checkout, or leftover subscription pagesMCP at /mcpinstall
Writing a script or backendPrepaid creditsAPI key — developers
An agent that can mint a Stripe SPTHTTP 402 → SPT retryPOST /api/v1/machine/faxesmpp.md

MPP does not replace MCP. Chat MCP tools return JSON. Link CLI needs a URL that returns HTTP 402 and WWW-Authenticate. Point mpp pay at the machine fax route, never at /mcp.

What MPP is

An agent requests a paid resource with no credential. The server answers 402 Payment Required with the amount, currency, and Stripe network / profile. The agent (usually Link CLI) mints an SPT from the user’s Link wallet. A human approves that spend in the Link app. The client retries with Authorization: Payment …. The merchant creates a Stripe PaymentIntent. Funds land in the merchant’s normal Stripe balance.

That is the Stripe rail. Other MPP clients (Tempo Wallet, Privy, AgentCash, Kite Passport) pay on Tempo / stablecoin rails, not Stripe cards. SingleFax’s live machine path is fiat SPT via Link.

Official references: Stripe MPP, Link CLI machine payments, Shared Payment Tokens, mpp.dev.

How the Stripe path works

  1. Service returns HTTP 402 with a Stripe challenge (amount, currency, network / profile ID).
  2. Link CLI (or an agent wrapping it) creates an SPT from the user’s Link wallet.
  3. User approves in the Link app.
  4. Client retries with the credential. The merchant creates a PaymentIntent. The fax is queued.

At SingleFax the URL is:

POST https://singlefax.com/api/v1/machine/faxes

Body is JSON { "to": "<E.164>", "base64": "<PDF>", "request_id": "<idempotency key>" }. Use a real destination (not +1555…) and real PDF bytes. Reusing a request_id with a different body returns 409. Stripe SPT has a $0.50 minimum; SingleFax’s retail floor is $0.99.

Install and pay:

npx skills add stripe/link-cli
# or: npx @stripe/link-cli --mcp

npx @stripe/link-cli auth login

npx @stripe/link-cli mpp pay https://singlefax.com/api/v1/machine/faxes \
  -X POST \
  -d '{"to":"+14155552671","base64":"<real-pdf-base64>","request_id":"mpp-1"}' \
  --context "Send a fax via SingleFax after the user asked this agent to pay for the send."

US Link account required. Commands and challenge shapes: agents § MPP and mpp.md.

What actually supports Stripe MPP

ToolStripe MPPNotes
Link CLI (link-cli mpp pay)Yes — native stripe.charge / SPTParses the 402, creates an SPT, retries. User approves each spend in the Link app. Can run as an MCP server. US Link accounts.
mppx CLIYesDev / debug client; Stripe charge and Tempo. Not the end-user path.
Claude CodeYes, via Link CLI MCP + Stripe pluginOfficial integration path.
Cursor / CodexYes, via Stripe plugin + Link CLISame pattern: agent drives Link, human approves. Cursor cannot mint an SPT alone.
ChatGPT custom MCPNo (use Checkout)Developer-mode connectors call SingleFax MCP. Payment is a Checkout URL, not Instant Checkout and not MPP.
Grok Bot / shopping LinkLink for purchasesUses Link for single-use cards / tokens with human approval. Shopping-oriented; MPP SPT is the same Link stack, not ChatGPT Instant Checkout.

Tempo-rail MPP wallets are real MPP clients. They are not how you pay SingleFax with a card.

MPP vs ACP (Instant Checkout)

MPPACP / Instant Checkout
What it isHTTP 402 on an APIStripe Agentic Commerce Protocol for in-chat shopping
Where it runsAny client that can retry a 402ChatGPT Instant Checkout and similar shop UIs
CredentialShared Payment Token from Link (or Tempo on other rails)Also uses SPTs, for a checkout session — not a 402 API
Human in the loopApproves each spend in the Link appConfirms in the chat checkout UI
SingleFaxLive on POST /api/v1/machine/faxesNot used. ChatGPT MCP still returns a SingleFax Checkout URL

If someone says “the agent paid with Stripe in ChatGPT,” they usually mean Instant Checkout or a hosted Checkout link — not MPP.

When to use which

Use MCP when a person is in Cursor, Claude, Codex, ChatGPT, or VS Code and you want the assistant to upload a PDF and either open Checkout or spend leftover subscription pages. That is the default. Install MCP.

Use MPP when the agent can run Link CLI (or wrap it) and you want pay-per-fax without creating a SingleFax API key. Typical: Claude Code or Cursor with a terminal, a US Link account, and a human who will tap approve.

Use the REST API + CLI when the sender is your service: workers, cron, an internal tool. Create a key, prepay credits, no 402. Developer docs.

Do not use MPP for PHI, for ChatGPT Instant Checkout, or by pointing Link CLI at /mcp.

Use cases with SingleFax

1. “Fax this PDF” in Claude Code or Cursor
Add SingleFax MCP for quote + draft. If you want the agent to pay instead of opening Checkout, add Link CLI and mpp pay the machine URL. You still approve in Link. Same $0.99 retail floor as the website.

2. A backend that should not hold a card
Prefer API keys and credits. MPP is for agents with a Link wallet, not for storing customer cards on your server.

3. A one-off government or court fax from an agent
IRS and many courts still take fax. The agent can assemble the PDF and pay per send. Confirm the destination on the agency site. This path is not HIPAA; do not put medical records on MPP.

4. ChatGPT Developer Mode
Custom MCP works for tools. Payment is Checkout. Instant Checkout is a merchant shopping integration SingleFax does not use.


FAQs

Can an AI agent pay SingleFax with Stripe MPP today?

Yes. Use Stripe Link CLI against POST /api/v1/machine/faxes. Approve the spend in the Link app. Chat apps should use MCP plus Checkout. Do not send PHI on MPP.

Is Stripe MPP the same as ChatGPT Instant Checkout?

No. Instant Checkout is ACP shopping. MPP is HTTP 402 on an API. SingleFax machine faxes use MPP.

Can Cursor pay MPP by itself?

No. Install Link CLI, pay the REST machine URL, approve in the Link app. US Link accounts.

When should I use MCP instead of MPP?

Chat apps: MCP. Backends: API key + credits. MPP: only if the client can mint a Shared Payment Token.