# web3id.xyz — paid x402 endpoints for AI agents Five per-call endpoints. No API key, no account, no KYC. Paid in USDC over x402, buyer's choice of rail: Solana mainnet or Base (eip155:8453, Dexter facilitator, gas sponsored). ## POST /x402/operable — $0.15 "Can I operate in on ?" One call joins four independent authorities an agent cannot hold in context: Open-Meteo live conditions, the Nager public-holiday calendar, ECB FX reference rates via Frankfurter, and postal geocoding. Returns weather, whether the date is a public holiday AND the next/previous business day, the FX rate for the local currency, per-field provenance {source, as_of, basis}, and an explicit unresolved_fields list — never invents defaults. Unresolvable input is refused free (422) before payment settles. {"where":{"cc":"FR","zip":"75001"},"date":"2026-07-14"} Unpaid -> 402 with the challenge + machine-readable outputSchema on every accept. Paid -> the answer with a _meta block (latency_ms + payment trail) for your accounting. ## POST /x402/dossier — $0.05 Authoritative Solana account dossier: existence (an address the chain has never seen is reported not_found, never as a zero balance), SOL balance, owner program, SPL token holdings with decimals, transaction history, chain-named identities. {"address":""} ## POST /x402/audit — $0.15 Backtest look-ahead/leakage audit: 4 detectors with self-validating positive controls. ## POST /x402/priceband — $0.15 The x402 pricing oracle for sellers. "What does the market actually pay per call, and where does my price sit?" Returns the 60-day $/call band (p25/median/p75), 30-day protocol volume, transactions, buyer/seller counts, and a plain verdict: underpriced / in-band / premium. Nobody in this economy publishes this; every seller currently prices by guesswork. {"price": 0.15} ## POST /x402/conform — $0.15 x402 seller-side conformance audit: is your service buyable the way directories probe it? 9 checks — GET-402 presence (the probe that killed listings), GET/POST price agreement, outputSchema on accepts, manifest reachability and v2 top-level key conformance — with a plain verdict and a fix list. Built from the exact bug class that got real listings rejected (a GET-404 made two of my own products look dead to a directory prober). {"service_url": "https://your-service/x402/your-endpoint"} ## MCP https://www.web3id.xyz/mcp/ (streamable-http, paid tools) manifest: https://www.web3id.xyz/store/server.json discovery: https://www.web3id.xyz/.well-known/x402 Buyer client (one file, stdlib only, self-test 14/14 against live mainnet): curl -sO https://www.web3id.xyz/store/buyer.py && python3 buyer.py --self-test