Documentação

Tenha um veredito em menos de um minuto.

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.

Obtenha uma chave API grátis

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.

Para todos · sem código

Cheque um token pelo seu navegador

Você não precisa ser desenvolvedor para usar o Cabal-Hunter. O diamond map é grátis e mostra o grafo de wallets visualmente.

  1. Copie o mint address do token — a string longa do DexScreener, GMGN, pump.fun ou sua wallet (parece Ad3w…pump).
  2. Abra cabal-hunter.com/map e cole na caixa de busca.
  3. Leia o mapa. Cada diamond é uma wallet (tamanho = posição). Linhas são links de funding — diamonds conectados foram financiados pela mesma fonte. Clusters vermelhos são a cabal. Clique em qualquer diamond para verificar no Solscan.
Regra prática: um token saudável parece diamonds espalhados e sem conexão. Um rug à espera parece uma teia de aranha — muitos holders ligados a uma única fonte de funding, geralmente criados no mesmo bloco.
Para bot builders

API REST

Um GET, qualquer linguagem. Sem auth para seus 250/mês grátis — o contador é por IP.

cURL — teste agora

curl "https://api.cabal-hunter.com/api/scan-cabal?mintAddress=<MINT>"

Python

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()

JavaScript / TypeScript

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()
}

Vários tokens de uma vez — /api/scan-batch

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>"]}'

Telegram — nada para instalar

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

Headers de resposta úteis

HeaderSignificado
X-Free-Queries-RemainingScans grátis restantes este mês para seu IP — monitore no seu bot e recarregue antes de zerar.
X-Cabal-Risk-LevelHIGH / ELEVATED / LOW_SIGNAL — leia sem parsear o body.
X-Cabal-RecommendationSAFE / REVIEW / AVOID — obsoleto. Prefira X-Cabal-Risk-Level.
X-Cabal-ScoreO score de 0–100.
X-Key-Credits-RemainingSaldo restante na sua chave pré-paga (ao enviar X-API-Key).
Também grátis: GET /api/cex-funding?mint= (quais exchanges financiaram os holders), GET /api/trade-analysis?mint= (PnL por coorte + score de wash-trade) e POST /api/watch (push por webhook no instante em que um dump coordenado começa num token que você tem). Spec legível por máquina: openapi.json.
Para agent developers

MCP — Claude, Cursor, VS Code

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.

Instalações em um clique

⚡ Instalar no VS Code ⚡ Instalar no Cursor

Claude Code (CLI)

claude mcp add --transport http cabal-hunter https://api.cabal-hunter.com/mcp

Claude Desktop claude_desktop_config.json

{
  "mcpServers": {
    "cabal-hunter": {
      "command": "npx",
      "args": ["mcp-remote", "https://api.cabal-hunter.com/mcp"]
    }
  }
}

Depois é só pedir

"Check the cabal risk on Ad3wM19jfM6DGbGaoswz3orJ5WHXWEjBGKpRZ2ggpump before I buy."
Dica de system-prompt para agentes de trading: adicione "Chame check_cabal_risk antes de qualquer compra na Solana. Não compre se risk_level for HIGH ou cabal_score ≥ 65." — essa linha torna o gate automático.
Para ElizaOS builders

Plugin do ElizaOS

Um plugin npm publicado adiciona a ação CHECK_CABAL_RISK a qualquer agente Eliza.

npm install elizaos-plugin-cabal-hunter

Registre no seu character

import { cabalHunterPlugin } from "elizaos-plugin-cabal-hunter"

export const character = {
  ...
  plugins: [cabalHunterPlugin],
}
Para seu dashboard

Widget de badge ao vivo

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>

Opções

AtributoO que faz
data-mintObrigató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.
Referência

Campos da resposta

Os campos que seu código vai realmente usar. Schema completo: openapi.json.

CampoSignificado
cabal_score0–100. ≥65 = risco ALTO, ≥35 = CAUTION, abaixo = sinal baixo.
risk_levelHIGH / 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.
recommendationSAFE / REVIEW / AVOID — obsoleto, mantido para os bots existentes continuarem a funcionar. Prefira risk_level.
riskHIGH / MEDIUM / CLEAN.
verdictResumo em linguagem clara de tudo o que foi encontrado — legível por humanos, salve no log.
time_synctrue = holders compraram no mesmo bloco exato (lançamento bundled).
coordinated_exittrue = vários holders dumpando no mesmo bloco, agora.
top_holder_pctFatia do maior holder individual não-LP sobre o supply.
deployer.verdictFIRST_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_riskSinais de honeypot nativos da Solana: freeze authority ativa, armadilhas de Token-2022.
liquidity_usd · market_capAo vivo do DexScreener no momento do scan.
free_queries_remainingScans grátis restantes este mês para seu IP.
Preços e chaves

Grátis para a maioria. $9/mês se seu bot nunca para.

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.

Tier grátis — a maioria fica aqui

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.

Além do grátis — duas opções

$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.

Pegar uma chave (60 segundos, sem conta)

  1. Envie USDC na Solana para a wallet mostrada em /pricing — $9 para Ilimitado, ou qualquer valor ≥ $1 para créditos de uso.
  2. Resgate a transação: cole a assinatura da tx em /pricing, ou via código: POST /api/buy-key {"tx_signature": "…"}
  3. Use a chave retornada como header em cada scan: X-API-Key: ch_live_… — veja o saldo quando quiser em GET /api/key-balance.
Para agentes autônomos: o fluxo x402 pay-per-call também é suportado — o body da resposta 402 contém instruções de pagamento completas e legíveis por máquina (destinatário, valor, memo), então um agente pode pagar e repetir sem um humano.
LIVE MONITORING

Watch a token you already hold

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.

Register a watch

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.

Manage them

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.

What arrives when it fires

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" }
A watch reports what we observed on-chain. It is not a prediction, not financial advice and not a guarantee that you can still exit — liquidity may already be gone by the time anyone can act. Always do your own research.
ADD-ON PAGO

A tua própria lista privada de carteiras

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.

Ligar

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"

Adicionar uma carteira

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"

O que recebes

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.

A tua lista é privada da tua chave. Não publicamos nenhuma lista de carteiras nem afirmamos a quem pertence um endereço — uma correspondência é uma observação on-chain, nunca uma afirmação sobre uma pessoa.
Solução de problemas

Respostas rápidas

Recebo HTTP 402

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.

O scan leva alguns segundos

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.

O score diz CLEAN mas o token deu rug

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.

Outra coisa?

Use a caixa de feedback na homepage — vem direto pra gente — ou chame @CabalhunterAPI.