Skip to main content
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.