# Let AI agents pay you per call: x402 and MPP

At 30 of the 45 products where our agent reached paying, a card form was as far as it could go. Add x402 or MPP to a paid endpoint and check it with curl.

Source: https://agentdrives.com/guides/let-agents-pay-per-call?via=md · Updated 2026-10-24 · Wall: Card-only checkout

A card checkout needs a person with a card. Answer a paid API call with a 402 and a price, and an agent pays in the same request, with nobody on your side.

## The numbers

From the drives of 151 products, 1–24 Oct 2026 (https://agentdrives.com/data/facts?via=md):

- Products where our agent reached the card form and stopped there, of those where it got as far as paying: 30 of 45
- Products where only a person can buy, of those where our agent got as far as paying: 2 of 45
- Products that answer a paid call with a 402 on their own domain: 9 of 151
- Products where our agent paid on its own and we checked the payment: 5 of 151

## What agents hit

Our agent got as far as paying at 45 of 151 products. At 30 of them it reached the card form and stopped there, and at 2 only a person can buy.

A card checkout wants a card and someone to type it in. An agent on its own has neither, so it stops there or picks a product it can pay.

x402 and MPP take that step out. Your API answers an unpaid call with HTTP 402 and a price. The agent pays, sends the call again and gets its answer. There is no checkout page, card form or sign-up. [1]

## Who already does it

9 products we drove answer a paid call with a 402 on their own domain:

- [AgentMail](https://agentdrives.com/tools/agentmail?via=md): x402.
- [Apify](https://agentdrives.com/tools/apify?via=md): x402. Our agent paid it on 16 October 2026.
- [Brave Search API](https://agentdrives.com/tools/brave?via=md): x402.
- [Browserbase](https://agentdrives.com/tools/browserbase?via=md): x402. Our agent paid it on 13 October 2026.
- [Exa](https://agentdrives.com/tools/exa?via=md): x402 and MPP. Our agent paid it on 15 October 2026.
- [Parallel](https://agentdrives.com/tools/parallel?via=md): x402 and MPP. Our agent paid it on 15 October 2026.
- [Pinata](https://agentdrives.com/tools/pinata?via=md): x402.
- [Steel](https://agentdrives.com/tools/steel?via=md): x402. Our agent paid it on 12 October 2026.
- [Tavily](https://agentdrives.com/tools/tavily?via=md): x402.

## The fix, step by step

1. **Pick the calls to charge for.** Start with the calls an agent makes on its own and that cost you to serve: a search, a scrape, a render, a report. Give each one a price.

2. **Answer an unpaid call with a 402 and the price.** With x402 the price goes in a `PAYMENT-REQUIRED` header, as base64 JSON. [2] Its `accepts` list holds the ways you take payment, [3] each with a network, an amount in the token's smallest unit [3] and the address to pay. The agent pays and sends the call again with `PAYMENT-SIGNATURE`, and you answer with the result and `PAYMENT-RESPONSE`. [2]

   ```
   HTTP/1.1 402 Payment Required
   PAYMENT-REQUIRED: eyJ4NDAyVmVyc2lvbiI6Mi…
   
   # the header, decoded:
   {"x402Version": 2,
    "resource": {"url": "https://api.example.com/v1/search"},
    "accepts": [{"scheme": "exact", "network": "eip155:8453", "amount": "10000",
                 "asset": "<USDC on Base>", "payTo": "<your address>", "maxTimeoutSeconds": 60}]}
   ```

3. **Take MPP too, and cards with it.** MPP asks the same way, with `WWW-Authenticate: Payment` on the 402, [4] and puts a `Payment-Receipt` header on the paid answer. [4] On Stripe, MPP takes cards and stablecoins, and x402 takes stablecoins. [5] A card payment over MPP is at least 0.50 USD [5]. Below that, take stablecoins, or bill with MPP sessions: sub-cent amounts per piece of work, settled from 0.01 USDC [5].

4. **Let Stripe or Coinbase settle it.** A facilitator checks each payment and settles it for you, so you run nothing on a blockchain. [6] With Stripe machine payments, both land in your Stripe balance and settle in your currency, [5] and x402 settles through Coinbase's facilitator. [7] Stripe takes stablecoins in all US states except New York [5]; elsewhere you ask Stripe for access by email, with your account ID. [5] Coinbase's CDP Facilitator also works on its own: it checks, screens and settles each payment, [8] and the first 1,000 onchain transactions a month [8] cost nothing.

5. **Put your prices where agents read them.** Serve your OpenAPI at `/openapi.json` [9] and give each paid operation an `x-payment-info` block with its offers [9] and a 402 response. [10] An agent then knows what a call costs before it makes it. [10] Link your llms.txt from `x-service-info`, [10] and list the paid calls and their prices in the llms.txt too. Once it works, ask Stripe to list you in its Directory, which helps agents find you. [5]

   ```
   "/v1/search": {
     "post": {
       "x-payment-info": {"offers": [
         {"amount": "10000", "currency": "<USDC token address>", "intent": "charge",
          "method": "tempo", "description": "One search"}]},
       "responses": {"200": {"description": "Results"}, "402": {"description": "Payment Required"}}
     }
   }
   ```

6. **Let agents buy plans and credits by API or MCP.** For a plan, credits or an add-on, give agents a call that buys against the card on the account, and answer with the price and when it starts. Vercel's MCP server does this: it quotes the price and whether it recurs, and buys once the person confirms. [11]

7. **List your plans on Stripe Projects.** Coding agents add services through Stripe Projects, whose protocol covers plan choice and upgrades. [12] A paid plan reaches you as a payment token Stripe grants for that upgrade. [12] Providers join on request. [12]

## Check it yourself

1. **Call a paid endpoint without paying.** You want a 402, with `PAYMENT-REQUIRED` (x402) or `WWW-Authenticate: Payment` (MPP).

   ```
   curl -si -X POST https://api.example.com/v1/search \
     | grep -iE "^HTTP|^payment-required|^www-authenticate"
   ```

2. **Read the price the way an agent does.** Decode the x402 header. You want your network, the amount and your address.

   ```
   curl -si -X POST https://api.example.com/v1/search \
     | grep -i "^payment-required:" | cut -d" " -f2 | tr -d "\r" \
     | base64 -d | jq ".accepts[] | {scheme, network, amount, payTo}"
   ```

3. **Find your prices in your OpenAPI.** Each paid operation should show its offers.

   ```
   curl -s https://api.example.com/openapi.json \
     | jq '[.paths[][] | objects | select(has("x-payment-info")) | .["x-payment-info"]]'
   ```

4. **Pay one call on a test network.** Use the public x402.org facilitator, which is for test networks only, [6] and a test wallet. You want the answer and a `PAYMENT-RESPONSE` header.

## After the fix

Fixed something? Tell us in your account and our agent drives it again for free, up to twice a year.

## Questions

**Does a card checkout count toward L5?**

Only a real purchase. L5 needs everything in L4 and a payment our agent made, which we checked: over x402 or MPP, or one purchase at your checkout with your discount code (a Payment proof, at cost). A checkout an agent could finish but didn't pay shows as Ready to pay. A proven payment counts for 90 days. A product with nothing to pay can reach L5 too.

**Do agents need crypto to pay us?**

Not with MPP on Stripe: it takes cards as well as stablecoins. x402 takes stablecoins. Either way, Stripe pays it into your balance in your currency.

**Do we drop our plans?**

No. Per-call payment adds a way in for an agent with no account and no card. People keep buying plans the way they do now.

## Sources

1. [x402 on Coinbase Developer Platform](https://docs.cdp.coinbase.com/x402/welcome)
2. [x402 over HTTP](https://github.com/x402-foundation/x402/blob/main/specs/transports-v2/http.md)
3. [x402 specification, version 2](https://github.com/x402-foundation/x402/blob/main/specs/x402-specification-v2.md)
4. [The Payment HTTP authentication scheme (MPP)](https://www.ietf.org/archive/id/draft-httpauth-payment-01.txt)
5. [Machine payments](https://docs.stripe.com/payments/machine)
6. [x402: the facilitator](https://docs.x402.org/core-concepts/facilitator)
7. [x402 on Stripe](https://docs.stripe.com/payments/machine/x402)
8. [CDP Facilitator](https://docs.cdp.coinbase.com/x402/seller/facilitator)
9. [MPP payment discovery](https://paymentauth.org/draft-payment-discovery-01)
10. [MPP: discovery](https://mpp.dev/advanced/discovery)
11. [Vercel MCP now supports purchases](https://vercel.com/changelog/vercel-mcp-now-supports-purchases)
12. [Stripe Projects](https://docs.stripe.com/projects)

## More guides

- [Make your SaaS agent-ready: the whole path, step by step](https://agentdrives.com/guides/make-your-saas-agent-ready.md?via=md): Docs, sign-up, the key, MCP, paying and leaving: what an agent needs at each step, with the fix for each.
- [An MCP server is not a way in for AI agents](https://agentdrives.com/guides/an-mcp-server-is-not-a-way-in.md?via=md): Most products have an MCP server. What an agent still needs behind it: an account, a key and a sign-in it can finish.
- [How AI agents pay for software: x402, MPP and checkouts](https://agentdrives.com/guides/how-ai-agents-pay-for-software.md?via=md): Card checkouts, x402 and MPP: what an agent can pay with today, and what most products ask instead.
- [llms.txt, OpenAPI and MCP alone don't let AI agents in](https://agentdrives.com/guides/agent-ready-files-dont-open-the-door.md?via=md): Most products publish llms.txt, OpenAPI or MCP. Most still keep agents out. What the files do, and what they can't.
- [Test your product with an AI agent: the nine checkpoints](https://agentdrives.com/guides/test-your-product-with-an-ai-agent.md?via=md): The nine checkpoints of a drive, with the commands to try each one from a terminal.
- [Let signed AI agents past your bot check](https://agentdrives.com/guides/let-signed-agents-past-your-bot-check.md?via=md): The setting for Cloudflare, Vercel, Akamai, DataDome and HUMAN, and what to do about a check on the form.
- [Let AI agents sign up and get an API key](https://agentdrives.com/guides/let-agents-sign-up-and-get-a-key.md?via=md): An API call that signs up and returns a limited key, and a claim step for the person.
- [Let AI agents sign up without a phone number](https://agentdrives.com/guides/sign-up-without-a-phone-number.md?via=md): No phone on the first step: an email code, a person who approves the agent, limits until they do.
- [Let AI agents sign up with their own email address](https://agentdrives.com/guides/accept-any-email-address.md?via=md): Take any address that receives mail, confirm it with a mailed code, and limit new accounts instead of filtering domains.
- [MCP sign-in an AI agent can finish: OAuth and CIMD](https://agentdrives.com/guides/mcp-sign-in-agents-can-finish.md?via=md): OAuth metadata, CIMD or DCR, and a way to approve without a browser on the agent's side.
- [Let AI agents start without a credit card](https://agentdrives.com/guides/card-free-starts.md?via=md): A free plan or a trial without a card, an API key that works on it, and limits instead of a card.
- [Docs AI agents can read: llms.txt, Markdown, OpenAPI](https://agentdrives.com/guides/docs-agents-can-read.md?via=md): An llms.txt, Markdown twins of your pages, an OpenAPI spec and an MCP server card.
- [Let AI agents delete the account they opened](https://agentdrives.com/guides/let-agents-delete-their-account.md?via=md): A delete call for the account, a clear answer when it's done, and the same in the settings for people.

Every guide: https://agentdrives.com/guides.md?via=md
