x402 for your API: charge AI agents per call, in USDC
Your API already works. Point Payzum at it, set a price per call, and agents can pay for it themselves — no account to open, no invoice to chase, no protocol code in your service.
USDC on Base · Settles to your own address · No SDK · Live the same day
Key takeaways
- No code, no SDK. A path, your existing HTTPS URL, a price and a Base address. Payzum publishes the x402 URL; your service is untouched.
- Payzum is the proxy, not the facilitator. It issues the 402 and verifies payment through an external facilitator — currently Coinbase's — then forwards the call.
- The money is never ours. USDC settles to the address you set, through your own facilitator account.
- Your API key stays yours. Store the origin credential once, encrypted; Payzum injects it on paid calls so the agent never sees it.
- Agents can find you. Mark an endpoint discoverable to be listed in the catalog — and, via the Coinbase facilitator, in the wider x402 Bazaar.
An AI agent cannot sign up for your API
Every API business is built around a human: someone registers, gets a key, picks a plan, enters a card, and later argues with an invoice. That worked when the caller was a developer. It does not work when the caller is an agent that decided ninety seconds ago that it needs one sanctions check, one geolocation lookup and one market-data pull — and will never call you again.
So the agent's builder does the only thing available: they pre-register for a dozen APIs, hard-code a dozen keys, and pay a dozen monthly minimums for capacity they mostly do not use. And you, on the other side, never sell to the long tail of one-off callers at all, because your smallest unit of sale is a subscription.
What that costs you
Demand you cannot price. A signup funnel that filters out exactly the buyers with money and no patience. And an integration surface — keys, quotas, plan tiers, dunning — that exists purely because there was no way for a caller to just pay for the call.
What x402 is, in one pass
HTTP has had a status code reserved for this since 1997 and nobody could use it, because the web had no way to attach money to a request. Stablecoins closed that gap; x402 is the convention that puts them to work.
Calls the endpoint, unpaid
An ordinary HTTPS request to the URL your endpoint is published at. Nothing special about it yet.
Answers 402 Payment Required
The challenge carries the exact price in USDC for that route, so the agent knows what the call costs before deciding to make it.
Signs and retries
It builds a signed EIP-3009 transfer authorization and repeats the request with an X-PAYMENT header. It signs an authorization rather than broadcasting a transaction itself — which is what makes a fraction-of-a-cent call practical.
Verifies through the facilitator
The authorization is validated through an external facilitator. Payzum does not settle it itself and never takes hold of the funds.
Proxies the paid call
The request reaches your API — with your own credential injected if it needs one — and the response goes back to the agent. Your service handles it like any other request.
Where Payzum sits — and where it does not
The x402 ecosystem has two very different jobs, and vendors blur them constantly. Here is the honest version.
Payzum is the middleware. It is not the facilitator.
The facilitator is the piece that verifies and settles the on-chain payment. Payzum does not do that job — it calls out to an external one, currently Coinbase's, using credentials you supply.
Payzum is the proxy in front of your API. It holds the mapping between a public x402 URL and your private endpoint, issues the 402 with your price, checks the payment with the facilitator, and forwards the paid request to your origin with your credential attached. That is the whole role, and it is the reason you do not have to implement anything.
Becoming a facilitator is a future ambition, not a claim about today. If a vendor tells you otherwise about their own stack, ask whose keys settle the payment.
Why the split matters to you
Because it determines who holds your revenue. Settlement runs through your own facilitator account, so the USDC lands at the address you configured and the per-transaction cost and gas are billed to that same account. There is no Payzum balance in the path, which means there is no Payzum payout schedule and nothing of yours for us to freeze.
Five fields and your API is sellable
Everything below is dashboard configuration. There is no library to install and no branch to merge.
Map a path to the API you already run
Give the route a path agents will call, point it at your API URL over HTTPS, set a price per call in USDC, and give the Base address that should receive the money. Flip Live when you want agents to be able to pay for it.
- Different prices per route — screening costs more than a lookup
- Turn an endpoint off without touching your service
- Optionally list it in the discovery catalog
Your origin keeps its own auth
Almost nobody wants to expose an open endpoint. Store your API key or bearer token against the route — encrypted — and Payzum injects it when it forwards a paid call. Your service authenticates the request exactly as it does today, and the agent never sees the secret it was authenticated with.
Your facilitator account, your address
Choose how payments settle. On mainnet you connect your own Coinbase Developer Platform key: real USDC on Base, with the per-transaction cost and gas billed to that same account — the one that receives the money. There is also a free testnet setting that settles on Base Sepolia through a public facilitator, for getting the wiring right before anything real moves.
A URL you can hand to an agent
Each live route gets a public x402 URL. That string is the entire integration on the buyer's side: an agent framework that speaks x402 will call it, get the 402, pay, and receive your response. You can run several routes at different prices from one merchant — a cheap lookup and an expensive screening side by side.
- One merchant, many priced routes
- Price and origin editable without a deploy
- Copy the URL, publish it, done
Want a second pair of eyes on your pricing per call?
Tell us what your API does and what a call is worth to the caller, and we will walk through which routes to expose, what to charge, and whether the discovery catalog is worth it for you.
No commitment · We will tell you if agents are not your buyer yet
USDC on Base, and nothing in the middle
The settlement asset is USDC on Base mainnet — the ERC-20 contract at 0x8335…2913, with six decimal places. Six decimals is not trivia: it is why a route can be priced at 0.001 USDC and still be a real payment rather than a rounding error, which is the entire economic premise of per-call pricing.
Payments go to the address you configured, through your own facilitator account. Payzum verifies and forwards; it does not take custody, does not batch your revenue, and does not run a payout schedule you have to wait on.
Getting found: the discovery catalog
An endpoint nobody knows about earns nothing. Mark a route as discoverable and it is listed in the discovery catalog; when you settle through the Coinbase facilitator, that metadata is also published to the ecosystem-wide x402 Bazaar — which is where people building agents go looking for services that are callable and already priced.
The APIs that make sense to sell per call
The pattern: a bounded answer, valuable at the moment it is asked, and worthless as a subscription to someone who needs it twice.
Sanctions and AML screening
An agent onboarding a counterparty needs one screening result, now. Charging a dime for that call is a better business than trying to sell an annual compliance seat to a piece of software that will never fill in a procurement form.
Geo, IP and identity lookups
Tiny, high-volume answers — country from an IP, a company from a domain — are the natural sub-cent unit. Price them at a fraction of a cent and let volume do the work instead of tiers.
Quotes, rates and snapshots
A trading or research agent wants one snapshot at one moment. Per-call pricing matches how it actually consumes data far better than a monthly seat sized for its busiest hour.
Specialist models and scoring
If you run a niche model — a classifier, a scoring endpoint, a domain-tuned extractor — x402 turns it into something another team's agent can try in one call, with no relationship to establish first.
Extraction, OCR and conversion
Per-document work is already priced per unit internally. Exposing it per call just makes the billing match the shape of the job.
The customers you turn away today
Every API has demand it cannot serve because the minimum viable relationship is too large. A per-call route is the cheapest way to find out how much of that demand was real.
Payzum vs API keys and plans vs building x402 yourself
| Selling one API call | Payzum x402 | API keys + plans | Rolling your own x402 |
|---|---|---|---|
| Work on your side | Dashboard config, no code | Signup, keys, quotas, billing, dunning | Protocol, facilitator integration, verification |
| Smallest sale | One call, fractions of a cent | A plan, usually monthly | One call, once you have built it |
| Buyer onboarding | None — the agent just pays | Account, card, sometimes a sales call | None |
| Who settles | Your own facilitator account | Your PSP, then a payout | Your facilitator integration |
| Who holds the money | You — it lands at your address | The processor, until payout | You |
| Chargebacks | None — the payment is final | Card disputes apply | None |
| Time to first paid call | Same day | As long as billing takes | Engineering weeks |
The objections we hear most
"There aren't enough agents paying yet."
Possibly true for your niche today. The cost of finding out is one dashboard entry and no code, and the endpoint you already run keeps serving its existing customers exactly as before. That is a cheap option on a market that is growing.
"I don't want a proxy in front of my API."
You are not moving your API — you are publishing an additional, priced door to it. Your existing traffic never touches Payzum, and turning the x402 route off is a toggle, not a rollback.
"I'd have to hold crypto."
You receive USDC, which tracks the dollar, at an address you control on Base. What you do with it afterwards is your decision, and nothing about it is held by us in the meantime.
"What stops someone abusing the endpoint?"
Every call is paid before it reaches your origin — that is the point of the 402. An abusive caller is a paying caller, which is a very different problem from the one you have with an open endpoint.
x402: frequently asked questions
What is x402?
x402 is an open protocol that revives the long-unused HTTP status code 402 Payment
Required. A client calls a paid endpoint, the server answers 402 with the exact
price, the client returns a signed payment authorization in an X-PAYMENT header,
and the server serves the response. It gives software — and therefore AI agents — a way to
pay for a single API call without an account, an invoice or a human in the loop.
Is Payzum the x402 facilitator?
No. Payzum is the middleware in front of your API, not the facilitator. It issues the 402 challenge, validates the agent's payment authorization through an external facilitator — currently Coinbase's — and then proxies the paid request to your origin. You supply the facilitator credentials, and the settlement lands in your own address.
How much code do I have to write?
None. You configure a path, the HTTPS URL of the endpoint you already run, a price per call in USDC, and the Base address that should receive the money. Payzum publishes an x402 URL for that mapping. Your service keeps answering ordinary requests; it never learns the protocol exists.
What does the agent actually pay with?
USDC on Base. The settlement asset is the USDC ERC-20 contract on Base mainnet with six decimal places, so a price of 0.01 USDC is exactly one cent of stablecoin. The agent signs an EIP-3009 transfer authorization rather than sending a transaction itself, which is what makes a sub-cent call practical.
Does Payzum hold the money?
No. Payments settle through your own facilitator account to the address you configured — the same account that receives the USDC also carries the per-transaction cost and gas. Payzum verifies and proxies; it never takes custody of the funds.
My API needs an API key. Does that still work?
Yes, and it is the normal case. You store your origin's credential — an API key or bearer token — against the endpoint, encrypted. When a paid call comes through, Payzum injects it on the way to your origin, so your service authenticates the request exactly as it does today and the agent never sees the secret.
How do agents find my endpoint?
You can mark an endpoint as discoverable and it will be listed in the discovery catalog. When you settle through the Coinbase facilitator, that discovery metadata is also published to the ecosystem-wide x402 Bazaar, which is where agent builders go looking for callable, priced services.
Can I test before charging real money?
Yes. Alongside the mainnet option there is a free testnet setting that settles on Base Sepolia through a public facilitator. It is meant for development: same handshake, same wiring, no real USDC moving while you get the endpoint right.
Let's look at your API
Twenty minutes on what you actually run: which routes are worth exposing to agents, what a call is worth, how the settlement account should be set up, and whether the discovery catalog helps you. If agents are not your buyer yet, we will say so.
USDC on Base · Settles to your own address · Payzum never holds the funds