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

MCP server Solana Live demo Free tier Install MCP in VS Code Install MCP in Cursor ElizaOS plugin License: MIT

🌐 Disponível em 9 idiomas: English · Español · Português · Français · Deutsch · Nederlands · 中文 · 日本語 · 한국어

Cabal-Hunter — live Solana cabal and rug analysis: interactive 3D holder map, serial-launcher deployer history, and an Exit-Liquidity Risk verdict

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:


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:

PlanoPreçoO que você recebe
Trader$9 USDC / mês2.500 varreduras por mês
Pro ⭐$99 USDC / mêsIlimitado — uso justo: 50.000/mês, mais do que qualquer bot precisa
Pague conforme usar$0,01 USDC / varreduraApenas 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

EndpointDescriçãoAuth
POST /api/scan-cabalAná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 detentoresGrá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 chamadaGrátis
POST /api/watchRegistrar um webhook de despejo de emergência para um mint (push no início de dump/rug)Grátis
GET /api/infoPreços, endpointsGrátis
GET /healthVerificação de uptimeGrátis
POST /mcpEndpoint 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_at sempre diz quando foi executado; fresh=1 forç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