The Discovery API returns x402-compatible
services that accept USDC, across 15+ blockchain networks, from one public
endpoint. It powers the catalog UI and is
open for any client, wallet, or agent to query directly.
The catalog is curated and continuously sanctions-screened on the seller side,
and every listing carries structured payment requirements and JSON Schema, so
any wallet can pay for and call a service on top of x402. See the
marketplace overview for the full rationale.
Endpoint
This endpoint is public. It needs no authentication, no API key, and no Circle
account. Responses support gzip compression, so pass --compressed when you
call it with curl.
Query parameters
All parameters are optional. Combine them to narrow the catalog to exactly the
services your agent can use.
Response
The response follows the x402 Bazaar
discovery schema, the discovery format standardized as an x402 v2 extension.
Clients built against another Bazaar-compatible catalog can parse this one
unchanged.
A successful call returns a JSON object with three top-level fields:
x402Version: the x402 protocol version the response follows.
items: an array of service listings (described below).
pagination: the limit, offset, and total count for the query.
Each item in items describes one service:
accepts[] lists the payment requirements the service accepts. Each entry
carries the network (CAIP-2), the asset (token contract address), the
scheme (for example, exact), the amount, and the payTo seller wallet.
amount is in atomic units: USDC has 6 decimals, so 10000 equals 0.01 USDC.
v2 uses amount (v1 used maxAmountRequired).
metadata.provider describes the seller: name, description, category,
tags, website, and documentation URLs.
metadata also carries the request path and method, an input and
output JSON Schema, and three capability flags: supportsVanillax402
(accepts onchain x402 payments), supportsCircleGateway (accepts Gateway
offchain batched payments), and siwx (requires browser-based Sign-In With
X).
Examples
Categories
Every listing is classified with one category in metadata.provider.category.
Filter on it with the category query parameter to narrow results to a domain.
Paying for a service
Discovery tells you what each service accepts. To actually pay, use one of two
rails:
- Vanilla x402: a signed onchain USDC transfer that any USDC wallet,
including a centralized custodial one, can produce.
- Circle Gateway: offchain, batched settlement for gasless, sub-cent
payments.
Each listing’s accepts[] and its supportsVanillax402 and
supportsCircleGateway flags tell you which rails it takes. To pay from Circle
CLI, see
Pay for a service.
For the concepts and buyer integration, see
Agent nanopayments.
To find services payable on a specific blockchain, filter with the structured
network parameter, not the query text field. query matches free text
(URLs, providers, descriptions, tags), so it does not reliably match a chain.