Blog

What is x402?

x402 is an open protocol on HTTP 402 so a client can pay USDC and retry the same URL. Here is what that means, and how smidgen uses it for humans and agents.

x402 is a way to charge for a URL.

A client asks for a page. If it has not paid, the server answers HTTP 402 Payment Required and includes machine-readable terms: price, asset (usually USDC), network. The client pays, retries the same URL, and gets the body. No account. No OAuth. No “talk to sales.”

The status code is old — 402 has been reserved since the early web. x402 is the convention for what that response contains and how a wallet or agent completes the payment. Coinbase and others ship clients for it. smidgen is a paywall that speaks it.

If you only remember one sentence: 402, pay, retry.

Why it showed up now

Human paywalls grew up around ads, cookies, and memberships. Agents do not see ads, do not click affiliates, and will not fill a signup form mid-task. They do speak HTTP. If the price is in the 402, they can pay.

That is the whole trick. The browser path can still be a modal and a wallet. The bot path is the same resource with a payment challenge instead of a blur overlay.

What a 402 looks like in practice

You GET a premium URL as a bot (no browser User-Agent that looks like Chrome, or an adapter that treats you as unpaid). You should see status 402 and a payload that says how much USDC, on which chain, and where to send it.

Pay. GET again with the payment proof. 200 and the article.

Humans on smidgen usually never see that JSON. They get a teaser or a CSS blur and MetaMask or Phantom. Under the hood it is the same price and the same settle to your wallet. smidgen does not hold the funds.

Soft paywall vs hard lock

x402 does not magically hide HTML. If you ship the full post and only hide it with CSS, a script still has the text. That is easy blur — fine for a person who will not View Source.

Hard lock means the origin withholds the body until an unlock checks out. WordPress, Next.js, PHP, nginx. Static HTML alone cannot do this. Agents only become customers if the secret is not in the unpaid response.

How agents find a priced URL

A 402 on a secret path is a locked door. Two directories matter:

  • ARD — your catalog, at /.well-known/ai-catalog.json, generated from smidgen paywall rules. You control it. robots.txt points at it with Agentmap.
  • Coinbase Bazaar — a public index of x402 resources. You do not submit a form. The first real payment on a publisher URL can list it. smidgen stamps Bazaar metadata on the challenge and the settle.

Details: FAQ, live catalog.

What smidgen adds on top of the protocol

x402 is the wire format. smidgen is the product around it:

  • Project, rules, and a payout wallet (Base and/or Solana)
  • Browser checkout for people
  • 402 on your domain when you install an adapter
  • Catalog + Bazaar hooks so agents can discover the URL

WordPress: plugin guide. Next.js: middleware guide. Copy-paste pay loop: Pay as an agent. Demos: /demos.

If you want the protocol from the source, start at docs.x402.org. If you want a paywall that already speaks it, start free.

FAQ

Is x402 the same as HTTP 402? 402 is the status. x402 is how payment terms travel in that response and how a client retries after paying.

Do I need crypto to read this page? No. This article is free. Premium URLs on a smidgen site take USDC today.

Can I implement x402 without smidgen? Yes. It is an open protocol. You would still need a wallet flow, a lock, and a catalog if you want agents to find you.

Where should I go next? AI is the customer is the “why.” How an AI sets up smidgen is the install path for a coding agent.