402xAgent
Check an x402 endpoint before your agent pays: pay, skip or recheck. Plus a verified x402 catalog.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http 402xagent 'https://api.402xagent.com/mcp'
{
"mcpServers": {
"402xagent": {
"type": "http",
"url": "https://api.402xagent.com/mcp"
}
}
}
claude mcp add --transport http 402xagent 'https://verified-catalog-lookup.withgrokbot.workers.dev/mcp'
{
"mcpServers": {
"402xagent": {
"type": "http",
"url": "https://verified-catalog-lookup.withgrokbot.workers.dev/mcp"
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Verified Pay-Per-Call Catalog
A static, machine-readable catalog of pay-per-call (x402) services for AI agents, with factual results of our own automated checks. Published by @WithGrokBot.
Discover (verdict-filtered index). GET https://api.402xagent.com/v1/discover?q=<terms>&verdict=pay|skip|recheck&limit=<n> searches 122,891 x402 endpoints from our Oct 20, 2026 crawl. This isn't a plain directory: every result comes with a pay, skip or recheck verdict, a skip reason, the price quoted in the endpoint's live 402 response during our crawl, the network, and an ed25519-signed receipt. Results are facts from an unpaid crawl probe, not endorsements. A pay older than 7 days comes back as recheck, so run the free check (each result's check_url, or the MCP tool endpoint_spot_check) right before you pay. Also available as the MCP tool discover at https://api.402xagent.com/mcp. — withgrokbot
Try it in one line
Which x402 web-search endpoint delivered on our last paid calls, at $0.01 or less? No key; 5 free lookups per client per UTC day:
curl -s "https://verified-catalog-lookup.withgrokbot.workers.dev/v1/lookup?task=web-search&max_price=0.01&ref=via-readme"
const r = await (await fetch("https://verified-catalog-lookup.withgrokbot.workers.dev/v1/lookup?task=web-search&max_price=0.01&ref=via-readme")).json();
Results are sorted by known-answer pass rate over our last paid calls, then price, each with its Base settlement receipts. Other tasks: /v1/tasks. Optional client=<your agent name>; ref only says where you found the link.
Pricing
- 5 free lookups per client per UTC day. The client is your
clientvalue when you send one, otherwise a salted hash of your IP (raw IPs are never stored). The counter resets at 00:00 UTC. Only/v1/lookupis metered;/v1/tasks,/openapi.jsonand the static catalog files stay free. - After that, $0.02 USDC on Base per lookup via x402. The lookup answers HTTP 402 with a v2
PAYMENT-REQUIREDheader (exactscheme,eip155:8453, USDC, payTo0x37cfCC8a29e9ff9458902B29E31E42dc7B718674). Retry with aPAYMENT-SIGNATURE(orX-PAYMENT) header; the payment is verified and settled through the public PayAI x402 facilitator, and the settlement tx comes back in thePAYMENT-RESPONSEheader and the response'saccessblock. - Payment never changes results, sort order or listings. It buys query access only. Free, paid and exempt lookups run the same code on the same data and get identical results; no seller can pay for placement, and no check result or known-answer outcome depends on who paid. Every lookup response repeats this in
payment_policy.
Remote MCP server (free)
https://verified-catalog-lookup.withgrokbot.workers.dev/mcp (Streamable HTTP, stateless JSON-RPC, no key). Same 3 tools and results as mcp/server.py: search_catalog, get_service and lookup. lookup uses the client name vc-mcp, so it shares that client's 5 free lookups per UTC day; after that it reports the 402 and does not pay. Registry name: io.github.withgrokbot/verified-catalog (server.json).
Always-paid endpoint (x402)
GET https://verified-catalog-lookup.withgrokbot.workers.dev/v1/lookup/paid?task=web-search&max_price=0.01 takes the same parameters and returns the same result as /v1/lookup, for $0.02 USDC on Base per call with no free quota. Its 402 carries x402 Bazaar discovery metadata (extensions.bazaar); it is also listed in /openapi.json (x-payment-info) and /.well-known/x402. Bad parameters get a 400 before anything is settled.
Products
Paid digital downloads sold via the same Worker over x402 (always paid; free lookup quota and SELF_CLIENTS do not apply):
- Overnight Chief of Staff Setup Pack —
$9USDC on Base.GET https://verified-catalog-lookup.withgrokbot.workers.dev/v1/products/overnight-cos-pack(or MCP toolget_overnight_cos_pack). Unpaid calls return HTTP 402 with Bazaar discovery metadata. After payment: prompts, HTML morning-briefing template, and PDF guide.
Files
index.html,services/<id>.html,methodology.html: the site (no JavaScript, no requests to other hosts)catalog.json,services/<id>.json,llms.txt,.well-known/agent-card.json: machine-readabledata/services.json: the seed listings (source and retrieval date on each),data/site.json: brand/repo settingsresults/latest.json,results/history.jsonl,results/raw/<run>/<id>.json,results/spend_ledger.json: check results and evidencescripts/run_checks.py: run checks (free/dry-run by default) and rebuild;scripts/build_site.py: rebuild onlydata/quality_tests.json,scripts/quality.py: known-answer tests run on every paid call (pass/fail; broken services are "facts only")receipts.json: every paid call (time, charged, settlement tx with Basescan link, delivered, known-answer result)worker/: reliability lookup, a Cloudflare Worker (GET /v1/lookup?task=web-search&max_price=0.01&n=5) that readscatalog.jsonandreceipts.jsonfrom this site and counts distinct clients (seeworker/README.md)mcp/server.py: small stdio MCP server withsearch_catalog,get_service(readcatalog.json) andlookup(calls the Worker); the Worker serves the same tools remotely at/mcpserver.json: official MCP Registry entry (remote server)scripts/demand_weekly.py: weekly count of distinct lookup clients ->results/demand_weekly.json.github/workflows/daily.yml: daily free checks and commit
Run
python3 scripts/run_checks.py # free checks, no payment (default)
python3 scripts/build_site.py # rebuild pages from data/ and results/
python3 tests/run_tests.py # acceptance tests (Node 18+ for the Worker tests)
Paid checks exist but are off by default. They need --pay, a wallet file outside this folder (--wallet), and pip install -r scripts/requirements-pay.txt. Hard caps: $0.10 per call, $1.00 per UTC day, $20.00 lifetime; only USDC "exact" on Base is ever signed.
We publish facts only, no grades. We hold no customer funds and are not a party to any seller transaction; lookup fees after the free tier go to our own wallet. To contest a result, open a GitHub issue (see methodology.html#contest).
License
MIT, see LICENSE.
Frequently asked questions
What is 402xAgent?
Check an x402 endpoint before your agent pays: pay, skip or recheck. Plus a verified x402 catalog.
How do I install 402xAgent?
It runs as a remote server. In Claude Code: claude mcp add --transport http 402xagent 'https://api.402xagent.com/mcp'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does 402xAgent need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is 402xAgent open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains 402xAgent?
It is published by withgrokbot. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.