# 402xAgent + x402 Verified Catalog Start with the free check: GET https://api.402xagent.com/v1/products/endpoint-spot-check?url= Real example: GET https://api.402xagent.com/v1/products/endpoint-spot-check?url=https://api.402rates.com/v1/ping -> {"verdict":"pay","reason":"listed $0.001, payment request matches the listed price","receipt_url":"https://402xagent.com/v1/receipts/sc-1373dc485641b938"} 5 free checks per client per UTC day (at most 25 per network), free dry runs with &mode=dry-run, prior checks at https://402xagent.com/v1/skips. After that, the paid check (HTTP 402, $0.02 USDC on Base via x402) adds the full payment terms. 402xAgent checks an x402 endpoint right before your agent pays: pay | skip | recheck, plus the exact payment to sign. Home: https://402xagent.com. API: https://api.402xagent.com (same routes on every host; the old https://verified-catalog-lookup.withgrokbot.workers.dev keeps working). - Skips page (free): https://402xagent.com/v1/skips (JSON: https://402xagent.com/v1/skips.json). 121,785 self-checked x402 endpoints (weekly crawl); the skip list shows which ones disagree with their listing. - Bazaar check (free): https://402xagent.com/bazaar (JSON: https://402xagent.com/bazaar.json). Our daily check of the top CDP Bazaar search results. - Status badge (free): https://402xagent.com/badge/api.402rates.com.svg (any host in place of api.402rates.com; optional ?path=/exact/path). Green "pay ยท stable N days" only when the latest check is pay and under 72 h old; otherwise grey "stale" or "not verified". Embed: [![402xAgent status](https://402xagent.com/badge/api.402rates.com.svg)](https://402xagent.com/badge/api.402rates.com). Every receipt carries its own badge snippet (Markdown + HTML). - Saves (free): https://402xagent.com/saves (JSON: https://402xagent.com/saves.json). Endpoints from the last 30 days whose live 402 differed from the listing (asked more, paid a different wallet, or another network), with redacted receipts. - Rules (free): https://402xagent.com/rules (JSON: https://402xagent.com/rules.json). Every verdict carries a stable reason_code and a confidence (high|medium|low); the codes and confidence rules are listed there. - All receipts: https://402xagent.com/v1/receipts (live receipts: https://402xagent.com/v1/receipts/sc-; dry runs: https://402xagent.com/v1/receipts?type=dry-run; latest for a URL: https://402xagent.com/v1/receipts/by-url?url=; free to read) - Check before you pay: GET https://api.402xagent.com/v1/products/endpoint-spot-check?url=https://example.com/api/paid returns pay|skip|recheck (the 402xAgent check; route path kept for compatibility). Free dry run: add &mode=dry-run. 5 free/day (25 per network), then $0.02 USDC a check on Base via x402. - After you pay (did it land? safe to sign again?): POST https://api.402xagent.com/v1/products/payment-status with JSON {"payment_payload":"","seller_url":""} (or tx_hash, or from + nonce). Base USDC (EIP-3009) only. Returns status landed|not_landed|pending|canceled|unknown, safe_to_retry_same_payload (always true), safe_to_resign (true only when two independent RPC sources agree the nonce is unused and validBefore has passed), tx details, terms match, a claim pointer, and a signed receipt. Same price and the same 5 free/day as the check. Docs: https://402xagent.com/docs#payment-status - Hosted mode for routers/wallets (integrator key, Authorization: Bearer 402x_live_...): 1,000 free hosted checks, then $0.02, $0.01 after 1,000 a month, monthly USDC invoice: https://402xagent.com/docs#hosted - One-line guard for x402 clients (@x402/fetch, @x402/axios): https://github.com/withgrokbot/x402-spotcheck -> const pay = wrapFetchWithPayment(spotCheckFetch(fetch), client); (blocks the payment on skip) - OpenAPI: https://api.402xagent.com/openapi.json MCP: https://api.402xagent.com/mcp - Pricing: https://402xagent.com/pricing Docs: https://402xagent.com/docs (quick start: https://402xagent.com/docs#quick-start) - Blog: https://402xagent.com/blog - 32,084 Skips: What Your x402 Agent Almost Paid For: https://402xagent.com/blog/x402-skips-report-what-agents-almost-paid-for - Your x402 Call Timed Out After Signing. Don't Re-Sign Yet.: https://402xagent.com/blog/x402-retry-double-pay-check-before-you-resign - Preflight, Budget, Then Check: Where 402xAgent Fits: https://402xagent.com/blog/preflight-budget-then-check - Meet 402xAgent: Ask Before Your Agent Pays: https://402xagent.com/blog/meet-402xagent-check-before-your-agent-pays - Signed receipts: new receipts carry kid + signature (ed25519 over RFC 8785 JCS of the receipt minus signature). Public keys: https://api.402xagent.com/.well-known/402xagent-keys.json. Verify offline: https://402xagent.com/docs#receipt-signatures or x402-spotcheck 1.1.0 verifyReceipt().