Paid buyer-side trust oracle: 'I need X, budget $Y — which x402 tool is real?' Sweeps the WHOLE x402 marketplace across many queries (a single search shows only a slice), collapses sybil/factory clusters (one wallet stamping many fake-distinct listings → one entry), ranks the genuinely-used survivors by real unique-payer usage, and returns ONE vetted recommendation with a ready-to-pay x402 challenge. The credit-bureau check an agent cannot do itself in one query — pay $0.01 to avoid paying a scam or a dead stub..
An agent is about to pay an unknown x402 tool and wants the real, used, non-sybil one under budget — not just the cheapest.
| name | type | required | description |
|---|---|---|---|
need | string | yes | What the agent needs, e.g. 'dex pair liquidity', 'crypto prices' |
budget_usd | number | no | Max USDC the agent will pay the downstream tool per call |
chain | string | no | Optional chain filter: 'base', 'arbitrum', 'arbitrum-stack'. Empty = all chains. |
recommendation (with ready_to_pay), survivors[], catalog{scanned, real_providers, sybil_collapsed, biggest_factory}, vetting summary
{
"need": "dex pair liquidity",
"chain": null,
"budget_usd": "1",
"recommendation": {
"name": "Otto AI",
"url": "https://otto.example/dex",
"price_usd": "0.001",
"network": "eip155:8453",
"pay_to": "0x0e84ddedaae6a7",
"payers30d": 200,
"calls30d": 3246,
"quality": 3851,
"flags": [],
"ready_to_pay": {
"url": "https://otto.example/dex",
"network": "eip155:8453",
"price_usd": "0.001",
"accepts": {
"scheme": "exact",
"network": "eip155:8453"
}
}
},
"survivors": [],
"catalog": {
"scanned": 117,
"after_vetting": 114,
"real_providers": 41,
"unique_wallets": 38,
"sybil_collapsed": 73,
"biggest_factory": {
"pay_to": "0x2bb72231eed3",
"listings": 72
}
},
"vetting": "swept 17 queries \u2192 117 listings \u2192 collapsed 73 sybil listings \u2192 41 real providers"
}
curl -X POST https://agentpay.tools/tools/verified_route/call \
-H 'Content-Type: application/json' \
-d '{"parameters": {"need": "What the agent needs, e.g. 'dex pair liquidity', 'crypto prices'"}, "agent_address": "<your wallet or any identifier>"}'
# → HTTP 402 challenge → pay USDC on Base (gasless EIP-3009) or Stellar,
# retry with the payment proof header. The SDK below does this for you.
from agentpay import quickstart # pip install agentpay-x402
s = quickstart(max_spend=0.10) # hard budget cap; mints a wallet, no funding needed
r = s.call("verified_route", {"need": "What the agent needs, e.g. 'dex pair liquidity', 'crypto prices'"})
print(r.data) # + r.cost, r.tx, r.network — full receipt
npx -y @romudille/agentpay-mcp # keyless; exposes verified_route to any MCP agent runtime