API for agents

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.

Short answer: x402 is an open protocol that revives HTTP 402 Payment Required so software can pay for a single request. Payzum is the middleware in front of your API: it returns the 402 with your price, verifies the agent's signed USDC payment on Base through a facilitator, and proxies the paid call to your origin.

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.
The problem

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.

The protocol

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.

01
Agent

Calls the endpoint, unpaid

An ordinary HTTPS request to the URL your endpoint is published at. Nothing special about it yet.

02
Payzum

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.

03
Agent

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.

04
Payzum

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.

05
Payzum → your origin

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.

# 1 — the agent asks GET /v1/x402/pzm_yourmerchant/market-data # 2 — the challenge HTTP/1.1 402 Payment Required → price: 0.01 USDC · network: base · asset: USDC # 3 — the agent pays and retries GET /v1/x402/pzm_yourmerchant/market-data X-PAYMENT: <signed EIP-3009 authorization> # 4 & 5 — verified, proxied, answered HTTP/1.1 200 OK ← your origin's response, unchanged
Be precise about this

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.

Inside the product

Five fields and your API is sellable

Everything below is dashboard configuration. There is no library to install and no branch to merge.

The endpoint

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
Configuring an x402 monetized endpoint in Payzum: path, your API URL, price per call in USDC, the Base address that receives payment and optional origin auth
Your credentials

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.

Two live x402 endpoints in Payzum with their per-call USDC price, network, origin auth status and the public x402 URL agents call
Settlement

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.

x402 settlement settings in Payzum: agent payments settle through your own Coinbase facilitator account and Payzum never holds the funds
The result

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
The API for Agents screen in Payzum listing live x402 endpoints and their settlement configuration

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

The money

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.

What agents buy

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.

Compliance

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.

Enrichment

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.

Market data

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.

Inference

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.

Documents

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.

Long tail

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.

Side by side

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
Fair questions

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