Search x402 resources
Changed onSearches for active x402 resources using a text query and optional filters. Supports both text-based and vector-based search depending on availability. Results are sorted by relevance and quality score. Legacy network names (e.g., base, base-sepolia, solana) are automatically normalized to their CAIP-2 equivalents. The response is limited to 20 items per request. If more results exist, partialResults will be true.
Request
- Base URL: https://api.cdp.coinbase.com/platform
- URL: https://api.cdp.coinbase.com/platform/v2/x402/discovery/search
- Auth: HTTP none
Query parameters
Full-text or semantic search query to find matching resources.
Filter results by network in CAIP-2 format (e.g., eip155:8453) or legacy name (e.g., base, base-sepolia, solana). Legacy names are normalized to their CAIP-2 equivalents before filtering.
Filter results by asset address. For EVM networks, provide a 0x-prefixed EVM address. For Solana networks, provide a base58-encoded address. Matching is case-insensitive.
Filter results by payment scheme (e.g., exact).
A blockchain address. Format varies by network (e.g., 0x-prefixed for EVM, base58 for Solana).
Filter results by the merchant's payment address. For EVM networks, provide a 0x-prefixed EVM address. For Solana networks, provide a base58-encoded address.
Filter results to resources whose URL contains this value (case-insensitive substring match against the resource URL). Useful for narrowing results to a specific domain, subdomain, or path segment. Combine with query to perform semantic search restricted to a URL subset. Tip: include enough of the URL to disambiguate (e.g. api.example.com rather than example) — a short substring may also match resources whose path contains the same string.
Filter results to resources with a USD price at or below this value.
Filter results to resources that support the specified protocol extensions. Can be specified multiple times to filter by multiple extensions.
[ "bazaar" ]
Filter results to resources published with any of the specified provider tags (case-sensitive exact match). Can be specified multiple times to filter by multiple tags; a resource matches if it carries at least one of the supplied tags (OR).
[ "weather", "data" ]
Filter results to resources that belong to any of the specified curated bundles (by bundle slug). Can be specified multiple times to filter by multiple bundles; a resource matches if it belongs to at least one of the supplied bundles (OR).
[ "defi-trading", "onchain-data" ]
When true, restrict results to Coinbase-curated resources (those with curated: true). When false or omitted, both curated and non-curated resources are returned.
Maximum number of resources to return. Must be a positive integer no greater than 20. Defaults to 20.
Response
Successfully retrieved matching x402 resources.
Example response
{
"resources": [
{
"resource": "https://api.example.com/weather/forecast",
"description": "Real-time weather forecast data.",
"type": "http",
"x402Version": 2,
"lastUpdated": "2024-01-15T10:30:00Z",
"accepts": [
{
"scheme": "exact",
"network": "eip155:8453",
"amount": "1000000",
"payTo": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
"maxTimeoutSeconds": 60
}
],
"extensions": {
"bazaar": {
"info": {
"input": {
"type": "http",
"method": "GET"
}
},
"schema": {}
}
},
"quality": {
"l30DaysTotalCalls": 42,
"l30DaysUniquePayers": 15,
"lastCalledAt": "2024-01-15T10:30:00Z"
},
"serviceName": "Weather API",
"tags": [
"weather",
"data"
],
"iconUrl": "https://res.cloudinary.com/bdb-prod/image/upload/...",
"curated": true,
"skillUrl": "https://skills.cdp.coinbase.com/weather-api/SKILL.md"
}
],
"searchMethod": "text",
"x402Version": 2
}Changes
- warning
added the new
incompatible_event_typesenum value to theresponse property for the response status - warning
added the new
incompatible_event_typesenum value to theresponse property for the response status - warning
added the new
incompatible_event_typesenum value to theresponse property for the response status - warning
added the new
incompatible_event_typesenum value to theresponse property for the response status - warning
added the new
invalid_webhook_headersenum value to theresponse property for the response status - warning
added the new
invalid_webhook_headersenum value to theresponse property for the response status - warning
added the new
invalid_webhook_headersenum value to theresponse property for the response status - warning
added the new
invalid_webhook_headersenum value to theresponse property for the response status - warning
added the new
invalid_webhook_urlenum value to theresponse property for the response status - warning
added the new
invalid_webhook_urlenum value to theresponse property for the response status - warning
added the new
invalid_webhook_urlenum value to theresponse property for the response status - warning
added the new
invalid_webhook_urlenum value to theresponse property for the response status - warning
added the new
mandate_action_pendingenum value to theresponse property for the response status - warning
added the new
mandate_action_pendingenum value to theresponse property for the response status - warning
added the new
mandate_action_pendingenum value to theresponse property for the response status - warning
added the new
mandate_action_pendingenum value to theresponse property for the response status - warning
added the new
mandate_canceledenum value to theresponse property for the response status - warning
added the new
mandate_canceledenum value to theresponse property for the response status - warning
added the new
mandate_canceledenum value to theresponse property for the response status - warning
added the new
mandate_canceledenum value to theresponse property for the response status - warning
added the new
mandate_expiredenum value to theresponse property for the response status - warning
added the new
mandate_expiredenum value to theresponse property for the response status - warning
added the new
mandate_expiredenum value to theresponse property for the response status - warning
added the new
mandate_expiredenum value to theresponse property for the response status - warning
added the new
mandate_invalid_statusenum value to theresponse property for the response status - warning
added the new
mandate_invalid_statusenum value to theresponse property for the response status - warning
added the new
mandate_invalid_statusenum value to theresponse property for the response status - warning
added the new
mandate_invalid_statusenum value to theresponse property for the response status - warning
added the new
mandate_policy_violationenum value to theresponse property for the response status - warning
added the new
mandate_policy_violationenum value to theresponse property for the response status - warning
added the new
mandate_policy_violationenum value to theresponse property for the response status - warning
added the new
mandate_policy_violationenum value to theresponse property for the response status - warning
added the new
mandate_revokedenum value to theresponse property for the response status - warning
added the new
mandate_revokedenum value to theresponse property for the response status - warning
added the new
mandate_revokedenum value to theresponse property for the response status - warning
added the new
mandate_revokedenum value to theresponse property for the response status - warning
added the new
subscription_limit_exceededenum value to theresponse property for the response status - warning
added the new
subscription_limit_exceededenum value to theresponse property for the response status - warning
added the new
subscription_limit_exceededenum value to theresponse property for the response status - warning
added the new
subscription_limit_exceededenum value to theresponse property for the response status
- warning
- warning
added the new
mfa_challenge_not_foundenum value to theresponse property for the response status - warning
added the new
mfa_challenge_not_foundenum value to theresponse property for the response status - warning
added the new
mfa_challenge_not_foundenum value to theresponse property for the response status - warning
added the new
mfa_challenge_not_foundenum value to theresponse property for the response status - warning
added the new
operation_in_progressenum value to theresponse property for the response status - warning
added the new
operation_in_progressenum value to theresponse property for the response status - warning
added the new
operation_in_progressenum value to theresponse property for the response status - warning
added the new
operation_in_progressenum value to theresponse property for the response status
- warning