← back to the checker · Agent-Token Reality Index → · PulseChain Safety Leaderboard →
Your agent is about to swap, buy, or accept an unknown token — one call tells you if it's a rug first. A scam/safe verdict for any ERC-20 on PulseChain · Monad · Base · BSC — contract risk, liquidity depth, honeypot simulation, and LP-burn — built for the long-tail chains the big scanners barely cover. Four ways to consume it, from a free GET to autonomous x402 pay-per-call (no signup).
Every method returns the same JSON shape:
{
"chain": "base", "address": "0x4ed4…efed", "symbol": "DEGEN",
"verdict": "SAFE", // SAFE | LOW_RISK | CAUTION | HIGH_RISK | LIKELY_RUG | NOT_A_TOKEN | UNKNOWN
"score": 88, // 0–100
"riskLevel": "low", // low | medium | high | critical | unknown
"confidence": "high", // high | medium | low
"checks": [ { "id":"contract", "status":"pass", "detail":"…" }, … ],
"evidence": { "contract":{…}, "liquidity":{…}, "honeypot":{…}, "lpBurn":{…} },
"disclaimer": "Informational only — on-chain safety is never 100% certain."
}
Rate-limited (40/hr per IP), standard depth. Great for a quick check or low volume.
# GET — chain + address
curl "https://onchain.wick.pics/api/v1/check?chain=pulsechain&address=0x2b59…Eb39"
No rate limits, deep multi-DEX/V3 liquidity (high-confidence verdicts on every chain), batch, and monitoring. Pass your key as a header.
curl -H "x-api-key: wsk_…" "https://onchain.wick.pics/api/v1/check?chain=base&address=0x…"
# Batch — up to 50 tokens in one call
curl -X POST -H "x-api-key: wsk_…" -H "content-type: application/json" \
-d '{"tokens":[{"chain":"base","address":"0x…"},{"chain":"bsc","address":"0x…"}]}' \
"https://onchain.wick.pics/api/v1/check/batch"
# Monitor — webhook fires when a token's verdict changes
curl -X POST -H "x-api-key: wsk_…" -H "content-type: application/json" \
-d '{"chain":"pulsechain","address":"0x…","webhook":"https://you.example/hook"}' \
"https://onchain.wick.pics/api/v1/watch"
For agents that pay as they go. Hit the endpoint with no payment and you get an HTTP 402 quoting the price in USDC on Base; your x402 client pays and retries automatically, then receives the deep verdict. No account, no key, no invoice.
// @x402/axios — pays the 402 challenge for you
import axios from "axios";
import { withPaymentInterceptor } from "@x402/axios";
const client = withPaymentInterceptor(axios.create(), wallet); // your Base USDC signer
const { data } = await client.get(
"https://onchain.wick.pics/v1/token-safety?chain=monad&address=0x…");
// data = the verdict JSON above
# See the raw 402 quote (scheme, price, asset, payTo, network):
curl -i "https://onchain.wick.pics/v1/token-safety?chain=base&address=0x…"
# → HTTP/1.1 402 Payment Required + PAYMENT-REQUIRED: <base64 x402 challenge>
Settles in USDC on Base on our own self-hosted rail (no third-party facilitator). Machine-readable index of every paid route: /.well-known/x402.json.
Proof the rail works — real mainnet settlement (2026-06-10): 0x6ba9df…dc05e on Basescan, paid via EIP-3009 transferWithAuthorization (gasless for the buyer).
Drop the checker into any MCP client (Claude Desktop, agent frameworks) as a first-class tool. Add to your MCP config:
{
"mcpServers": {
"onchain-safety": {
"command": "npx",
"args": ["-y", "@wickpics/onchain-safety-mcp"],
"env": { "ONCHAIN_API_KEY": "wsk_…" } // optional — omit for the free tier
}
}
}
Exposes nine tools — check_token_safety, fresh_rug_radar, exit_safety, check_ownership, safe_to_interact, wallet_approvals, wallet_poison_check, wallet_reputation, ai_incident_lookup — the full suite. The agent calls them before interacting with, buying, or accepting an unknown token or counterparty. Source: github.com/aitools420/onchain-safety-mcp.
New tokens are where the rugs are. The radar scores every freshly-created pool the moment it appears — the freshest safety read available — and flags brand-new, not-yet-proven pools as UNPROVEN_FRESH (a clean token in a seconds-old pool still has no track record and its LP can vanish).
# Free — last 20 freshly-scored pools (teaser)
curl "https://onchain.wick.pics/api/v1/fresh/recent"
# Paid — full real-time feed of scored new pools
curl -H "x-api-key: wsk_…" "https://onchain.wick.pics/api/v1/fresh/feed"
# Paid — webhook alert when a fresh pool scores ≤ maxScore (dangerous)
curl -X POST -H "x-api-key: wsk_…" -H "content-type: application/json" \
-d '{"webhook":"https://you.example/hook","maxScore":40}' \
"https://onchain.wick.pics/api/v1/fresh/subscribe"
# x402 — pay-per-call deep verdict + freshness for one new token
curl -i "https://onchain.wick.pics/v1/fresh-rug?chain=base&address=0x…"
Total liquidity lies. This answers the question that matters before you size in: can you actually sell $X of a token at under N% slippage? Size-aware price-impact from on-chain reserves and a routed aggregator quote (whichever is better), with the safety verdict as a honeypot pre-gate.
# Free — single size, any chain
curl "https://onchain.wick.pics/api/v1/exit-safety?chain=base&token=0x…&sizeUsd=5000&maxSlippage=10"
# Paid — full depth curve across many sizes
curl -X POST -H "x-api-key: wsk_…" -H "content-type: application/json" \
-d '{"chain":"base","token":"0x…","sizes":[1000,5000,25000,100000]}' \
"https://onchain.wick.pics/api/v1/exit-safety"
# x402 — pay-per-call
curl -i "https://onchain.wick.pics/v1/exit-safety?chain=base&token=0x…&sizeUsd=5000"
Where do alpha-wallet clusters agree — and the token isn't a rug? This feed surfaces only tokens that (a) a cluster of co-ordinated wallets bought (scored by confidence + breadth) and (b) pass the safety engine. A de-rugged smart-money feed. Monad today; tier-1 PnL labelling deepens over time.
# Free — recent safe signals (delayed ~30 min)
curl "https://onchain.wick.pics/api/v1/smart-money/recent"
# Paid — real-time feed
curl -H "x-api-key: wsk_…" "https://onchain.wick.pics/api/v1/smart-money/feed"
# Paid — webhook on each new safe signal
curl -X POST -H "x-api-key: wsk_…" -H "content-type: application/json" \
-d '{"webhook":"https://you.example/hook"}' \
"https://onchain.wick.pics/api/v1/smart-money/subscribe"
# x402 — pay-per-call: freshest safe signals right now
curl -i "https://onchain.wick.pics/v1/smart-money"
Our published security assessments — and continuous protocol safety-drift monitoring. Query the track record (reputation + due-diligence), or subscribe to get a webhook the moment a watched token's verdict regresses. Browse the public track record →
# Free — published red-team cases (optional ?chain= / ?protocol=)
curl "https://onchain.wick.pics/api/v1/redteam/published"
# Paid — monitor a token for safety-drift (webhook on verdict regression)
curl -X POST -H "x-api-key: wsk_…" -H "content-type: application/json" \
-d '{"chain":"pulsechain","address":"0x…","protocol":"LPX","webhook":"https://you.example/hook"}' \
"https://onchain.wick.pics/api/v1/redteam/monitor"
# x402 — pay-per-call: published case(s) for a protocol
curl -i "https://onchain.wick.pics/v1/redteam/case?protocol=LPX"
The fleet's labeled trade + PnL corpus as dated snapshots — for backtests, models, and research. Free sample + data dictionary; paid / x402 for date-filtered slices. Strategy labels are anonymized.
# Free — list datasets, schema, recent sample
curl "https://onchain.wick.pics/api/v1/dataset"
curl "https://onchain.wick.pics/api/v1/dataset/schema?name=base-smart-money"
curl "https://onchain.wick.pics/api/v1/dataset/sample?name=base-smart-money"
# Paid — date-filtered, paginated slice
curl -H "x-api-key: wsk_…" "https://onchain.wick.pics/api/v1/dataset/slice?name=base-smart-money&from=2026-05-20&limit=1000"
# x402 — pay-per-call slice
curl -i "https://onchain.wick.pics/v1/dataset?name=detective-pnl&from=2026-05-01"
The single highest-ranked token alpha-wallet clusters are buying right now that also passes the safety gate — with the why + alternates. Free returns the metrics with the ticker locked; paid / x402 reveals it.
# Free — locked teaser (wallet count, confidence, safety; ticker hidden)
curl "https://onchain.wick.pics/api/v1/what-ticker"
# Paid key — full pick (ticker + address + alternates)
curl -H "x-api-key: wsk_…" "https://onchain.wick.pics/api/v1/what-ticker"
# x402 — pay-per-call, full pick
curl -i "https://onchain.wick.pics/v1/what-ticker"
Should you transact with this wallet? One deterministic composite — account shape (EOA/contract), history depth, known-rug holdings, and (paid/x402) drainer-approval exposure + address-poisoning targeting — into a verdict: CLEAN / LOW_RISK / CAUTION / HIGH_RISK with signals. Not an identity, KYC, or sanctions screen.
# Free — shallow read (shape + history + rug holdings)
curl "https://onchain.wick.pics/api/v1/wallet-reputation?chain=pulsechain&owner=0x…"
# x402 — full composite incl. approval + poisoning scans
curl -i "https://onchain.wick.pics/v1/wallet-reputation?chain=pulsechain&owner=0x…"
The AI-risk history of a company or vendor: 3.3K+ documented AI incidents, regulatory fines (with EUR amounts), and SEC AI-risk disclosures — in one call. For agents (and their humans) doing due-diligence on an AI product before relying on it. Attribution per row.
# Free — counts + latest 3 per category
curl "https://onchain.wick.pics/api/v1/ai-incidents?company=openai"
# x402 — full detail rows (25 per category)
curl -i "https://onchain.wick.pics/v1/ai-incidents?company=openai"
Mempool Stream — filtered, redacted pre-confirmation flow (new-pool / large-swap) for latency-sensitive agents. Tell us what you'd want →
Launchpads, wallets, DEX frontends, and bots can gate on the verdict server-side: call /api/v1/check before listing or accepting a token and block / warn on HIGH_RISK, LIKELY_RUG, or NOT_A_TOKEN. Our edge is the long-tail chains (PulseChain, Monad) the incumbents barely cover, plus an on-chain data moat (burned-LP index + honeypot sim + contract-risk).