List all x402 services
Returns a paginated list of registered x402 services with computed fields like uptime, pricing, and endpoint count. Supports filtering by network, status, category, verification state, signability of the 402 envelope, and full-text search.
Request
- Base URL: https://x402-list.com/api/v1
- URL: https://x402-list.com/api/v1/services
- Auth: none declared
Query parameters
Filter by single network abbreviation (e.g. BSE, SOL, POL; the full list is served by /networks). An unrecognized abbreviation returns 400 Bad Request.
Filter by service status. An unrecognized value returns 400 Bad Request; omit the parameter to include every status.
Filter by category, one of the closed category set (case-insensitive). A value outside the set returns 400 Bad Request; omit to include every category.
Filter by the FORTE verification tier: a paid delivery-probe settled on-chain and delivered AND the badge was not since revoked on payTo/schema drift (no time decay). true = delivery-verified only, false = everything else. Omit to include both. SEMANTIC CHANGE (treno D3): this filter previously meant "answered a valid x402 challenge and is alive" - that broad signal is now the payment_ready parameter. This tier starts empty and grows only with real payments, so verified=true can legitimately return 0 rows. Applied server-side, so meta.total counts the filtered set. Any other value returns 400 Bad Request.
Filter by the BASE payment-ready tier: the endpoint answered a valid x402 402 challenge and is alive within the decay window (a probe success within the last 7 days, or it is api-key exempt). true = payment-ready only, false = everything else. Omit to include both. This is the broad discovery signal the verified parameter used to carry before treno D3. Applied server-side, so meta.total counts the filtered set. Any other value returns 400 Bad Request.
Filter by provenance (how the listing entered the directory, matching the source field on each item): submitted, imported (any imported:* origin), imported:bazaar, imported:x402scan, or all for no filter. An unrecognized value returns 400 Bad Request.
Filter on the SIGNABILITY of the last observed 402 envelope: true = no EVM route of the service was observed missing the EIP-712 domain parameters (extra.name and extra.version) that a standard x402 client requires in order to sign a payment; false = at least one such route was observed. This describes the payment envelope on the wire, not the merit or reliability of the service. Derived from the eip712_domain_extra check of the latest assessment (the same id that appears in assessment.compliance_failed_checks). A service whose latest assessment has not measured that check yet (never assessed, assessed before the check existed, or assessed with no 402 payload captured at all) matches NEITHER value: omit the parameter to include it. Applied server-side, so meta.total counts the filtered set. Any other value returns 400 Bad Request.
Sort order. A value outside the enum returns 400 Bad Request.
Case-insensitive substring search across name, description, category, and base URL. The search and query parameters are accepted as aliases; q takes precedence when more than one is sent.
Page number
Results per page
Response
Paginated list of services. Shared-cacheable for up to 5 minutes (Cache-Control: public, max-age=300, s-maxage=300, stale-while-revalidate=60); carries no per-IP X-Meter-* or X-RateLimit-* headers.
Example response
{
"data": [
{
"slug": "weather-x402",
"name": "Weather x402",
"category": "Data",
"source": "submitted"
}
],
"provenance": {
"attribution": "Data: x402-list.com (CC BY 4.0)",
"cite_as": "https://x402-list.com/services/acme-generate",
"source": "https://x402-list.com"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.