Tout ici fonctionne sans inscription — vos 5 premiers scans chaque mois sont gratuits, sans clé API — et 250 par mois avec une clé gratuite. Choisissez votre voie ci-dessous.
250 scans par mois, gratuit pour toujours. Sans carte, sans frais.
Votre email sert à votre clé et aux avis de service. Rien d'autre.
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.
Pas besoin d'être développeur pour utiliser Cabal-Hunter. La diamond map est gratuite et vous montre le graphe des wallets visuellement.
Une requête GET, n'importe quel langage. Pas d'auth pour vos 250/mois gratuits — le compteur est par 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() }
在筛选新币列表?一次请求最多可发送 25 个代币地址,无需循环调用。每个地址返回一行结果,顺序与请求一致。无法分析的地址会返回错误行,而不会导致整批失败。每个地址计一次扫描;需要密钥(免费密钥即可)。
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>"]}'
把代币地址粘贴给 @TheCabalHunter_Bot,它会在聊天里给出同样的结论、开发者记录和持有人分析。/watch <mint> 会在协同抛售或撤池开始时立刻通知你。 t.me/TheCabalHunter_Bot
| Header | Signification |
|---|---|
| X-Free-Queries-Remaining | Scans gratuits restants ce mois pour votre IP — surveillez-le dans votre bot et rechargez avant qu'il n'atteigne zéro. |
| X-Cabal-Risk-Level | HIGH / ELEVATED / LOW_SIGNAL — lisez-le sans parser le body. |
| X-Cabal-Recommendation | SAFE / REVIEW / AVOID — obsolète. Préférez X-Cabal-Risk-Level. |
| X-Cabal-Score | Le score de 0–100. |
| X-Key-Credits-Remaining | Solde restant sur votre clé prépayée (en envoyant X-API-Key). |
Cabal-Hunter est un serveur MCP hébergé sur https://api.cabal-hunter.com/mcp exposant un outil : check_cabal_risk(mintAddress). Votre agent l'appelle avant chaque swap — automatiquement.
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."
Un plugin npm publié ajoute l'action CHECK_CABAL_RISK à n'importe quel agent Eliza.
npm install elizaos-plugin-cabal-hunter
import { cabalHunterPlugin } from "elizaos-plugin-cabal-hunter" export const character = { ... plugins: [cabalHunterPlugin], }
Deux lignes de HTML affichent une carte de verdict en direct — cercle de score, signaux, lien vers la map en direct — pour n'importe quel token, sur n'importe quel site. Fonctionne en HTML pur, React, partout.
<div class="cabal-hunter-badge" data-mint="YOUR_TOKEN_MINT"></div> <script src="https://api.cabal-hunter.com/widget.js" defer></script>
| Attribut | Ce que ça fait |
|---|---|
| data-mint | Requis. Le mint Solana à scanner et afficher. |
| data-refresh="120" | Re-scanne toutes les N secondes (min 60) — verdicts en direct pendant que vous tradez. |
| data-api-key="ch_live_…" | Utilisez votre clé prépayée une fois le tier gratuit dépassé. |
Les champs que votre code utilisera vraiment. Schéma complet : openapi.json.
| Champ | Signification |
|---|---|
| cabal_score | 0–100. ≥65 = risque ÉLEVÉ, ≥35 = CAUTION, en dessous = signal faible. |
| risk_level | HIGH / ELEVATED / LOW_SIGNAL — ce que nous avons observé. LOW_SIGNAL signifie que nos contrôles ne se sont pas déclenchés ; ce n'est pas une note de sécurité. |
| recommendation | SAFE / REVIEW / AVOID — obsolète, conservé pour que les bots existants continuent de fonctionner. Préférez risk_level. |
| risk | HIGH / MEDIUM / CLEAN. |
| verdict | Résumé en langage clair de tout ce qui a été trouvé — lisible par un humain, à logger. |
| time_sync | true = les holders ont acheté dans le même bloc exact (lancement bundled). |
| coordinated_exit | true = plusieurs holders qui dumpent dans le même bloc, en ce moment. |
| top_holder_pct | Part du plus gros holder individuel non-LP sur le supply. |
| deployer.verdict | FIRST_LAUNCH / NORMAL / POOR_TRACK_RECORD / SERIAL_LAUNCHER — plus leur historique de lancements. |
| coordinated_clusters[] | Chaque cluster : type (funding / time_sync / coordinated_exit), % combiné du supply, et evidence_txs[] — les transactions de preuve. |
| filtered_clusters[] | Clusters que nous excluons comme bruit CEX (ex. funding Binance partagé) — montrés pour que vous vérifiiez qu'on ne cache rien. |
| honeypot_risk | Signaux honeypot natifs Solana : freeze authority active, pièges Token-2022. |
| liquidity_usd · market_cap | En direct depuis DexScreener au moment du scan. |
| free_queries_remaining | Scans gratuits restants ce mois pour votre IP. |
Un token tracé dans les 8 dernières heures est servi depuis ce traçage (computed_at indique quand) ; tout autre token lance un traçage on-chain en direct. Rien n'est jamais débité automatiquement : les paiements crypto sont push-only, vous gardez toujours le contrôle.
5 scans par mois sans aucune inscription, puis 250 avec une clé gratuite. Un email, sans carte. Le champ free_queries_remaining et le header X-Free-Queries-Remaining affichent votre solde à chaque réponse, et un champ warning apparaît à 20 restants.
9 $/mois Illimité (usage équitable, 50k/mois) pour bots 24/7 — ou à l'usage à 0,001 $/scan, tout montant à partir de 1 $. Dans les deux cas, un paiement USDC depuis n'importe quelle 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"
}Gardez une liste de portefeuilles qui vous intéressent : chaque scan indique aussi lesquels sont réellement dans le token, via le champ screen_list du résultat. 9 $/mois en plus de n'importe quelle clé, y compris gratuite. Annulable à tout moment.
Renvoie un lien de paiement pour la clé qui a fait l'appel. Rien de neuf n'est créé : l'option s'active sur la clé que vous avez déjà.
curl -X POST https://api.cabal-hunter.com/api/screen-list/checkout -H "X-API-Key: YOUR_KEY"Le libellé n'appartient qu'à vous et ne vous est montré qu'à vous. Une liste accepte jusqu'à 500 portefeuilles ; les adresses sont validées, donc une chaîne ressemblante est refusée avec la raison plutôt que stockée en silence.
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"Chaque scan gagne un objet screen_list : checked, matches et hits[], avec le portefeuille, votre libellé, son rôle (holder ou cluster_funder) et sa part de l'offre quand elle est connue.
"screen_list": {
"checked": true,
"matches": 1,
"hits": [
{ "wallet": "<WALLET>", "label": "for my eyes only",
"role": "holder", "pct": 4.1 }
]
}checked: true avec zéro correspondance signifie que le filtrage A EU LIEU et n'a rien trouvé — ce n'est pas la même chose que pas de filtrage du tout. L'absence de correspondance n'est jamais un certificat de bonne santé pour un portefeuille que vous n'avez pas listé.
Votre IP a utilisé ses 250 scans gratuits ce mois. Le body de la réponse liste les deux façons de continuer (9 $ Illimité ou 0,001 $/scan). Les compteurs se réinitialisent le 1er.
Les tokens à froid nécessitent un trace on-chain en direct (15–20s). Les déjà indexés reviennent en <100ms. Passez pairCreatedAt (timestamp en ms de DexScreener) pour accélérer les scans à froid.
CLEAN signifie pas de cabal coordonnée — ça ne peut pas prédire un dev solo qui retire la liquidité avec un graphe de wallets propre. Combinez avec top_holder_pct, deployer.verdict et la liquidité pour l'image complète — et regardez la démo en direct pour voir sa performance sur notre propre bot.
Utilisez la boîte de feedback sur la homepage — ça nous arrive directement — ou pinguez @CabalhunterAPI.