{"meta":{"capability":"compass.discovery","version":"0.1.0","schema_version":"0.5.0","generated_at":"2026-09-10T04:31:51.239Z","request_id":"req_1723c46e","freshness":{"policy_max_age_s":1814400,"all_sources_within_policy":true,"oldest_source_age_s":263289,"valid_until":"2026-09-28T03:23:42.693Z","cache_ttl_s":1551111},"sources":[{"id":"cdp.x402.discovery","kind":"catalogue_snapshot","url":"https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources","fetched_at":"2026-09-07T03:23:42.693Z","max_age_s":1814400,"access":"public","method":"GET /discovery/resources, walked in full"}],"units":{"price_usdc":"usdc_per_call","calls_30d":"calls_per_30_days","unique_payers_30d":"distinct_paying_addresses_per_30_days","calls_per_payer":"ratio","days_since_last_call":"calendar_days","match_score":"query_tokens_found_in_description"},"disclaimer":"Informational data and calculation service only. Not investment, legal, tax or accounting advice; not an offer, solicitation, recommendation, or determination of eligibility or suitability. Source and onchain data may be inaccurate, incomplete, delayed, stale or conflicting. Verify independently. The caller remains responsible for every decision and action; 402rates.com does not execute investment transactions or hold financial assets on the caller's behalf.","method":{"name":"402rates x402 Directory Method","version":"1.0.0","spec_url":"https://402rates.com/discovery-method-v1","searched_fields":["description","service_name","resource_url","tags"],"matching":"every query token must appear as a whole word in the indexed text; a token that matches only part of a word does not match. There is no OR path, no stemming and no relaxed second search: if nothing matches, the result is empty.","ranking":["match_score desc","unique_payers_30d desc","calls_30d desc","resource asc"],"ranking_note":"ranked on payers rather than calls because calls can be produced from a single address and a broad payer base cannot be as cheaply. That is the only claim being made for it.","self_listing":"resources operated by 402rates.com are ranked by the same rule as every other entry and receive no adjustment. A test asserts it.","query":null,"query_tokens":[],"metrics":{"calls_per_payer":{"definition":"calls_30d divided by unique_payers_30d, over the 30 days the catalogue reports","does_not_show":"nothing about intent or quality. A value near 1 means one call per paying address, which can equally be a campaign, a tool people try exactly once, or a one-off onboarding step. We cannot tell them apart and do not claim to.","raw_fields":["calls_30d","unique_payers_30d"]},"days_since_last_call":{"definition":"whole days between last_called_at as the catalogue reports it and the snapshot date","does_not_show":"whether the service is up. It reports paid traffic through this catalogue only; a resource that is heavily used through another facilitator or a direct integration looks idle here.","raw_fields":["last_called_at","snapshot_date"]},"match_score":{"definition":"how many of the query tokens appear as whole words in the provider's own description; null when no query was given","does_not_show":"relevance in any semantic sense. It is a word count, not an understanding of the question.","raw_fields":["query_tokens"]}},"snapshot_date":"2026-09-07","snapshot_taken_at":"2026-09-07T03:23:42.693Z","source_note":"figures are the CDP x402 discovery catalogue's own quality counters, read in bulk at the snapshot date. The catalogue sees only payments settled through it: traffic through another facilitator, or a direct agreement between two parties, is invisible here and is not absence of use."},"counts":{"catalogue_size":15525,"matched":15525,"ranked_over":500,"returned":10,"descriptions_withheld":0},"filters":{"q":null,"max_price_usdc":null,"network":null,"limit":10},"limitations":"figures come from one snapshot of the CDP catalogue and describe the 30 days that catalogue reports; they are not live; the catalogue counts only payments settled through it, so a resource used through another facilitator or a direct agreement looks quieter here than it is; every figure is a count. No entry in this directory carries a quality judgement, a score, or a label about anyone's intent; 15525 resources matched and the ranking was applied to the top 500 of them in the published order; a lower-ranked match cannot appear in this answer"},"data":[{"resource":"https://api.onesource.io/api/chain/erc20-balance","service_name":null,"description":"ERC20 token balance for any Ethereum wallet - USDC, USDT, DAI, or any token - via balanceOf (eth_call) on OneSource live Ethereum RPC","description_withheld":null,"networks":["eip155:8453"],"price_usdc":0.003,"calls_30d":1149,"unique_payers_30d":1143,"calls_per_payer":1.005,"last_called_at":"2026-09-06T21:26:58.867Z","days_since_last_call":3,"segments":[],"match_score":null,"snapshot_date":"2026-09-07"},{"resource":"https://api.onesource.io/api/chain/ens/:input","service_name":null,"description":"ENS resolve - turn a .eth name into an address, or an address into its primary .eth name, via eth_call on OneSource live Ethereum RPC","description_withheld":null,"networks":["eip155:8453"],"price_usdc":0.005,"calls_30d":1131,"unique_payers_30d":1128,"calls_per_payer":1.003,"last_called_at":"2026-09-06T21:27:09.858Z","days_since_last_call":3,"segments":[],"match_score":null,"snapshot_date":"2026-09-07"},{"resource":"https://api.onesource.io/api/chain/block-number","service_name":null,"description":"Latest Ethereum block height - current chain tip via eth_blockNumber","description_withheld":null,"networks":["eip155:8453"],"price_usdc":0.001,"calls_30d":1274,"unique_payers_30d":1016,"calls_per_payer":1.254,"last_called_at":"2026-09-07T00:01:51.491Z","days_since_last_call":3,"segments":[],"match_score":null,"snapshot_date":"2026-09-07"},{"resource":"https://api.onesource.io/api/chain/live-balance","service_name":null,"description":"Live wallet balance - native ETH plus up to 20 caller-supplied ERC20 tokens in one bounded RPC batch","description_withheld":null,"networks":["eip155:8453"],"price_usdc":0.003,"calls_30d":1005,"unique_payers_30d":999,"calls_per_payer":1.006,"last_called_at":"2026-09-06T21:26:49.871Z","days_since_last_call":3,"segments":[],"match_score":null,"snapshot_date":"2026-09-07"},{"resource":"https://api.onesource.io/api/chain/tx/:hash","service_name":null,"description":"Full Ethereum transaction details by hash via eth_getTransactionByHash - from, to, value, calldata, block","description_withheld":null,"networks":["eip155:8453"],"price_usdc":0.008,"calls_30d":980,"unique_payers_30d":942,"calls_per_payer":1.04,"last_called_at":"2026-09-06T21:17:27.453Z","days_since_last_call":3,"segments":[],"match_score":null,"snapshot_date":"2026-09-07"},{"resource":"https://api.onesource.io/api/chain/block/:number","service_name":null,"description":"Fetch an Ethereum block header and transaction hashes by number, tag, or hex via eth_getBlockByNumber","description_withheld":null,"networks":["eip155:8453"],"price_usdc":0.003,"calls_30d":752,"unique_payers_30d":750,"calls_per_payer":1.003,"last_called_at":"2026-09-06T21:27:01.992Z","days_since_last_call":3,"segments":[],"match_score":null,"snapshot_date":"2026-09-07"},{"resource":"https://api.onesource.io/api/chain/nonce/:address","service_name":null,"description":"Next transaction nonce for any Ethereum wallet via eth_getTransactionCount - how many txs it has sent","description_withheld":null,"networks":["eip155:8453"],"price_usdc":0.003,"calls_30d":748,"unique_payers_30d":744,"calls_per_payer":1.005,"last_called_at":"2026-09-06T20:08:54.445Z","days_since_last_call":3,"segments":[],"match_score":null,"snapshot_date":"2026-09-07"},{"resource":"https://api.onesource.io/api/chain/contract/:address","service_name":null,"description":"Best-effort contract introspection via batched RPC - bytecode presence, token metadata, and ERC20-like/ERC721/ERC1155 classification","description_withheld":null,"networks":["eip155:8453"],"price_usdc":0.005,"calls_30d":741,"unique_payers_30d":741,"calls_per_payer":1,"last_called_at":"2026-09-06T21:27:06.186Z","days_since_last_call":3,"segments":[],"match_score":null,"snapshot_date":"2026-09-07"},{"resource":"https://api.onesource.io/api/chain/erc20-transfers","service_name":null,"description":"ERC20 Transfer logs via eth_getLogs - raw Transfer events for a token or wallet","description_withheld":null,"networks":["eip155:8453"],"price_usdc":0.005,"calls_30d":743,"unique_payers_30d":737,"calls_per_payer":1.008,"last_called_at":"2026-09-06T21:25:10.822Z","days_since_last_call":3,"segments":[],"match_score":null,"snapshot_date":"2026-09-07"},{"resource":"https://api.onesource.io/api/chain/erc721-tokens","service_name":null,"description":"List every ERC721 NFT token_id a wallet owns in a collection via tokenOfOwnerByIndex (eth_call)","description_withheld":null,"networks":["eip155:8453"],"price_usdc":0.008,"calls_30d":736,"unique_payers_30d":733,"calls_per_payer":1.004,"last_called_at":"2026-09-06T21:23:53.872Z","days_since_last_call":3,"segments":[],"match_score":null,"snapshot_date":"2026-09-07"}],"related":[{"id":"compass.tests.preflight","path":"/v1/tests/preflight","method":"POST","price_usd":0,"description":"Free inspection of supplied x402 v1/v2 payment terms against the SDK schema and optional network, asset, recipient and atomic budget constraints. Exact EVM profile checks only. No wallet connection, external fetch, signature verification or settlement. Other profiles are explicitly untested."},{"id":"compass.rwa.changes","path":"/v1/rwa/changes","method":"POST","price_usd":0,"description":"Free comparison of two supplied 402rates Treasury snapshots: yield, issuer divergence, source identifiers, calculation windows and data availability. Reports numeric threshold crossings without assigning economic significance. No new data access, authentication of snapshots, historical reconstruction or automatic monitoring. Examples are synthetic."},{"id":"compass.tests.case","path":"/v1/tests/case","price_usd":0,"description":"Free description of one versioned synthetic task, its limits and coverage. No run is created. No payment or wallet is involved."},{"id":"compass.tests.run","path":"/v1/tests/run","method":"POST","price_usd":0,"description":"Create a free bounded synthetic run without an account. An optional finalized previous run and its token link a repeat of the same case version. No real purchase. Caller model costs remain external."},{"id":"compass.tests.action","path":"/v1/tests/action","method":"POST","price_usd":0,"description":"Create a synthetic operation for a run. The first committed action replaces its confirmation with an application-level error. Identical keys and payloads replay the stored operation; new keys can create more operations. No real purchase or payment."},{"id":"compass.tests.state","path":"/v1/tests/state","method":"POST","price_usd":0,"description":"Read operation records for a synthetic task. Observation timestamps and state describe the test service only. No claim about client receipt or overall agent reliability."},{"id":"compass.tests.report","path":"/v1/tests/report","method":"POST","price_usd":0,"description":"Read calls, timestamps, operations and resulting state. Optional finalization freezes the run. A linked repeat includes the previous frozen report while retained. No score, certification or judgment of the agent."},{"id":"compass.settlement.costs","path":"/v1/settlement/costs","price_usd":0.01,"description":"Measured USDC transfer costs on Base, Polygon, Arbitrum, Ethereum and XDC: simulated gas, current token prices, fresh chain heads and applicable rollup L1 fees. Inputs and block references accompany each figure. Cheapest first; unmeasurable chains are excluded, not estimated. Business/professional use only. Terms: https://402rates.com/data-terms/"},{"id":"compass.rwa.yields","path":"/v1/rwa/yields","price_usd":0.03,"description":"Realised 30-day yields for 13 tokenized treasury funds under the Open Treasury Yield Basis. Measured rows use NAV, price or verified passive-holder balances, with observations, sources and dates. Issuer figures and differences appear where available. Quoted and unavailable rows stay explicit; free coverage lists funds and gaps. Business/professional use only. Terms: https://402rates.com/data-terms/"},{"id":"compass.rwa.coverage","path":"/v1/rwa/coverage","price_usd":0,"description":"Free coverage list for the tokenized treasury yield data: every instrument tracked, its accrual family, its currency, its chains, whether its figure is measured or quoted and why, the span of the recorded observation store, and the instruments we know exist and cannot yet price together with what each would require."},{"id":"compass.rwa.filter","path":"/v1/rwa/filter","price_usd":0,"description":"Free access filter for tokenized treasury funds: state facts about yourself - each naming the legal regime it belongs to, such as Regulation S US-person status, Investment Company Act qualified-purchaser status or Regulation D accredited-investor status - plus your own limits on minimum subscription, settlement days, entry and exit fees and the chain you would use, and get back three separate groups. matches, where no issuer statement contradicts what you stated; excluded, where one does, each with the issuer's own words, the source URL and the date it was read; and unresolved, where nobody published enough to tell. A missing parameter is unknown and never excludes anything, and a data gap is never reported as an exclusion."},{"id":"compass.rwa.instrument","path":"/v1/rwa/instrument","price_usd":0,"description":"Free frozen-contract state view for one tracked tokenized treasury: identity, the Open Treasury Yield Basis result or its explicit unavailable reason, measured deployment size or its explicit unavailable reason, issuer-term cells with evidence status and citations, verified deployments, and the dates behind each evidence group. Three distinct tickers are free per caller in a rolling hour; repeats stay free, and the fourth points to the paid complete snapshot."},{"id":"compass.rwa.history","path":"/v1/rwa/history","price_usd":0,"description":"Free normalized history for one tokenized-treasury instrument and one reconstructible recorder source per call. Each point carries value, date, source id, revision and source-time or read-time dating. Data requires an inclusive date_from/date_to window. Source discovery is free; the five current-only issuer series return HISTORY_SOURCE_RESERVED and the data-use URL instead of an empty gap. The three-ticker rolling-hour breadth rule is shared with the instrument view."},{"id":"compass.rwa.instruments.all","path":"/v1/rwa/instruments","price_usd":5,"description":"Complete evidence snapshot for 13 tokenized treasury funds: yield or gap, measured size, subscription/redemption minimums, fees, settlement, access conditions, chain conflicts, quotes, URLs and dates. Same records as the free instrument view. Internal use with attribution included; continuous access, change notices and customer-facing use are separate. Business/professional use only. Terms: https://402rates.com/data-terms/"},{"id":"compass.ping","path":"/v1/ping","price_usd":0.001,"description":"Payment integration check for 0.001 USDC; no external data lookup. Returns time, rail, network mode and free/paid capabilities. HTTP payment options can include Base, Polygon, Arbitrum and XDC; the challenge lists currently available networks for each transport. The receipt identifies the paid network and transaction. Business/professional use only. Terms: https://402rates.com/data-terms/"},{"id":"compass.manifest","path":"/v1/manifest","price_usd":0,"description":"Free OpenAPI 3.1 manifest of every live 402rates.com capability, including per-operation x-payment-info with prices, networks and payment addresses."},{"id":"compass.health","path":"/health","price_usd":0,"description":"Free liveness probe returning the configured network mode and server time."},{"id":"compass.ready","path":"/ready","price_usd":0,"description":"Free readiness probe reporting whether the chain and price sources a paid call depends on are currently reachable. Answers 503 when they are not."}]}