The same scanner, as JSON.
Trading bots and AI agents can call the scanner directly. Plain HTTPS GET, JSON out. A free key is optional and raises your limit. Verdicts come from on-chain data and code, not from a language model, so the same token gives the same answer.
GET /api/scan?chain=sol|base|rh&ca=<address>Full risk scan of one token: score 0–100, verdict, caps, every check with its value, pools, top holders, bundles, deployer.
20 fresh scans per 10 min per IP; a repeat within 60 s is cached and freePOST /api/keys {"label":"my bot"}Free API key, shown once. Send it as the x-api-key header on /api/scan: 500 fresh scans per day per key instead of the per-IP limit.
3 keys per IP per dayGET /api/search?q=<ticker>&chain=Find tokens by $TICKER. Sorted by real liquidity, fake-quote pools flagged, likely original marked.
60 s CDN cacheGET /api/radarFresh launches our radar scanned in the last 24 h, delayed 10 min.
publicGET /api/trackTrack record: every live verdict, its price 24 h later and whether it held.
publicGET /api/proof?hash=<64 hex>Merkle path from a verdict hash to its 15-minute root. Without hash: the latest roots.
publicGET /api/statusWhen the background ticks ran and how long they took.
publicGET /api/aim$AIM supply, burned amount and price.
public{
"chain": "SOL", "ca": "EKpQ…zcjm", "symbol": "WIF",
"score": 95, "verdict": "CLEAR", "confidence": 90,
"caps": [],
"checks": [
{ "id": "mint", "group": "contract", "label": "Mint authority", "value": "revoked", "sev": "ok" },
{ "id": "lp", "group": "liquidity", "label": "LP lock", "value": "…", "sev": "ok" }
],
"market": { "price": 1.9, "liq": 4200000, "fdv": 1900000000 },
"ms": 2400, "at": 1760600000000
}- verdict is CLEAR (75+), CAUTION (40–74), HIGH RISK (16–39), AVOID (0–15) or TOO EARLY (pair under 30 min, no red flags yet). LOW DATA (under 60% of checks ran, no red flag found: not a warning, try again later) and CORE ASSET (stablecoin or wrapped coin, no memecoin verdict) have no meaningful score.
- confidence is the share of checks that could run. Under 60 the score is held below 60.
- caps explain why a score was limited. Any cap at 10 or below means do not buy.
- sev per check: ok, warn, bad, info. Info checks do not move the score.
- On HTTP 429 wait a few minutes. Cache results on your side for at least 60 s.
- Holders, linked-wallet clusters and the deployer are in every scan response. Paid Pro data (X mentions, deployer track record) is not in the free API yet.