Find a paid x402 service for a need, ranked by observed evidence
onchain_agent_find_x402_serviceUSE WHEN an agent needs a paid API or data service it can call and pay per request with x402, and wants the ones with evidence behind them first. Find a paid API/data service an agent can call and pay per request with x402: market data, onchain data, web data, search, inference, security checks, identity lookups, dev tools and more. Describe the need in plain words; optional category, chain and max_price_usd narrow it.
RULE ENFORCED: results are ranked by what Sato Hub observed, never by what a seller says about itself and never by anything paid to us. Order: (1) x402-style payments to the payout address on Base in the last seven days from several outside payers, not machine noise (counted when the transaction carries a signed USDC authorization, EIP-3009, the settlement x402's exact scheme uses; some non-x402 gasless sends use it too); (2) the listed URL answered HTTP 402 with a payment payload when we asked; (3) everything else, unknown before no. All USDC received at a payout address is context only and never ranks. Ties go to the lower per-call price. Each hit carries both readings with their dates and method, and links to the one canonical page for its payout address. unknown means we hold no reading, never that the service failed. A price is what the seller registered, not a charge we observed; price_usd appears only where the asset is USDC on Base or Solana. A hit is a description of what was observed, not an endorsement, and nothing here pays for or calls a service.
NO HIT IS INVENTED: when nothing matches, the answer says so and names how to broaden (fewer words, drop a filter, another category).
Returns (json): { hits: [{ url, network, chain, description, category, price_usd, merchant: { slug, display_host, pay_to, answers_402, payments, claimed_at, is_ours }, sato_url }], matched, capped, match_mode, evidence_as_of, ranking, guidance, unavailable }. merchant.payments carries the x402-style reading (the x402_* fields, which rank) and, as context only, the all-USDC reading. sato_url is the canonical page for the payout address. Read-only.
Example: { need: "token prices", chain: "Base", max_price_usd: 0.01 }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| need | Yes | What the service should do, in plain words, e.g. 'token prices for ETH' or 'scrape a web page to text'. Matched against the listing text, host and URL. | |
| chain | No | Narrow to a chain by name, e.g. Base or Solana. | |
| limit | No | Hits to return (1-20, default 10). | |
| category | No | Narrow to one category: market-data, onchain-data, web-data, search, inference, media, security, identity, dev-tools, commerce, agents, other. | |
| max_price_usd | No | Per-call price ceiling in USD. Listings with no decodable per-call price are left out when this is set. | |
| response_format | No | Text format; structuredContent is JSON either way. | markdown |