An autonomous agent about to pay an endpoint it has never used has almost nothing to go on.
So we sweep the public x402 catalogue — one representative endpoint per origin — and score each origin from the
outside using the same trust layer we sell: unpaid 402 behaviour, challenge conformance, discovery documents,
on-chain payTo reputation and price sanity.
| # | origin | score | verdict | endpoints | payTo | main finding |
|---|---|---|---|---|---|---|
| 1 | https://agentdata-api.sander-van-aard.workers.dev | 97 | pay | 35 | 0xb0ae6a9bd7… | payTo is an EOA running a smart-wallet delegation (0x7702cb55…) — the key holder still controls the funds |
| 2 | https://data.greeneris.io | 97 | pay | 34 | 0x6ab8efe305… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 3 | https://x402.freeq.one | 97 | pay | 32 | 0x90b0dC8934… | payTo is a plain EOA (no contract can freeze the funds) |
| 4 | https://agents.dexl.io | 97 | pay | 26 | 0x820D61a720… | payTo is an EOA running a smart-wallet delegation (0x63c0c19a…) — the key holder still controls the funds |
| 5 | https://lab.paidapis.net | 97 | pay | 23 | 0xf74f2020aC… | payTo is a plain EOA (no contract can freeze the funds) |
| 6 | https://twitter.use.x402atlas.com | 97 | pay | 21 | 0x51D577C8CB… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 7 | https://toolcall.click | 97 | pay | 20 | 0x84FA7Ea830… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 8 | https://asistent-crypto.vercel.app | 97 | pay | 19 | 0xbeeBd30639… | payTo is an EOA running a smart-wallet delegation (0x63c0c19a…) — the key holder still controls the funds |
| 9 | https://api.cn402.com | 97 | pay | 19 | 0x4466d4A84b… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 10 | https://disruption.forgemesh.io | 97 | pay | 18 | 0xA8774fACfD… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 11 | https://x402.coinopai.com | 97 | pay | 16 | 0x1304EC1A89… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 12 | https://stockwaves.net | 97 | pay | 16 | 0xDc9F94A8b9… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 13 | https://api.interzoid.com | 97 | pay | 15 | 0xdCEca23FF8… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 14 | https://kronos.forgemesh.io | 97 | pay | 13 | 0x1CcEf327b3… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 15 | https://relay.straelo.com | 97 | pay | 12 | 0x267ead21c0… | payTo is an EOA running a smart-wallet delegation (0x7702cb55…) — the key holder still controls the funds |
| 16 | https://scout.hugen.tokyo | 97 | pay | 12 | 0x29322Ea7Ec… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 17 | https://defi.hugen.tokyo | 97 | pay | 12 | 0x29322Ea7Ec… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 18 | https://api.ukintel.uk | 97 | pay | 11 | 0x8aa6a85a27… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 19 | https://agent-arcade.use.x402atlas.com | 97 | pay | 10 | 0x8C128f1Ee6… | payTo is a plain EOA (no contract can freeze the funds) |
| 20 | https://trust-agent.io | 97 | pay | 10 | 0x6121654D3F… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 21 | https://voice.forgemesh.io | 97 | pay | 10 | 0x962794FB8a… | payTo is a plain EOA (no contract can freeze the funds) |
| 22 | https://workbot1.oddsys.org | 97 | pay | 10 | 0x15459498e1… | payTo is an EOA running a smart-wallet delegation (0x7702cb55…) — the key holder still controls the funds |
| 23 | https://paddock.finance | 97 | pay | 10 | 0x153AA87807… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 24 | https://xhagents.xyz | 95 | pay | 19 | 0x6cb53f00a5… | payTo is a contract: withdrawals depend on its code |
| 25 | https://mcp.yield.xyz | 95 | pay | 16 | 0xD433f05627… | payTo is a contract: withdrawals depend on its code |
| # | origin | score | verdict | endpoints | payTo | main finding |
|---|---|---|---|---|---|---|
| 1 | https://apexfaucet.xyz | 17 | avoid | 75 | … | slow challenge (19804 ms) — an agent's budget may expire before it pays |
| 2 | https://fabair-agents.com | 22 | avoid | 10 | … | no reachable .well-known/x402 discovery document |
| 3 | https://saylorinnovations.com | 22 | avoid | 102 | … | no reachable .well-known/x402 discovery document |
| 4 | https://api.loopholetape.com | 24 | avoid | 24 | … | endpoint answered 200 with no payment: there is nothing to trust here, it is free |
| 5 | https://x402.professorsausages.com | 29 | avoid | 42 | … | the resource is not listed in its own .well-known/x402 document |
| 6 | https://api.agentmercantile.com | 33 | avoid | 11 | … | the resource is not listed in its own .well-known/x402 document |
| 7 | https://www.cultos.dev | 37 | avoid | 15 | … | payTo reputation NOT measured: the accepts entry declares no payTo, so there is nothing to verify on-chain |
| 8 | https://smx.space | 39 | avoid | 10 | 0x5799fe0715… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 9 | https://omniterminal.app | 57 | avoid | 13 | 0x733f40A4FA… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 10 | https://http--forest-gas-station--lcjl27p8lmjs.code.run | 64 | pay_with_caution | 42 | 0xf9c2a7255E… | the resource is not listed in its own .well-known/x402 document |
| 11 | https://api.cra-agent.tech | 65 | pay_with_caution | 23 | 0x33b37c6d7a… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 12 | https://agents.bytemine.ai | 67 | pay_with_caution | 13 | 0xfc02bedbe1… | no reachable .well-known/x402 discovery document |
| 13 | https://api.liquidagent.ai | 68 | pay_with_caution | 11 | 0x487b28A4Fb… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| 14 | https://backpedal-discourse-easeful.ngrok-free.dev | 68 | pay_with_caution | 11 | 0x9265E5a6A0… | no reachable .well-known/x402 discovery document |
| 15 | https://oraclepost.higgsfield.app | 68 | pay_with_caution | 32 | 0x93e71F65e8… | the POST probe answered without a challenge while GET returned the 402: an agent has to pick the right verb |
| verdict | origins |
|---|---|
| avoid | 9 |
| pay | 269 |
| pay_with_caution | 22 |
| penalty | occurrences |
|---|---|
| payTo is a plain EOA (no contract can freeze the funds) | 213 |
| the POST probe answered without a challenge while GET returned the 402 | 131 |
| the resource is not listed in its own .well-known/x402 document | 101 |
| openapi.json is not valid JSON | 88 |
| no reachable .well-known/x402 discovery document | 85 |
| openapi.json documents this path without an input schema | 62 |
| 25 USDC inflows from 5 sender(s) on record | 35 |
| 5 distinct senders = more than one buyer's word for it | 35 |
| no reachable openapi.json | 34 |
| 3 distinct senders = more than one buyer's word for it | 34 |
| .well-known/x402 is not valid JSON | 34 |
| 4 distinct senders = more than one buyer's word for it | 34 |
One endpoint, live, for $0.05 USDC — POST https://xhagents.xyz/api/x402-trust
with {"url": "…"} gives you the same 0-100 report with the evidence and the penalties.
The full ranking as JSON, filterable by verdict and score, is $0.05 —
GET https://xhagents.xyz/api/trust-leaderboard?limit=100&order=worst.
Free method page and top-ten preview: /api/trust-leaderboard/method.
Every endpoint is listed with its price in openapi.json and /.well-known/x402.
one representative endpoint per origin, scored with XH Agents' x402 trust layer: unpaid 402 probe, challenge conformance, discovery documents, on-chain payTo reputation (USDC inflows seen by a transfer indexer; Solana via public RPC), price sanity
Not checked: behaviour after payment (whether a seller delivers), uptime over time — each row is a point-in-time probe, operator identity, content accuracy, payTo reputation is a bounded look at the last 25 incoming USDC transfers; a row that says 'NOT measured' means the indexer or RPC refused the query, not that the address is empty, origins that sell on other chains than Base and Solana: their payTo cannot be inspected this way.
Unreachable at sweep time: 0 origins