Cabal-Hunter
Verificação de segurança pré-negociação para tokens Solana — rastreia financiamento coordenado de carteiras, compras em pacote no mesmo bloco e histórico de deployers com lançamentos seriais em um veredito de Risco de Liquidez de Saída antes de um agente comprar.
Documentação
Solana Safe Sniper — Modelo MCP
🌐 Disponível em 9 idiomas: English · Español · Português · Français · Deutsch · Nederlands · 中文 · 日本語 · 한국어

Impedir que seus agentes de negociação com IA sejam enganados por cabais de carteiras coordenadas. Modelo pronto para uso com Claude Code, Cursor e ElizaOS.
▶ Experimente agora: mapa 3D ao vivo de detentores de qualquer token Solana → — sem cadastro.
Cabal-Hunter é um scanner gratuito de segurança de tokens Solana on-chain e verificador de rug pulls. Ele detecta cabais de carteiras coordenadas, compras em lote no mesmo bloco, desenvolvedores com lançamentos em série e vendas coordenadas no mesmo bloco em qualquer mint da Solana (pump.fun, PumpSwap, Raydium, Orca, Meteora) — e responde à única pergunta que importa antes de você entrar: você é a liquidez de saída? Use via MCP (Claude, Cursor, ElizaOS), uma API REST ou um mapa 3D interativo gratuito de detentores.
O Problema
Seu agente de negociação autônomo está lendo pontuações de rug.check, travas de liquidez e auditorias de contrato.
Nada disso detecta uma cabal.
Um punhado de carteiras compra a base de um lançamento, o gráfico parece limpo — contrato ok, LP queimado, tudo verde — e então elas vendem para quem comprou depois. Você é a liquidez de saída.
Este modelo integra o Cabal-Hunter como uma verificação de segurança pré-negociação, para que seu agente possa ver quem está segurando e quem já se posicionou para vender antes de assinar um swap.
Uma nota sobre o que afirmamos e o que não afirmamos. Este README costumava abrir com "15 carteiras novas financiadas pela mesma carteira-mestre, acumulando 25-40% do supply." Procuramos esse padrão e não o encontramos. Rastrear 323 lançamentos da pump.fun na curva de bonding revelou zero clusters de financiamento coordenado, e mostrou o porquê: o lançamento mediano tem cerca de cinco compradores bem-sucedidos, porque em um token representativo 1.260 das 1.266 transações da curva falharam. A captura de lançamento é uma corrida de snipers entre bots concorrentes, não uma cabal silenciosa. As camadas de detecção abaixo são as que podemos realmente comprovar — concentração de detentores, bundles no mesmo bloco, vendas coordenadas e histórico do desenvolvedor. O rastreador de financiamento pré-lançamento foi retirado; o artigo completo está aqui.
A única pergunta que ele responde: você é a liquidez de saída?
A configuração clássica de liquidez de saída da pump.fun: carteiras posicionadas antes da multidão compram a base de um lançamento e depois despejam no varejo (e bots) que entram depois. A principal saída do Cabal-Hunter é um único veredito de Risco de Liquidez de Saída — risk_level, um de LOW_SIGNAL | ELEVATED | HIGH que sintetiza todos os sinais abaixo na única coisa que importa antes de você assinar um swap: os insiders estão posicionados para despejar em você?
O que o Cabal-Hunter Faz
Token mint address
↓
0. EXIT-LIQUIDITY RISK — the headline verdict. Synthesises the layers
below (bundle, concentration, shared funder, coordinated selling,
serial-launcher dev) into risk_level: LOW_SIGNAL | ELEVATED | HIGH.
Are insiders set up to dump on a buyer? The one field an agent needs.
↓
1. HOLDER FUNDING TRACE (ONE HOP) — the CURRENT top holders walked back
one funding hop: were they seeded by the same wallet? ONE hop, not a
lineage — we do not claim to follow money through a chain of
wallets. Only System-owned accounts count as
a funder, so pools, vaults and routers can never be mistaken for a
person (that mistake is exactly what got our pre-launch tracer
withdrawn). Every cluster carries evidence_txs[] — the actual
funding transactions on Solscan. This layer is genuinely rare to
fire; treat a hit as significant and its absence as no evidence
either way.
↓
2. SAME-BLOCK BUNDLE DETECTION — holders whose token accounts were
created in the EXACT same slot - a Jito bundle is one way to do that, not
the only one. Catches
stealth launches that route funding through intermediaries to
evade layer 1. Returned as `time_sync: true`.
↓
3. COORDINATED SELLING DETECTION — ≥2 holders that SOLD a meaningful
chunk (≥25% of their bag each) in the EXACT same block.
`coordinated_exit: true`, with sold_pct = % of supply sold and the
signatures in evidence_txs[]. Same-slot + meaningful-size + distinct
wallets = near-zero false positives. It reads the CURRENT holder set
at scan time, so a bundle that already sold and left the top holders
is not visible here — that is what the launch-block check is for.
For a token you already hold, POST /api/watch pushes you a webhook
the moment a dump or liquidity drain STARTS.
↓
4. DEV TRACK RECORD — the creator wallet is resolved on-chain (bonding
curve pre-graduation, pump-amm pool after — works on any age token),
and their launch history is pulled WITH THE PEAK MARKET CAP each
past token hit. `sampled` says how many of those launches we actually
walked — a very prolific wallet is sampled, not exhausted, so read
`tokens_launched` as a floor, never as a complete history.
Launch detection is venue-agnostic: pump.fun, Raydium,
Orca, Meteora and PumpSwap. A launch is only counted where the
transaction actually CREATED the mint, so minting more supply of a
token that already exists is never miscounted as a launch.
A dead-count alone hides a pump-and-dump: a dev whose
tokens all died at $4k is a nobody, but one who ran a token to $728k
then dumped it to dust has done it to holders before. Reputation:
FIRST_LAUNCH | PROVEN | MIXED | DEAD_ON_ARRIVAL | SERIAL_RUGGER |
UNKNOWN, with per-launch peak → now (paid tier returns the full
launches[] array). UNKNOWN means the history could not be
established — never read it as a clean record.
↓
5. CEX-NOISE FILTER — holders funded from a shared exchange or
high-volume infra wallet are NOT a cabal. They're excluded from the
score and surfaced transparently in filtered_clusters[], so you never
get a false positive from people who just withdrew from Binance.
↓
6. HONEYPOT CHECK (Solana-native) — one RPC read of the mint account:
is the FREEZE authority live (issuer can freeze your tokens — the
sell-block lever)? is the MINT authority live (supply can be
inflated)? any Token-2022 traps (transfer fees up to 100%, transfer
hooks that block sells, permanent-delegate clawback)? On Solana a
"honeypot" is built from these — tokens have no per-token contract
code to audit. Returns `honeypot_risk: LOW | HIGH` +
`freeze_authority_revoked` / `mint_authority_revoked` /
`token2022_risks[]`.
↓
Returns: Cabal Score (0-100) + cluster map + deployer verdict
+ honeypot verdict + on-chain receipts + hard verdict
A camada do desenvolvedor é a que as cabais não conseguem evitar: carteiras rotacionam, desenvolvedores deixam rastro de papel. Uma resposta de "deployer": {"reputation": "SERIAL_RUGGER", "tokens_launched": 22, "best_peak_usd": 728432, "pump_and_dumps": 2} mostra o histórico completo do dev antes da primeira vela — incluindo se este dev "morto" silenciosamente levou tokens a seis dígitos e os despejou em detentores antes. (Contexto honesto: a maioria dos criadores prolíficos da pump.fun tem altas taxas de tokens mortos, então este sinal é limitado — ele sinaliza um token para revisão, mas nunca gera um veredito ALTO sozinho.)
FIRST_LAUNCH e UNKNOWN não são a mesma resposta. deployer.verdict de
FIRST_LAUNCH significa que percorremos o histórico deste criador e não encontramos tokens anteriores.
UNKNOWN significa que o histórico não pôde ser estabelecido — isso é ausência de
evidência, não um histórico limpo, e um agente não deve tratá-lo como tal. Quando um desenvolvedor
não pode ser resolvido, a varredura diz isso em palavras, em vez de retornar um silêncio confiante.
Comprovantes, não mágica. Cada cluster de carteiras carrega evidence_txs[] — as assinaturas brutas por trás daquele cluster, verificáveis no Solscan — e os detentores carregam funding_tx quando resolvemos um. Concentração de detentores, histórico do desenvolvedor e verificações de honeypot são lidos do estado da chain, então não carregam transação própria: um token pode voltar HIGH sem nenhum cluster. Verifique o que está lá em vez de confiar em uma pontuação.
Resposta em <100ms para um mint rastreado nas últimas 8 horas — computed_at (segundos unix) diz exatamente quando esse rastreamento foi executado. Qualquer outro mint executa um rastreamento on-chain ao vivo e leva 15-20s, então permita um timeout de 30s.
Nível gratuito: 5 varreduras/mês sem conta, ou 250/mês com uma chave gratuita (um e-mail). Depois, $0,01 por varredura. Pague com cartão, em USDC na Solana ou via x402 — mesmo preço por qualquer porta. $9/mês compra 2.500 varreduras por mês e $99/mês compra varreduras ilimitadas de uso justo (50.000 por mês); com cartão, um plano renova automaticamente e pode ser cancelado a qualquer momento em cabal-hunter.com/billing.
Início Rápido
1. Claude Code / Claude Desktop
Adicione à sua configuração MCP (~/.claude/mcp.json ou projeto .mcp.json):
{
"mcpServers": {
"cabal-hunter": {
"url": "https://api.cabal-hunter.com/mcp"
}
}
}
É isso. O Claude agora chamará check_cabal_risk automaticamente quando você pedir para analisar um token Solana.
Exemplo de prompt:
"Antes de comprarmos este token, verifique se há carteiras coordenadas:
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
O Claude chama a ferramenta, paga $0,01 USDC da sua carteira conectada e retorna a análise completa.
2. Cursor
Adicione ao .cursor/mcp.json na raiz do seu projeto:
{
"mcpServers": {
"cabal-hunter": {
"url": "https://api.cabal-hunter.com/mcp"
}
}
}
3. ElizaOS (com pagamento automático via x402)
Se você estiver usando ElizaOS com @hugen/plugin-x402-solana, o pagamento é tratado automaticamente. Adicione à configuração do seu agente:
{
"plugins": ["@hugen/plugin-x402-solana"],
"mcpServers": {
"cabal-hunter": {
"url": "https://api.cabal-hunter.com/mcp"
}
}
}
Seu agente chamará check_cabal_risk(mintAddress) antes de qualquer swap e abortará se cabalScore >= 35 ou isControlled === true.
4. API REST Direta
Para scripts headless, bots personalizados ou qualquer linguagem. As primeiras 5 chamadas/mês são gratuitas — sem chave, sem cadastro. Uma chave gratuita (um e-mail) eleva isso para 250/mês. Basta chamar:
curl "https://api.cabal-hunter.com/api/scan-cabal?mintAddress=YOUR_MINT_ADDRESS"
Você recebe a análise completa imediatamente, com free_queries_remaining para saber sempre onde está. Contrato legível por máquina: /openapi.json.
Quando o nível gratuito é usado, as chamadas custam $0,01 USDC via x402 — seu agente apenas paga, sem configuração de cobrança:
Etapa 1 — Solicitar análise (obter instruções de pagamento):
curl -X POST https://api.cabal-hunter.com/api/scan-cabal \
-H "Content-Type: application/json" \
-d '{"mintAddress": "YOUR_MINT_ADDRESS"}'
Resposta (HTTP 402):
{
"error": "payment_required",
"payment": {
"recipient": "ATYjZ1kWoHWhj74umGJ8wFqUeW1yeSGBbLi1UQpahPxt",
"amount_usdc": 0.01,
"memo_required": "ch-xxxx-xxxx-xxxx",
"instructions": "Send 0.01 USDC with this memo, then resubmit with X-Payment-Signature header"
}
}
Etapa 2 — Pagar e reenviar:
curl -X POST https://api.cabal-hunter.com/api/scan-cabal \
-H "Content-Type: application/json" \
-H "X-Payment-Signature: YOUR_TX_SIGNATURE" \
-d '{"mintAddress": "YOUR_MINT_ADDRESS"}'
Resposta (HTTP 200):
{
"mint": "YOUR_MINT",
"token_name": "EXAMPLE",
"risk": "HIGH",
"cabal_score": 72.4,
"is_controlled": true,
"time_sync": true,
"verdict": "AVOID — 4 wallets bought in the EXACT same block (bundled launch), controlling 34.1% of supply. DEPLOYER ALERT: this creator has launched 14 tokens, 13 of 13 checked are dead (100%).",
"coordinated_clusters": [
{
"type": "funding",
"master_full": "FvbEKF...9RUg",
"master_short": "FvbEKF…9RUg",
"wallet_count": 4,
"combined_pct": 34.1,
"risk": "HIGH",
"evidence_txs": ["4Y8auc5G...", "2XQx9LFv...", "AAbJ7rej..."]
}
],
"filtered_clusters": [
{
"funder_label": "high-volume wallet",
"master_short": "43ViqZ…Z6iy",
"wallet_count": 2,
"combined_pct": 4.4
}
],
"deployer": {
"creator": "5TbRN6...full address...",
"creator_short": "5TbRN6…2TGC",
"tokens_launched": 14,
"dead": 13,
"sampled": 13,
"dead_pct": 100.0,
"verdict": "SERIAL_LAUNCHER"
},
"holders": [
{ "rank": 1, "address": "...", "pct": 12.4, "cluster_id": 0, "funding_tx": "4Y8auc5G..." }
],
"wallets_checked": 12,
"analysis_time_ms": 487,
"source": "real_time"
}
5. Executar o servidor MCP localmente (Docker / Node)
Mais rápido — sem necessidade de clone: npx cabal-hunter-mcp — o mesmo servidor stdio, publicado no npm (cabal-hunter-mcp · npm). Ou execute a partir deste repositório:
Prefere executar o conector você mesmo em vez de usar o endpoint hospedado /mcp?
Este repositório inclui um servidor MCP stdio leve que expõe
check_cabal_risk(mintAddress) e faz proxy para a API do Cabal-Hunter (o nível gratuito
funciona sem chave; varreduras pagas usam x402 no momento da chamada):
# Node 18+
npm install
node server/index.mjs
# or Docker
docker build -t cabal-hunter-mcp .
docker run -i cabal-hunter-mcp
Depois aponte qualquer cliente MCP para o comando local:
{
"mcpServers": {
"cabal-hunter": {
"command": "node",
"args": ["server/index.mjs"]
}
}
}
Integre à Sua Lógica de Negociação
import requests
def is_safe_to_buy(mint_address: str, payment_sig: str) -> bool:
"""Returns True if token passes cabal check."""
resp = requests.post(
"https://api.cabal-hunter.com/api/scan-cabal",
json={"mintAddress": mint_address},
headers={"X-Payment-Signature": payment_sig}
)
if resp.status_code != 200:
return False # fail-safe: don't buy on error
data = resp.json()
# Block on: coordinated control, high score, bundled launch,
# or a deployer with a history of dead tokens
deployer_verdict = (data.get("deployer") or {}).get("verdict", "UNKNOWN")
return (
not data.get("is_controlled")
and data.get("cabal_score", 100) < 35
and not data.get("time_sync")
and deployer_verdict not in ("SERIAL_RUGGER", "SERIAL_LAUNCHER", "POOR_TRACK_RECORD")
)
# In your bot's buy logic:
if is_safe_to_buy(token_mint, my_payment_sig):
execute_swap(token_mint, sol_amount)
else:
print(f"Cabal detected — skipping {token_mint}")
Mapa 3D Interativo de Detentores (Grátis)
Veja exatamente o que a análise encontrou. Cada detentor real é um cristal facetado dimensionado pela sua participação no supply; carteiras no mesmo cluster são unidas por feixes de luz, e o pool de liquidez e o supply travado ficam separados em um cofre wireframe porque não podem ser vendidos. Arraste para girar, passe o mouse para ver a carteira, clique para ir ao Solscan:
https://api.cabal-hunter.com/map?mint=ANY_SOLANA_MINT
Grátis para visualizar, em 9 idiomas. Compartilhe esta URL quando pegar um rug. Cada cristal é clicável e linka para o Solscan para pesquisa aprofundada.
Cabal-Hunter em todo lugar
Mesmo motor de detecção, onde quer que sua stack esteja:
npx cabal-hunter-mcp— servidor MCP autônomo para Claude · Cursor · VS Code · qualquer cliente MCP: cabal-hunter-mcp · npm- Plugin ElizaOS:
npm i elizaos-plugin-cabal-hunter— plugin-cabal-hunter · npm - API REST + OpenAPI: api.cabal-hunter.com · /openapi.json
Preços
As primeiras 5 varreduras de cada mês são gratuitas — sem cadastro, sem chave de API. Uma chave gratuita (um e-mail) eleva isso para 250/mês.
Depois disso, escolha o que combina com o quanto seu bot trabalha:
| Plano | Preço | O que você recebe |
|---|---|---|
| Trader | $9 USDC / mês | 2.500 varreduras por mês |
| Pro ⭐ | $99 USDC / mês | Ilimitado — uso justo: 50.000/mês, mais do que qualquer bot precisa |
| Pague conforme usar | $0,01 USDC / varredura | Apenas o que você usar — pré-pago ou por chamada, sem compromisso |
Chaves pré-pagas: envie USDC uma vez → POST /api/buy-key com a assinatura da tx → use o header X-API-Key em cada varredura. Ou pague por chamada via x402 (header X-Payment-Signature). Sem cartão de crédito, sem conta, sem fidelização.
Ele se paga? Faça as contas com seus próprios números, não os nossos: o plano Trader custa $9 por mês, então ele se paga na primeira vez que impede você de entrar em uma posição maior que $9 que vai a zero. Se isso acontece uma vez por mês ou uma vez por semana depende do que você negocia e com que frequência — não vamos inventar uma média para você.
O pagamento é nativo na Solana — sem cartão de crédito, sem conta, sem fidelização por assinatura.
Selo de dashboard ao vivo
Coloque um selo de segurança ao vivo no dashboard do seu próprio bot — duas linhas de HTML, e cada token mostra seu veredito enquanto negocia:
<div class="cabal-hunter-badge" data-mint="YOUR_TOKEN_MINT"></div>
<script src="https://api.cabal-hunter.com/widget.js" defer></script>
Ele renderiza a pontuação de 0–100, o veredito em linguagem simples e os flags ativos (lançamento em bundle, venda coordenada, concentração de baleias, desenvolvedor com lançamentos em série, honeypot). Adicione data-refresh="120" para re-escaneá-lo ao vivo enquanto negocia, e data-api-key="..." quando passar das varreduras gratuitas. Funciona em qualquer lugar — React, HTML simples, qualquer site.
Referência da API
| Endpoint | Descrição | Auth |
|---|---|---|
POST /api/scan-cabal | Análise completa de cabal | $0,01 USDC |
GET /api/scan-cabal?mintAddress= | GET versão | $0,01 USDC |
GET /map?mint= | Mapa 3D interativo de detentores | Grátis |
GET /api/cex-funding?mint= | Detalhamento de financiamento por exchange (quais CEXes financiaram detentores, % cada) | Grátis |
GET /api/trade-analysis?mint= | PnL de coorte (Time/Snipers/Insiders) + pontuação de wash-trading + impacto de preço da liquidez de saída, em uma chamada | Grátis |
POST /api/watch | Registrar um webhook de despejo de emergência para um mint (push no início de dump/rug) | Grátis |
GET /api/info | Preços, endpoints | Grátis |
GET /health | Verificação de uptime | Grátis |
POST /mcp | Endpoint de ferramenta MCP | $0,01 USDC por chamada |
Webhook de despejo de emergência (saída automática)
Em vez de fazer polling, deixe seu bot assinar um token que ele segura — enviamos push no momento em que um despejo coordenado ou dreno de liquidez começa:
curl -X POST https://api.cabal-hunter.com/api/watch \
-H "Content-Type: application/json" \
-d '{"mint":"YOUR_MINT","webhook_url":"https://your-bot.com/dump-alert"}'
Seu endpoint recebe:
{ "event":"dump_detected", "mint":"...", "reason":"price −34% since last check",
"coordinated": true, "price_usd": 0.0001, "liquidity_usd": 4200,
"action":"consider_immediate_exit", "ts": 1781370000 }
Infraestrutura
- RPC: Helius (Frankfurt)
- Hospedagem: AWS EC2 Frankfurt — baixa latência para UE/global
- Análise: lida da chain, nunca raspada de outro scanner. Um
rastreamento concluído é armazenado em cache por 8 horas e
computed_atsempre diz quando foi executado;fresh=1força um novo - Uptime: meta de 99,9% — monitorado, reinício automático via systemd
FAQ
O que é uma cabal na Solana? Um grupo de carteiras — muitas vezes financiadas da mesma fonte e comprando no mesmo bloco — que acumula silenciosamente uma grande parcela do supply de um token antes do varejo, e depois despeja simultaneamente em todos que compram após o lançamento.
Como verifico se um token Solana é um rug?
Escaneie o mint com o Cabal-Hunter (MCP, API REST ou o mapa 3D gratuito de detentores). Ele rastreia o financiamento dos detentores um hop atrás até fontes compartilhadas, detecta compras em bundle no mesmo bloco, sinaliza desenvolvedores com lançamentos em série e vendas coordenadas no mesmo bloco, e retorna um veredito de Risco de Liquidez de Saída — risk_level: LOW_SIGNAL, ELEVATED ou HIGH.
É gratuito?
Sim — 5 varreduras/mês sem cadastro ou chave de API, e 250/mês com uma chave gratuita (um e-mail). Acima disso, custa US$ 0,01 USDC por varredura, pago nativamente na Solana.
Existe uma forma de usar sem escrever código? Sim — @TheCabalHunter_Bot no Telegram. Cole um mint, receba a mesma varredura como um cartão, e peça para ele monitorar um token que você possui, para que ele avise quando um dump começar. Tokens avaliados são publicados em @CabalHunterAlerts.
Agentes de IA de trading podem usar?
Sim — esse é o objetivo principal. O servidor MCP (api.cabal-hunter.com/mcp) permite que agentes Claude, Cursor e ElizaOS chamem check_cabal_risk(mintAddress) automaticamente antes de qualquer swap, e uma API REST cobre qualquer outra linguagem.
Licença
MIT — faça um fork, construa em cima, integre. Se você construir algo com isso, compartilhe.
Construído por Cabal Hunter · Desenvolvido por Helius · Contato: api.cabal-hunter.com/api/info