Quick start
TokenGuard uses the x402 protocol — payment happens at the HTTP layer
automatically. No API key, no account, no signup. You need an
x402-compatible wallet to get started.
Install x402 fetch wrapper
npm install @coinbase/x402-fetch
First API call — PumpGuard
JavaScript
import { wrapFetchWithPayment } from '@coinbase/x402-fetch';
import { Wallet } from '@coinbase/coinbase-sdk';
// Create wallet with USDC on Base
const wallet = await Wallet.create();
const fetch = wrapFetchWithPayment(globalThis.fetch, wallet);
// Check a Pump.fun token
const res = await fetch('https://tokenguard.net/verdict/pump', {
method: 'POST',
body: JSON.stringify({
contractAddress: 'FpR1AAcQy...pump',
chainId: 'solana'
})
});
const { recommendation } = await res.json();
// "SAFE" | "CAUTION" | "AVOID" — $0.02 deducted automatically
Authentication
TokenGuard uses the x402 protocol for payment.
When your request arrives, the server responds with HTTP 402 if payment is required.
The x402 fetch wrapper intercepts this, pays automatically in USDC on Base,
and retries the request.
check_circle
No API key required
check_circle
No account or signup
check_circle
USDC on Base · mainnet
check_circle
No subscription or minimum
PumpGuard API
POST
https://tokenguard.net/verdict/pump
Returns a safety verdict for any Pump.fun token. Checks deployer wallet age,
bonding curve SOL reserve, and holder concentration in parallel. Average response: 312ms.
Request body
JSON
{
"contractAddress": "FpR1AAcQyXY46vv...pump", // Pump.fun mint address
"chainId": "solana" // required: "solana"
}
Response
JSON
{
"recommendation": "SAFE", // SAFE | CAUTION | AVOID
"confidence": "HIGH", // HIGH | MEDIUM | LOW
"riskScore": 15, // 0–100
"bondingCurveReserveSol": 8.45, // SOL in bonding curve
"holderConcentration": 23, // % held by top wallet
"deployer": {
"address": "8xK3...",
"agedays": 142, // wallet age in days
"fresh": false
},
"processingMs": 312
}
Try PumpGuard live demo →
BaseGuard API
POST
https://tokenguard.net/verdict
Lite — $0.02
POST
https://tokenguard.net/verdict/pro
Full — $0.20
Returns a verdict for any EVM token on Base, Ethereum, or Arbitrum.
Lite checks deployer and LP lock. Full adds holder concentration and extended deployer graph.
Request body
{
"contractAddress": "0x833589fCD6...",
"chainId": "base" // "base" | "ethereum" | "arbitrum"
}
Response
{
"recommendation": "SAFE", // SAFE | CAUTION | DANGER
"confidence": "HIGH",
"riskScore": 0,
"checks": {
"deployer": { "flag": "KNOWN_SAFE" },
"liquidity": { "flag": "KNOWN_SAFE" },
"holders": { "flag": "KNOWN_SAFE" } // Full only
},
"chainId": "base",
"chainName": "Base"
}
Try BaseGuard live demo →
WalletGuard API
POST
https://tokenguard.net/wallet
$0.10
Returns a full intelligence profile for any EVM wallet address. Bot score,
rug history, classification, and risk flags across Base, Ethereum, and Arbitrum.
Request body
{
"address": "0xd8dA6BF26964aF9D7..." // any EVM wallet address
}
Response
{
"verdict": "CLEAN", // CLEAN | SUSPICIOUS | FLAGGED
"classification": "WHALE", // RETAIL | WHALE | BOT | MIXER
"botScore": 0, // 0–100
"rugHistory": 0, // number of rug events
"riskScore": 20, // 0–100
"riskFlags": [], // e.g. ["MIXER_USE", "FRESH_WALLET"]
"txCount": 5888,
"processingMs": 275
}
Try WalletGuard live demo →
Response format
All endpoints return JSON. Every successful response includes
processingMs and
a top-level verdict field (recommendation
for tokens, verdict for wallets).
| Field |
Type |
Description |
recommendation |
string |
Token verdict: SAFE · CAUTION · DANGER · AVOID |
verdict |
string |
Wallet verdict: CLEAN · SUSPICIOUS · FLAGGED |
confidence |
string |
HIGH · MEDIUM · LOW |
riskScore |
number |
0–100. Higher = more risk |
processingMs |
number |
Engine processing time in milliseconds |
Error handling
All errors return JSON with an
error
field and appropriate HTTP status code. Use exponential backoff on 500 errors.
| Status |
Error |
Meaning |
402 |
payment_required |
x402 payment needed — handled automatically by the fetch wrapper |
400 |
address_required |
Missing contractAddress or address in request body |
429 |
rate_limited |
Demo endpoint: 10 requests per hour per IP |
500 |
engine_error |
Oracle error — retry with exponential backoff |
MCP integration
TokenGuard is available as an MCP server — use it directly from Claude,
any AgentKit pipeline, or any MCP-compatible client without writing any API code.
MCP server URL
https://mcp.scoopflashman.tech/mcp