CHCabal-Hunter
获取密钥
文档

一分钟内拿到裁决。

这里的一切都无需注册——每月前 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 请求,任意语言。每月 5 次免费扫描无需鉴权;免费密钥可提升到 250 次。

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["risk_level"] == "HIGH" 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.risk_level === "HIGH" || r.cabal_score >= 65) {
  abortBuy()
}

一次扫描多个代币 — /api/scan-batch

在筛选新币列表?一次请求最多可发送 25 个代币地址,无需循环调用。每个地址返回一行结果,顺序与请求一致。无法分析的地址会返回错误行,而不会导致整批失败。每个地址计一次扫描;需要 Pro 套餐的密钥。

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 — 无需安装

把代币地址粘贴给 @TheCabalHunter_Bot,它会在聊天里给出同样的结论、开发者记录和持有人分析。/watch <mint> 会在协同抛售或撤池开始时立刻通知你。 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/wallet-report?wallet=(钱包档案:谁为它注资、它与哪些钱包一起买入新币、SOL 流向何处;$9 套餐每月 100 个钱包,Pro 每月 2,000 个)。Pro:GET /api/cex-funding?mint=(哪些交易所为持有者注资)、GET /api/trade-analysis?mint=(分群盈亏 + 刷量评分),以及监控提醒的 webhook、Discord 或 Slack 推送。任意密钥:POST /api/watch(你持有的代币一旦出现协同抛售,立即发送邮件提醒)。机器可读规范:openapi.json。内部人预警:在 $9 方案(最新一个监控)和 Pro 方案(全部监控)中,同一推送目标还会在 7 天内收到内部人事件——insider_dev_sold, insider_dev_sent, insider_exit, insiders_selling, insiders_buying, insiders_digest——每条都带有钱包、其角色、占供应量的比例和交易。
面向 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 永不停机,$99/月。

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

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

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

免费之外——两个选项

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

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

  1. 在 Solana 上发送 USDC 到 /pricing 显示的钱包——$99 换不限量,或 ≥ $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.

On the $9 plan (newest watch) and Pro (every watch), the same destination also receives insider events for 7 days. The event field is one of: insider_dev_sold, insider_dev_sent (the dev sold, or sent to other wallets, any amount); insider_exit (an insider sold everything it held); insiders_selling, insiders_buying (3+ insiders sold, or added, within 90 s); insiders_digest (several of these on one token within a minute, in one message). Each carries mint; wallet or wallets; role (dev, first_seconds, sent_by_dev, paid_by, minted, sent); amount_pct / group_pct (share of supply); left_pct; full_exit; sig / sigs (Solscan-verifiable transactions); verify (map link). Insiders are the dev, the first-seconds buyers, and holders whose first tokens did not come from buying. Observation, not a prediction.

Register a watch

Needs a key so that only you can see or remove your own watches. Any key gets the alert by email (leave webhook_url out and it goes to the address on your key); delivery to a webhook, Discord or Slack is part of the Pro plan.

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 字段呈现。包含在 Pro 方案中(每月 $99),可随时取消。

开通

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

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 对象:checked、matches 与 hits[]——每条命中包含钱包地址、您的备注、角色(holder 或 cluster_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 列出了两种继续方式($99 不限量 或 $0.01/次)。计数在每月 1 日重置。

扫描要几秒

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

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

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

还有别的?

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