x402 exists because the buyer being a piece of software breaks the assumptions card payments are built on. There is no cardholder to authenticate, no chargeback window that means anything, and no appetite for a signup flow. HTTP 402 was reserved for exactly this and went unused for thirty years.
The practical consequence is that a price can be attached to an endpoint rather than to a customer relationship. An agent that has never seen your service before can discover the price, pay it, and get the response in one round trip.
Publish a payable endpoint
- 1
Claim your @handle in the app if you have not already.
- 2
Open the x402 section and create a resource with a slug and a price in USDC.
The resource lives at a public URL under your handle, deliberately outside the app's authenticated API so an agent can reach it with no credentials.
- 3
Point the resource at what you are selling — an API response, a dataset, a piece of content.
- 4
Test it with an unpaid request and confirm you get a 402 with the price in the response.
That 402 body is the whole discovery mechanism. If it is missing or wrong, agents cannot pay you.
- 5
Watch settlements arrive in Activity.
Good to know
- Agents pay in USDC using EIP-3009 transfer authorisations, which are gasless for the payer and settle directly to your address.
- A small service fee, under 1%, applies to payments settled to your @handle. The live figure is in the app under Settings → Fees.
- Because settlement is to keys you hold, there is no payout schedule, no reserve, and no account that can be closed with your balance inside it.
Frequently asked
An open convention for paying for an HTTP resource inline: the server answers an unpaid request with 402 Payment Required plus a machine-readable price, the client pays on-chain, and retries with proof of payment.
No. The resource is hosted for you under your @handle. What you provide is the thing being sold and the price.
Yes, though it is not the interesting case. The design target is software that needs to pay a small amount, immediately, without a relationship.
Get SpendTheBits
A fully non-custodial wallet for 13 chains, free on iOS and Android. Your keys never leave your phone.
