Tudo aqui funciona sem cadastro — seus primeiros 5 scans por mês são grátis, sem chave API — e 250 por mês com uma chave grátis. Escolha seu caminho abaixo.
250 scans por mês, grátis para sempre. Sem cartão, sem cobrança.
O seu email é usado para a sua chave e avisos do serviço. Mais nada.
Why we ask. 98.5% of the addresses that scan here use exactly one scan and never come back — and 1,656 of them share a single identical browser fingerprint, one request each. Limits counted per address cannot see a pattern like that, because every request looks like a different person. One email keeps the free tier genuinely free for people actually using the tool.
Você não precisa ser desenvolvedor para usar o Cabal-Hunter. O diamond map é grátis e mostra o grafo de wallets visualmente.
Um GET, qualquer linguagem. Sem auth para seus 250/mês grátis — o contador é por IP.
curl "https://api.cabal-hunter.com/api/scan-cabal?mintAddress=<MINT>"
import requests r = requests.get( "https://api.cabal-hunter.com/api/scan-cabal", params={"mintAddress": mint}, timeout=30, ).json() if r["recommendation"] == "AVOID" or r["cabal_score"] >= 65: abort_buy()
const r = await (await fetch( `https://api.cabal-hunter.com/api/scan-cabal?mintAddress=${mint}` )).json() if (r.recommendation === "AVOID" || r.cabal_score >= 65) { abortBuy() }
Filtrando um feed? Envie até 25 mints em uma requisição em vez de iterar. Uma linha por mint, na ordem enviada. Um mint que não puder ser analisado retorna uma linha de erro sem derrubar o lote. Um scan por mint; exige chave (uma gratuita serve).
curl -X POST "https://api.cabal-hunter.com/api/scan-batch" \ -H "X-API-Key: <YOUR_KEY>" \ -H "Content-Type: application/json" \ -d '{"mints":["<MINT>","<MINT>"]}'
Cole um mint no @TheCabalHunter_Bot e ele responde no chat com o mesmo veredito, histórico do deployer e análise de holders. /watch <mint> avisa assim que um dump coordenado começa. t.me/TheCabalHunter_Bot
| Header | Significado |
|---|---|
| X-Free-Queries-Remaining | Scans grátis restantes este mês para seu IP — monitore no seu bot e recarregue antes de zerar. |
| X-Cabal-Risk-Level | HIGH / ELEVATED / LOW_SIGNAL — leia sem parsear o body. |
| X-Cabal-Recommendation | SAFE / REVIEW / AVOID — obsoleto. Prefira X-Cabal-Risk-Level. |
| X-Cabal-Score | O score de 0–100. |
| X-Key-Credits-Remaining | Saldo restante na sua chave pré-paga (ao enviar X-API-Key). |
O Cabal-Hunter é um servidor MCP hospedado em https://api.cabal-hunter.com/mcp expondo uma ferramenta: check_cabal_risk(mintAddress). Seu agente a chama antes de qualquer swap — automaticamente.
claude mcp add --transport http cabal-hunter https://api.cabal-hunter.com/mcp
{
"mcpServers": {
"cabal-hunter": {
"command": "npx",
"args": ["mcp-remote", "https://api.cabal-hunter.com/mcp"]
}
}
}
"Check the cabal risk on Ad3wM19jfM6DGbGaoswz3orJ5WHXWEjBGKpRZ2ggpump before I buy."
Um plugin npm publicado adiciona a ação CHECK_CABAL_RISK a qualquer agente Eliza.
npm install elizaos-plugin-cabal-hunter
import { cabalHunterPlugin } from "elizaos-plugin-cabal-hunter" export const character = { ... plugins: [cabalHunterPlugin], }
Duas linhas de HTML renderizam um card de veredito ao vivo — círculo de score, sinais, link do mapa ao vivo — para qualquer token, em qualquer site. Funciona em HTML puro, React, em qualquer lugar.
<div class="cabal-hunter-badge" data-mint="YOUR_TOKEN_MINT"></div> <script src="https://api.cabal-hunter.com/widget.js" defer></script>
| Atributo | O que faz |
|---|---|
| data-mint | Obrigatório. O mint da Solana a escanear e exibir. |
| data-refresh="120" | Re-escaneia a cada N segundos (mín 60) — veredictos ao vivo enquanto você opera. |
| data-api-key="ch_live_…" | Use sua chave pré-paga depois de passar do tier grátis. |
Os campos que seu código vai realmente usar. Schema completo: openapi.json.
| Campo | Significado |
|---|---|
| cabal_score | 0–100. ≥65 = risco ALTO, ≥35 = CAUTION, abaixo = sinal baixo. |
| risk_level | HIGH / ELEVATED / LOW_SIGNAL — o que observámos. LOW_SIGNAL significa que as nossas verificações não dispararam; não é uma classificação de segurança. |
| recommendation | SAFE / REVIEW / AVOID — obsoleto, mantido para os bots existentes continuarem a funcionar. Prefira risk_level. |
| risk | HIGH / MEDIUM / CLEAN. |
| verdict | Resumo em linguagem clara de tudo o que foi encontrado — legível por humanos, salve no log. |
| time_sync | true = holders compraram no mesmo bloco exato (lançamento bundled). |
| coordinated_exit | true = vários holders dumpando no mesmo bloco, agora. |
| top_holder_pct | Fatia do maior holder individual não-LP sobre o supply. |
| deployer.verdict | FIRST_LAUNCH / NORMAL / POOR_TRACK_RECORD / SERIAL_LAUNCHER — mais o histórico de lançamentos. |
| coordinated_clusters[] | Cada cluster: type (funding / time_sync / coordinated_exit), % combinado do supply, e evidence_txs[] — as transações de prova. |
| filtered_clusters[] | Clusters que excluímos como ruído de CEX (ex.: funding compartilhado da Binance) — mostrados para você verificar que não escondemos nada. |
| honeypot_risk | Sinais de honeypot nativos da Solana: freeze authority ativa, armadilhas de Token-2022. |
| liquidity_usd · market_cap | Ao vivo do DexScreener no momento do scan. |
| free_queries_remaining | Scans grátis restantes este mês para seu IP. |
Um token rastreado nas últimas 8 horas é respondido a partir desse rastreio (computed_at mostra quando); qualquer outro roda um rastreio on-chain ao vivo. Nada é cobrado automaticamente: pagamentos cripto são push-only, então você sempre mantém o controle.
5 scans por mês sem qualquer registo, depois 250 com uma chave grátis. Um email, sem cartão. O campo free_queries_remaining e o header X-Free-Queries-Remaining mostram seu saldo em cada resposta, e um campo warning aparece quando restam 20.
$9/mês Ilimitado (uso justo, 50k/mês) para bots 24/7 — ou pague pelo uso a $0.001/scan, qualquer valor a partir de $1. De qualquer forma é um pagamento em USDC de qualquer wallet Solana.
A scan answers what is behind a token right now — a question you ask once. A watch answers whether it is still safe to hold, which is a question that never stops being worth asking. We poll the token continuously and POST your webhook the moment a coordinated dump or a liquidity drain begins.
Needs a key so that only you can see or remove your own watches. A free key is enough.
curl -X POST https://api.cabal-hunter.com/api/watch -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" -d '{"mint":"<MINT>","webhook_url":"https://your-bot.example.com/hook"}'Your webhook must resolve to a public address. Loopback, private ranges, link-local and cloud-metadata targets are refused — that field is a common way to attack the server receiving it, and we do not accept it on ours.
GET /api/watch lists only your own watches, with used and
limit so your client never has to guess its headroom.
DELETE /api/watch removes one; omit webhook_url to remove
every watch you hold on that mint.
Re-registering the same mint and URL is idempotent and does not consume another slot. If you reach your plan limit the API answers 429 and tells you the limit and how many you are using.
Every claim comes with the transactions that prove it. evidence_txs are
Solscan-verifiable signatures, so your bot can confirm the alert on-chain instead of
trusting us — the same principle as the scanner.
{
"event": "dump_detected",
"mint": "<MINT>",
"reason": "price -34% since last check",
"drop_pct": 34.2,
"price_usd": 0.0000021, "previous_price_usd": 0.0000032,
"liquidity_usd": 4200, "previous_liquidity_usd": 9100,
"coordinated": true,
"coordinated_detail": {
"wallet_count": 7, "sold_pct": 41.2, "slot": "slot 298471123",
"evidence_txs": ["...", "...", "..."]
},
"verify": "https://cabal-hunter.com/map?mint=<MINT>",
"action": "consider_immediate_exit"
}Mantém uma lista de carteiras que te interessam e cada scan passa a dizer também quais delas estão mesmo no token, no campo screen_list do resultado. $9 por mês sobre qualquer chave, incluindo as gratuitas. Cancela quando quiseres.
Devolve um link de pagamento para a chave que fez a chamada. Nada de novo é criado — o add-on liga-se à chave que já tens.
curl -X POST https://api.cabal-hunter.com/api/screen-list/checkout -H "X-API-Key: YOUR_KEY"A etiqueta é só tua e só a ti é mostrada. Uma lista aceita até 500 carteiras; os endereços são validados, por isso uma string parecida é recusada com o motivo em vez de ser guardada em silêncio.
curl -X POST https://api.cabal-hunter.com/api/screen-list -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" -d '{"wallet":"<WALLET>","label":"for my eyes only"}'
curl https://api.cabal-hunter.com/api/screen-list -H "X-API-Key: YOUR_KEY"
curl -X DELETE https://api.cabal-hunter.com/api/screen-list/<WALLET> -H "X-API-Key: YOUR_KEY"Cada scan ganha um objeto screen_list: checked, matches e hits[], com a carteira, a tua etiqueta, o papel (holder ou cluster_funder) e a percentagem do fornecimento quando conhecida.
"screen_list": {
"checked": true,
"matches": 1,
"hits": [
{ "wallet": "<WALLET>", "label": "for my eyes only",
"role": "holder", "pct": 4.1 }
]
}checked: true com zero correspondências significa que a verificação CORREU e não encontrou nenhuma — facto diferente de não ter havido verificação. A ausência de correspondência nunca é um atestado de limpeza para uma carteira que não listaste.
Seu IP usou os 250 scans grátis deste mês. O body da resposta lista as duas formas de continuar ($9 Ilimitado ou $0.001/scan). Os contadores reiniciam no dia 1.
Tokens a frio precisam de um rastreio on-chain ao vivo (15–20s). Os já indexados voltam em <100ms. Passe pairCreatedAt (timestamp em ms do DexScreener) para acelerar scans a frio.
CLEAN significa sem cabal coordenada — não dá para prever um dev solitário puxando liquidez com um grafo de wallets limpo. Combine com top_holder_pct, deployer.verdict e liquidez para o quadro completo — e veja a demo ao vivo de como rende no nosso próprio bot.
Use a caixa de feedback na homepage — vem direto pra gente — ou chame @CabalhunterAPI.