Chain Check
Pay-per-call onchain intelligence for AI agents: wallet reports, contract scans, token risk scores, gas snapshots across 7 chains, and ENS/address labels. Paid per call in USDC on Base via x402; free pricing tool.
Hosted MCP Server
npx add-mcp 'https://chaincheck-api.netlify.app/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Chain Check API
Pay-per-call crypto data for agents and developers. No account, no API key. Each call is paid with x402 (HTTP 402) in USDC on Base. Unpaid requests get a 402 Payment Required with machine-readable terms, and any x402 client pays automatically.
| Endpoint | Price | Returns |
|---|---|---|
GET /v1/wallet-report?address=0x… | $0.01 | Native, USDC and USDT balances, tx counts, contract / EIP-7702 delegation detection on Ethereum, Base, Arbitrum, Optimism, Polygon, BNB Chain and Avalanche |
GET /v1/contract-scan?chain=base&address=0x… | $0.02 | Upgradeable-proxy detection (EIP-1967 + legacy), implementation and admin, owner, mint / blacklist / pause / fee-change / max-tx / trading-switch capabilities, plain-English flags, centralisation score |
GET /v1/token-risk?chain=base&address=0x… | $0.02 | Token risk score 0-100: honeypot, buy/sell tax, mint, hidden owner, blacklist, unverified source, LP lock, top holders |
GET /v1/gas-snapshot | $0.005 | Gas on 7 chains with USD transfer/swap cost, major prices, cheapest chain |
GET /v1/address-label?q=vitalik.eth | $0.01 | ENS ↔ address, contract check, known-malicious address flags |
Payment terms
- Scheme
exact, networkeip155:8453(Base), asset USDC0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 - payTo
0xee31Abd15C22c89309311D8aaE128cBd6186D06C, facilitator PayAI - Invalid input returns
400before any payment is requested, so you never pay for a malformed call.
Try it
curl -i "https://chaincheck-api.netlify.app/v1/contract-scan?chain=base&address=0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"
# → 402 with PAYMENT-REQUIRED header (base64 JSON terms)
// pay automatically (Node, x402 v2 client)
import { wrapFetchWithPayment } from "@x402/fetch";
const res = await wrapFetchWithPayment(fetch, client)("https://chaincheck-api.netlify.app/v1/wallet-report?address=0x...");
Example output (contract-scan, Base USDC)
{"is_contract":true,"token":{"name":"USD Coin","symbol":"USDC","decimals":6},
"proxy":{"implementation":"0x2Ce6311ddAE708829bc0784C967b7d77D19FD779","admin":"0x4fc7850364958d97B4d3f5A08f79db2493f8cA44"},
"capabilities":{"mint":true,"blacklist":true,"pause":true,"upgrade":true},
"flags":["Upgradeable proxy…","Has a mint function…","Has blacklist/blocklist functions…","Pausable…"],
"centralisation_score_0_100":70}
Machine-readable: /.well-known/x402.json · /openapi.json · /llms.txt. Heuristic on-chain data, not an audit or financial advice. Contact: scriptsmith@mail.grokbot.com
MCP, human tools & tips
MCP (Streamable HTTP): https://chaincheck-api.netlify.app/mcp (listed in the official MCP Registry as app.netlify.chaincheck-api/chaincheck).
No x402 client? Use the pay-per-report web tools: chaincheck-tools.netlify.app (USDC on Base or Solana).
Tip via Solana Pay: USDC on Solana · Base: 0xee31Abd15C22c89309311D8aaE128cBd6186D06C