All endpoints are read-only and unauthenticated. The server proxies the GMGN Agent API and scores every token against the anti-rug algorithm before returning.
Health check. Returns {"ok": true} if the upstream GMGN API is reachable.
curl https://gmgn-screener.pages.dev/api/health
# { "ok": true, "upstream": "gmgn.ai", "latency_ms": 142 }
Trending tokens with anti-rug scores pre-applied. Server-side cache: 60s.
| Param | Default | Description |
|---|---|---|
| chain | sol | sol / bsc / base |
| interval | 1h | 1h / 3h / 6h / 24h |
| limit | 30 | Max 100 |
curl "https://gmgn-screener.pages.dev/api/trending?chain=sol&interval=1h&limit=50"
New token launches, scored. Use type=completed for graduated tokens, type=near_completion for tokens about to graduate.
| Param | Default | Description |
|---|---|---|
| chain | sol | sol / bsc / base |
| type | new_creation | new_creation / near_completion / completed |
| limit | 50 | Max 80 |
curl "https://gmgn-screener.pages.dev/api/trenches?chain=sol&type=new_creation&limit=80"
Full token analysis for a single address. Combines info + security + scoring. Use this for token detail pages.
| Param | Required | Description |
|---|---|---|
| chain | yes | sol / bsc / base |
| address | yes | Token contract address |
curl "https://gmgn-screener.pages.dev/api/token?chain=sol&address=ENNHkudgTpnkQ3jh5Fd9PJAFyrpdqM7k2DbViMXapump"
Every token returned by the API has a safety_score (0-100) and a breakdown object with 5 axes. Higher = safer. Zero = hard stop.
{
"address": "ENNHkudgTpnkQ3jh5Fd9PJAFyrpdqM7k2DbViMXapump",
"symbol": "LIBTARD",
"name": "libtard boomer",
"chain": "sol",
"price": 0.0000021356,
"liquidity": 1.12,
"market_cap": 2135.62,
"smart_degen_count": 0,
"renowned_count": 0,
"rug_ratio": 1,
"top_10_holder_rate": 1,
"is_honeypot": "",
"is_wash_trading": false,
"renounced_mint": true,
"renounced_freeze_account": true,
"creator_token_status": "creator_hold",
"sniper_count": 1,
"bundler_rate": 0,
"rat_trader_amount_rate": 0,
"safety_score": 0,
"breakdown": {
"security": 0,
"rug_signals": -15,
"distribution": -5,
"liquidity": -15,
"conviction": 0
}
}
is_honeypot = "yes"is_wash_trading = truerenounced_mint = false (SOL)renounced_freeze_account = false (SOL)sell_tax > 0.10rug_ratio > 0.30top_10_holder_rate > 0.50bundler_rate > 0.30rat_trader_amount_rate > 0.30sniper_count > 20All endpoints are cached at the edge for 60 seconds. The upstream GMGN API has a 10 req/sec leaky-bucket limit. The proxy respects X-RateLimit-Reset headers and self-throttles. If you see 429, back off for the indicated time.
The full algorithm, the data shapes, and the deployment are open. The site runs on Cloudflare Pages Functions. The data is the GMGN Agent API (read-only, public demo key).