Skip to main content
The x402 Bazaar is a catalog of payment-gated services discovered by the CDP Facilitator. You can search the catalog by intent, browse all indexed resources, or find every resource that pays a particular merchant address.
Bazaar discovery is public. You do not need a CDP API key to use the discovery APIs or the corresponding TypeScript SDK functions.

Choose a discovery interface

CDP SDKs

Search and list resources with a generated OpenAPI client.

CDP APIs

Query the Bazaar directly over HTTP.

Bazaar MCP

Let an MCP-compatible agent discover services with tool calls.

Discover with the CDP SDK

The discovery operations are part of the CDP OpenAPI specification and are available in every generated OpenAPI client. See the CDP SDK overview for documented clients. The examples below use TypeScript; use the equivalent generated methods when working in another supported language. Install the TypeScript CDP SDK:
The TypeScript SDK exports three discovery functions from @coinbase/cdp-sdk:
  • searchX402Resources returns relevance-ranked text or semantic matches. Filter by network, asset, payment scheme, payTo address, URL, maximum USD price, or protocol extension.
  • listX402DiscoveryResources browses active resources with offset pagination and an optional protocol type filter.
  • listX402DiscoveryMerchant lists active resources for a specific payTo address with offset pagination.
See the CDP TypeScript SDK reference for SDK setup and configuration.

Search for a service

Use a natural-language query and add filters when you know the required network, asset, payment scheme, maximum price, merchant, URL, or protocol extension:
Search returns at most 20 resources, ranked by a blend of query relevance and quality. Quality considers recent call volume and unique payers alongside the completeness of the description, output schema, and service metadata. Each result’s quality field reports its call count and unique payer count over the last 30 days, plus when it was last called. If partialResults is true, narrow the query or add filters to reduce the result set. Legacy network names such as base, base-sepolia, and solana are also accepted and normalized to CAIP-2 network identifiers. For every filter and the response schema, see Search x402 resources.

Browse all resources

Use the list function when you do not need relevance-ranked search:
Use the response’s pagination values to request subsequent pages. For complete pagination and response details, see List x402 resources.

Find a merchant’s services

If you know the address receiving payment, list all active resources that route payment to it:
An unknown address returns an empty resources list. For the complete request and response schema, see List merchant discovery info.

Discover with the REST APIs

You can call the same public catalog without an SDK:

Discover with Bazaar MCP

If your agent supports MCP, it can search the same catalog with tool calls instead of SDK or REST code, and pay for what it finds through the same client. See Discover & pay over MCP. After discovering a service, pay for it over HTTP with the buyer quickstart, or do both as tool calls with Discover & pay over MCP. Publishing a service instead? Get discovered.