文档

一分钟内拿到裁决。

这里的一切都无需注册——每月前 5 次扫描免费,无需 API 密钥——凭免费密钥每月 250 次。在下方选择你的路径。

获取免费 API 密钥

每月 250 次扫描,永久免费。无需银行卡,不产生费用。

你的邮箱仅用于发送密钥和服务通知,不作他用。

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.

面向所有人 · 无需代码

在浏览器里查一个代币

使用 Cabal-Hunter 不需要你是开发者。diamond map 免费,可视化地展示钱包图谱。

  1. 复制代币的 mint address——来自 DexScreener、GMGN、pump.fun 或你钱包里的那串长字符(形如 Ad3w…pump)。
  2. 打开 cabal-hunter.com/map,粘贴到搜索框。
  3. 读地图。每个 diamond 是一个钱包(大小=持仓)。线是资金连接——相连的 diamond 由同一来源供资。红色簇就是 cabal。点任意 diamond 到 Solscan 验证。
经验法则:健康的代币看起来是分散、不相连的 diamond。等待 rug 的代币看起来像蜘蛛网——许多 holder 连到同一个资金源,往往在同一区块创建。
面向 bot 开发者

REST API

一次 GET 请求,任意语言。每月 250 次免费无需鉴权——计数按 IP。

cURL — 现在就试

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

Plusieurs tokens d'un coup — /api/scan-batch

Vous filtrez un flux ? Envoyez jusqu'à 25 mints en une requête au lieu de boucler. Une ligne par mint, dans l'ordre envoyé. Un mint impossible à analyser renvoie une ligne d'erreur sans faire échouer le lot. Un scan par mint ; une clé est requise (une gratuite suffit).

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 — rien à installer

Collez un mint à @TheCabalHunter_Bot : il répond dans la conversation avec le même verdict, l'historique du déployeur et l'analyse des détenteurs. /watch <mint> vous alerte dès qu'un dump coordonné commence. t.me/TheCabalHunter_Bot

有用的响应 header

Header含义
X-Free-Queries-Remaining本月你 IP 剩余的免费扫描次数——在你的 bot 里盯着它,归零前充值。
X-Cabal-Risk-LevelHIGH / ELEVATED / LOW_SIGNAL —— 无需解析 body 即可读取。
X-Cabal-RecommendationSAFE / REVIEW / AVOID —— 已弃用。请改用 X-Cabal-Risk-Level。
X-Cabal-Score0–100 的分数。
X-Key-Credits-Remaining你预付密钥的剩余余额(当发送 X-API-Key 时)。
同样免费:GET /api/cex-funding?mint=(哪些交易所给 holder 供资)、GET /api/trade-analysis?mint=(分层 PnL + 洗盘分)以及 POST /api/watch(你持有的代币一旦开始协同砸盘即 webhook 推送)。机器可读规范:openapi.json
面向 agent 开发者

MCP — Claude、Cursor、VS Code

Cabal-Hunter 是托管在 https://api.cabal-hunter.com/mcp 的 MCP 服务器,暴露一个工具:check_cabal_risk(mintAddress)。你的 agent 在任何 swap 前调用它——自动完成。

一键安装

⚡ 在 VS Code 安装 ⚡ 在 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"]
    }
  }
}

然后直接问

"Check the cabal risk on Ad3wM19jfM6DGbGaoswz3orJ5WHXWEjBGKpRZ2ggpump before I buy."
给交易 agent 的 system-prompt 小贴士:加上 「在任何 Solana 买入前调用 check_cabal_risk。若 risk_level 为 HIGH 或 cabal_score ≥ 65 则不要买入。」——这一行让设卡自动化。
面向 ElizaOS 开发者

ElizaOS 插件

一个已发布的 npm 插件为任意 Eliza agent 添加 CHECK_CABAL_RISK 动作。

npm install elizaos-plugin-cabal-hunter

在你的 character 中注册

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

export const character = {
  ...
  plugins: [cabalHunterPlugin],
}
面向你的 dashboard

实时徽章挂件

两行 HTML 即可渲染一张实时裁决卡——分数圈、标记、实时地图链接——适用于任意代币、任意站点。纯 HTML、React、哪里都能用。

<div class="cabal-hunter-badge" data-mint="YOUR_TOKEN_MINT"></div>
<script src="https://api.cabal-hunter.com/widget.js" defer></script>

选项

属性作用
data-mint必填。要扫描并展示的 Solana mint。
data-refresh="120"每 N 秒重新扫描(最少 60)——交易时的实时裁决。
data-api-key="ch_live_…"超出免费档后使用你的预付密钥。
参考

响应字段

你代码真正会用到的字段。完整 schema:openapi.json

字段含义
cabal_score0–100。≥65 = 高风险,≥35 = CAUTION,以下 = 低信号。
risk_levelHIGH / ELEVATED / LOW_SIGNAL —— 我们观察到的结果。LOW_SIGNAL 表示我们的检查没有触发,并不是安全评级。
recommendationSAFE / REVIEW / AVOID —— 已弃用,保留以兼容现有机器人。请改用 risk_level。
riskHIGH / MEDIUM / CLEAN。
verdict对所有发现的直白总结——人类可读,记进日志。
time_synctrue = holder 在完全同一区块买入(bundled 发射)。
coordinated_exittrue = 多个 holder 正在同一区块砸盘,此刻。
top_holder_pct最大单个非 LP holder 占供应量的比例。
deployer.verdictFIRST_LAUNCH / NORMAL / POOR_TRACK_RECORD / SERIAL_LAUNCHER——外加其发币历史。
coordinated_clusters[]每个簇:type(funding / time_sync / coordinated_exit)、占供应量的合计 %,以及 evidence_txs[]——证据交易。
filtered_clusters[]我们作为 CEX 噪声排除的簇(如共享的 Binance 供资)——展示出来供你核验我们没有隐藏任何东西。
honeypot_riskSolana 原生 honeypot 信号:有效的 freeze authority、Token-2022 陷阱。
liquidity_usd · market_cap扫描时来自 DexScreener 的实时数据。
free_queries_remaining本月你 IP 剩余的免费扫描次数。
价格与密钥

多数人免费。若你的 bot 永不停机,$9/月。

过去 8 小时内追踪过的代币直接返回那次追踪结果(computed_at 标明时间);其他代币会实时执行链上追踪。永不自动扣款:加密支付是 push-only,你始终掌控。

免费档——多数人留在这里

每月 5 次扫描完全无需注册,之后凭免费密钥可用 250 次。一个邮箱即可,无需银行卡。每个响应里 free_queries_remaining 字段与 X-Free-Queries-Remaining header 显示你的余额,剩 20 时出现 warning 字段。

免费之外——两个选项

$9/月 不限量(合理使用,5 万/月)供 24/7 的 bot——或按量 $0.001/次,$1 起任意金额。两种都是从任意 Solana 钱包的一次 USDC 付款。

获取密钥(60 秒,无需账户)

  1. 在 Solana 上发送 USDC/pricing 显示的钱包——$9 换不限量,或 ≥ $1 任意金额换按量额度。
  2. 兑换该笔交易:/pricing 粘贴 tx 签名,或用代码:POST /api/buy-key {"tx_signature": "…"}
  3. 把返回的密钥作为 header 用于每次扫描:X-API-Key: ch_live_…——随时在 GET /api/key-balance 查余额。
面向自主 agent:同样支持 x402 按次付费流程——402 响应 body 含完整的机器可读支付指令(收款方、金额、memo),因此 agent 无需人工即可付款并重试。
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.
付费附加功能

您自己的私人钱包名单

维护一份您关注的钱包名单,之后每次扫描都会额外告诉您其中哪些真的在该代币里——通过结果中的 screen_list 字段呈现。在任意密钥(含免费密钥)基础上每月 $9,可随时取消。

开通

返回一个针对发起调用的那把密钥的支付链接。不会新建任何东西——附加功能直接在您已有的密钥上开启。

curl -X POST https://api.cabal-hunter.com/api/screen-list/checkout -H "X-API-Key: YOUR_KEY"

添加钱包

备注只属于您,也只会显示给您。一份名单最多 500 个钱包;地址会经过校验,形似但无效的字符串会被拒绝并说明原因,而不是被悄悄存下。

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"

返回什么

每次扫描都会多出一个 screen_list 对象:checkedmatcheshits[]——每条命中包含钱包地址、您的备注、角色(holdercluster_funder)以及已知的持仓占比。

"screen_list": { "checked": true, "matches": 1, "hits": [ { "wallet": "<WALLET>", "label": "for my eyes only", "role": "holder", "pct": 4.1 } ] }

checked: true 且零命中,表示筛查确实执行过且未发现——这与「根本没有筛查」是两回事。没有命中,绝不代表您未列入名单的钱包就是干净的。

您的名单仅归属于您的密钥。我们不公开任何钱包名单,也不对某个地址的归属者作出任何主张——命中只是链上的观察,绝非对某个人的论断。
故障排查

快速解答

我收到 HTTP 402

你的 IP 本月用完了 250 次免费扫描。响应 body 列出了两种继续方式($9 不限量 或 $0.001/次)。计数在每月 1 日重置。

扫描要几秒

冷代币需要实时链上追踪(15–20 秒)。已索引的 <100ms 返回。传 pairCreatedAt(DexScreener 毫秒时间戳)可加速冷扫描。

分数显示 CLEAN 但代币还是 rug 了

CLEAN 意味着没有协同的 cabal——它无法预测一个用干净钱包图谱抽走流动性的单人 dev。请结合 top_holder_pctdeployer.verdict 与流动性看全貌——并看 实时演示 了解它在我们自己 bot 上的表现。

还有别的?

主页上的反馈框——直接发到我们这里——或私信 @CabalhunterAPI