Build with JettonGuard.
A typed REST API that returns the same <code>ScanResult</code> the web frontend renders. Use it to power your trading bot, alpha group, launchpad badge, or wallet integration.
Authentication
The public endpoints are unauthenticated and rate-limited (5 req/min per IP). Enterprise customers receive an API key that bypasses limits and exposes private endpoints.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.jettonguard.com/scan/EQAv…Need a key? Email kirillgusejnov41@gmail.com.
Quick examples
Scan a jetton (one-line curl)
curl https://api.jettonguard.com/scan/EQAvDfWFG0XfoSDjqXX6IIm_PnAcs83KTbgFJ8AawvHKkNs1Force a fresh scan (Python)
import httpx
resp = httpx.post(
"https://api.jettonguard.com/scan",
json={"address": "EQAv…", "bypass_cache": True},
timeout=20,
)
data = resp.json()
print(data["verdict"], data["score"])
for flag in data["top_flags"]:
print(f" {flag['severity']}: {flag['title']}")Score history for a chart (TypeScript)
type Point = { scanned_at: string; score: number };
const r = await fetch(
`https://api.jettonguard.com/scan/${address}/history?limit=30`,
);
const history: Point[] = (await r.json()).map((s: any) => ({
scanned_at: s.scanned_at,
score: s.score,
}));Endpoints
Run a scan. Returns cached result if scanned within the last 10 minutes.
Run a scan with options (force re-scan via bypass_cache).
Previous scans for an address, newest first. Useful for trend charts.
Liveness probe. Returns service version.
Full OpenAPI schema is auto-generated at /docs (Swagger UI) and /openapi.json.
Response shape
Every scan endpoint returns the same JSON. Full type definitions are in our open-source TS package.
interface ScanResult {
address: string; // EQ...
jetton: JettonInfo;
scanned_at: string; // ISO-8601
score: number; // 0–100
verdict: "safe" | "caution" | "high_risk" | "likely_rug";
verdict_text: string; // human one-liner
summary: string; // LLM-generated, may be empty
subscores: CategorySubscore[]; // 5 categories
top_flags: RiskFlag[]; // most important findings
metrics: TokenMetrics; // mcap, price, liquidity, holders, age, change_24h
holders_breakdown: HolderGroup[];// donut-chart slices
volume_7d: number[]; // sparkline USD volume, oldest first
icon_fallback: IconFallback | null;
duration_ms: number;
}Rate limits & SLA
- Free / unauthenticated: 5 req/min per IP. Each scan is cached for 10 minutes, so polling repeatedly returns the cache instantly.
- Pro (15 TON/mo): 60 req/min, private scan history.
- Enterprise (200 TON/mo): 50,000 req/day, webhooks, custom red-flag rules, 99.5% SLA, white-label.
Trading bot, launchpad badge, wallet integration — let's talk.