Skip to main content
This page is for developers who sell an API, a tool, or content over x402 on Celo and want agents to find it. A working 402 endpoint is invisible until it is described in a way agents can read and listed where agents look. There is no single index. Each one has its own entry rule, and this page lists them.

Prerequisites

  • A resource server that returns 402 Payment Required on Celo. Set one up on the x402 page first.
  • A public HTTPS origin. Indexes probe your endpoint from the outside, and agent402.tools probes it every 30 minutes.
  • Node.js 20 or later and the v2 packages: @x402/express, @x402/core, @x402/evm, @x402/extensions.

How it works

Discovery has two halves.
  1. Self-description. The x402 bazaar extension lets your 402 response carry the shape of the endpoint: the HTTP method, an example input, a JSON schema for it, and an example output. Facilitators and crawlers that understand the extension catalog the endpoint from the 402 itself, so an agent can call it correctly the first time.
  2. Registration. Each index decides what it lists. One crawls an origin you submit, one reads on-chain agent identities, and one is a curated catalog.
The extension is named bazaar after Coinbase’s Bazaar, but Coinbase’s Bazaar and x402scan do not list Celo-only offers, so they are not covered here.

Describe your endpoint in the 402

Register the bazaar extension on the resource server and declare the shape of each route. The block below runs against the Celo facilitator and answers an unpaid request with a 402 that carries the description.
An unpaid GET /weather?city=Lagos returns 402 with an empty {} body. The payment requirements travel base64-encoded in the PAYMENT-REQUIRED response header. Decoded (abridged here), that header carries the price in accepts and the description in extensions.bazaar:
Write the description for an agent that is deciding whether to call you: what the endpoint returns and when to use it, in under 500 characters. The HTTP method comes from the route key, so "GET /weather" declares a GET. For a POST route, use a key such as "POST /summarize", and pass bodyType: "json" and the example body as input.

Register with agent402.tools

One request lists your origin at once, and Celo has its own market page there. The crawler re-probes the x402 surface every 30 minutes and ranks listings by crawl health, then by distinct payers and price. Its own router pays sellers only on chains it holds wallets for, and Celo is not one of them, so buyers pay a Celo-only seller directly rather than through the router.

Register an ERC-8004 identity

Agents that look up sellers on 8004scan read the on-chain registry. Register an identity on Celo, list your endpoints under services in the registration file, and set x402Support to true. The ERC-8004 page covers registration and the registry addresses.

Ask for a listing in the Buy catalog

Buy’s catalog is curated. Open a listing request with the buy-skill issue form with your origin, a one-paragraph description, the price, and the networks and tokens you accept.

Troubleshooting

Resources