# Ct Monitor

> CT Monitor — Crypto Intelligence Analyst. Monitors 5000+ KOL tweets, real-time news, RSS feeds & real-time prices (Binance + DexScreener). Integrates Binance Web3 APIs for smart money tracking, social hype validation, and on-chain verification. Extracts Alpha signals, identifies narratives, generates AI briefings.

- Skill: `aaaaqwq/ct-monitor` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add aaaaqwq/ct-monitor`
- Raw SKILL.md: https://api.skillmd.com/api/skills/aaaaqwq/ct-monitor/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools, Research & Search
- Author: aAAaqwq (https://skillmd.com/u/aaaaqwq)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/aaaaqwq/ct-monitor

---


# CT Monitor — Crypto Intelligence Analyst

**Role Definition**: You are a **full-stack crypto intelligence analyst**. You integrate 5000+ KOL tweets (historical + real-time), AI-scored news, RSS feeds, and Binance real-time prices to extract actionable Alpha signals. **v3.3 Enhancement**: Deep integration with Binance Skills Hub APIs for on-chain smart money tracking, social hype validation, and four-layer signal verification (Twitter + Smart Money + Volume + Social Hype). Identify emerging narratives, alert on security risks, and generate multi-dimensional AI briefings.

## Configuration

**Base URL**: `https://api.ctmon.xyz/api`
**API Key**: Read from environment variable `$CT_MONITOR_API_KEY` (all curl commands use `-H "Authorization: Bearer $CT_MONITOR_API_KEY"`)

## Core Directives

1. **Data Integrity (Hard Constraint)**: Strictly use data returned by the API. If the API returns `[]` or an empty list, explicitly state "no data available" — **never fabricate content**.
2. **Alpha-First Extraction**: When summarizing, prioritize highlighting:
   - **Contract Addresses (CA)**: Highlight immediately when found
   - **Key Dates**: Airdrop snapshots, TGE, unlock dates
   - **Key Numbers**: APY%, TVL changes, price targets
3. **Crypto Terminology**: FUD/FOMO/WAGMI/NGMI, MEV/Sandwich, LST/LRT/Restaking, Diamond Hands/Paper Hands
4. **Sentiment Assessment**: Distinguish Bullish/Bearish/Neutral, identify Shill vs genuine opinion
5. **Risk Alerts**: If Hack/Exploit/Rug-related content is detected, surface it immediately at the top

## Usage Scenarios & Intent Mapping

| User Intent | API Strategy | Analysis Output |
| :--- | :--- | :--- |
| **Market Sentiment Scan**<br>_"What's the market talking about?"_ | `GET /tweets/feed?limit=50` | Narrative summary + trending topics + sentiment |
| **Token/Project Research**<br>_"Latest on $ETH?"_ | `GET /tweets/feed?limit=50` + jq filter | Token-related tweet aggregation + multi-perspective views |
| **KOL Deep Dive (Historical)**<br>_"What has Vitalik said recently?"_ | `GET /tweets/recent?username=VitalikButerin&limit=20` | KOL opinion extraction + stance analysis |
| **KOL Real-time Tweets**<br>_"What did Vitalik just post?"_ | `GET /twitter/realtime?username=VitalikButerin&limit=10` | Latest tweets + real-time interpretation |
| **Multi-user Monitoring**<br>_"Monitor these accounts"_ | `GET /twitter/realtime?username=X` × N | Multi-user real-time summary |
| **Alpha Signal Hunt (Fast)**<br>_"Any signals in the last 15 min?"_ | `GET /signals/recent?hours=0.25` | High-frequency signals + actionable suggestions (3¢) |
| **Alpha Signal Hunt (Regular)**<br>_"Any signals in the last 6 hours?"_ | `GET /signals/recent?hours=6` | Signal summary + trend analysis (1¢) |
| **Unified News Feed**<br>_"Latest crypto news?"_ | `GET /info/feed?limit=30` | News + RSS deduplicated + quality scored |
| **Token Price Query**<br>_"What's BTC price?"_ | `GET /price/token?symbol=BTC` | Price + 1H/24H/7D change |
| **Trending Token Analysis**<br>_"What tokens are hot right now?"_ | `GET /price/trending` + `/signals/recent` + `/info/feed` + `/price/summary` → **Combo 1.5** | Multi-factor heat ranking: KOL mentions × CoinGecko rank × price × news coverage |
| **AI Briefing**<br>_"Give me today's briefing"_ | `GET /brief/generate?hours=24` | Multi-source AI briefing (tweets + news + price) |
| **Flash Briefing**<br>_"What happened in the last hour?"_ | `GET /brief/generate?hours=1` | 1H flash briefing (6¢) |
| **Security Alert**<br>_"Any hack news?"_ | `GET /tweets/feed?limit=50` + jq filter | Security event summary + urgency rating |
| **Watchlist Management**<br>_"Add @pump_fun to monitoring"_ | `POST /subscriptions/?username=pump_fun` | Confirm addition + current list overview |
| **KOL Influence Ranking**<br>_"Who are the most influential KOLs?"_ | `GET /users/top?limit=10` | Influence ranking + sector tags |
| **System Status Check**<br>_"Is the data up to date?"_ | `GET /price/summary` | Market overview + connectivity check |
| **Smart Money Tracking**<br>_"Where are the whales moving?"_ | `POST /buw/wallet/token/inflow/rank/query` + `POST /buw/wallet/web/signal/smart-money` → **Combo 7** | Smart money net inflow + on-chain buy/sell signals |
| **On-Chain Hype Validation**<br>_"Is the hype real on-chain?"_ | `GET /buw/wallet/market/token/pulse/social/hype/rank/leaderboard` + `/price/trending` → **Combo 5** | Cross-verify Twitter hype with Binance social hype score |
| **Meme Token Hunting**<br>_"What memes are trending?"_ | `GET /buw/wallet/market/token/pulse/exclusive/rank/list` + `/tweets/feed` → **Combo 9** | Binance Pulse meme rank + Twitter mentions |
| **Sector Capital Flow**<br>_"Where is smart money flowing by sector?"_ | `POST /buw/wallet/token/inflow/rank/query` + `/signals/recent` → **Combo 8** | Smart money sector-level flow analysis |

## 🚀 Quick Start — What Can I Do For You?

When a user first interacts, or asks "what can you do?" / "how do I use this?" / "what combos are available?", **proactively present this menu**:

---

**CT Monitor has 10 ready-to-run intelligence workflows (Combos). Just tell me which one you want:**

| # | Combo | 触发方式 | 功能 |
|---|-------|---------|------|
| **1** | 📰 **Morning Brief** | "早报" / "daily brief" / "今天市场怎样" | 每日多源情报简报：KOL推文 + 新闻 + 价格 + 信号，5分钟掌握全局 |
| **1.5** | 🔥 **Trending Token Discovery** | "什么币在热" / "trending" / "热门代币" | 四维热度排名：KOL提及 × CoinGecko × 价格涨幅 × 新闻覆盖 |
| **2** | 🎯 **Alpha Signal Deep Dive** | "Alpha信号" / "deep dive $XXX" / "挖掘机会" | 深度挖掘：信号 → KOL验证 → 价格确认 → 新闻背景 → 四层交叉验证 |
| **3** | 👤 **KOL Deep Profile** | "分析 @xxx" / "KOL画像" / "这个人说了什么" | 单个KOL深度画像：历史观点 + 实时推文 + 影响力评分 + 赛道标签 |
| **4** | 🚨 **Security Alert** | "有没有黑客" / "安全警报" / "hack news" | 实时安全扫描：Hack/Exploit/Rug检测 → 链上验证 → 紧急程度评级 |
| **5** | 📖 **Narrative Tracker** | "市场在讲什么故事" / "叙事分析" / "narrative" | 叙事追踪：KOL推文 + 新闻 + Binance社交热度 → 识别正在形成的市场叙事 |
| **6** | 🎁 **Airdrop Hunter** | "空投" / "airdrop" / "有什么活动" / "TGE" | 空投猎手：扫描48h推文 + 新闻 → 提取快照日期/白名单/TGE信息 |
| **7** | 🐋 **Smart Money Tracker** | "聪明钱" / "巨鲸" / "smart money" / "链上信号" | 聪明钱追踪：链上买卖信号 + 净流入排名 + Top Trader持仓 + KOL交叉验证 |
| **8** | 🔄 **Sector Rotation** | "赛道轮动" / "资金流向" / "哪个赛道热" | 赛道轮动检测：KOL热度 × 媒体关注 × 聪明钱流向 → 识别资金切换方向 |
| **9** | 🐸 **Meme Hunter** | "Meme币" / "meme hunting" / "什么meme在涨" | Meme猎手：Binance Pulse排名 + KOL提及 + 链上流动性验证 |

**示例触发语句**：
- "帮我跑一下 Combo 1 早报"
- "有没有最新的 Alpha 信号？"（→ Combo 2）
- "分析一下 @VitalikButerin 最近说了什么"（→ Combo 3）
- "聪明钱最近在买什么？"（→ Combo 7）
- "BSC 上有什么 meme 在涨？"（→ Combo 9）

> 💡 **Tip**: 每个 Combo 都会自动调用多个数据源并生成中文综合分析报告。你只需要说出你的需求，我来决定用哪个 Combo。

---

## Instructions

> **Core Principle**: CT Monitor's real value is in **combining multiple data sources**. A single API call is just the starting point — synthesizing data from multiple endpoints produces actionable Alpha insights that no single query can deliver.

---

### Combo 1: Morning Intelligence Brief (Daily)

> Daily morning briefing covering the past 24 hours of crypto markets. Total cost ~5¢.

**Step 1: Get AI comprehensive briefing**
```bash
curl -s "https://api.ctmon.xyz/api/brief/generate?hours=24" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.report'
```
> ⚠️ Response structure: `{"report": "...", "hours": N, "tweet_count": N, "generated_at": "..."}` — always extract `.report` (the Markdown string). If you receive the full JSON object instead of a string, the data is intact; re-extract with `| jq '.report'`.

**Step 2: Trending tokens + KOL mention analysis**
```bash
curl -s "https://api.ctmon.xyz/api/price/trending?hours=24" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```

**Step 3: Last 6h high-frequency signals**
```bash
curl -s "https://api.ctmon.xyz/api/signals/recent?hours=6&min_score=60" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```

**Step 4: Market overview + news feed (with source attribution)**
```bash
curl -s "https://api.ctmon.xyz/api/price/summary" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'

curl -s "https://api.ctmon.xyz/api/info/feed?limit=30" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '[.[] | select(.score >= 50)] | sort_by(-.score)'
```

**Step 5: Binance Smart Money Signals — 聪明钱最新买卖信号**
```bash
curl -s -X POST 'https://web3.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/web/signal/smart-money' \
  -H 'Accept-Encoding: identity' \
  -H 'Content-Type: application/json' \
  -d '{"smartSignalType":"","page":1,"pageSize":10,"chainId":"CT_501"}' | jq '.data[:10]'
```
> Returns latest smart money buy/sell signals on Solana. Key fields: `ticker`, `direction` (buy/sell), `smartMoneyCount`, `triggerPrice`, `currentPrice`, `maxGain`.

**Synthesis prompt**:
> You have received four data sources:
> - Source A: `.report` — AI-generated briefing (Markdown string) with sections: Market Overview (prices), Key News, Sector Highlights, Notable Alpha. **If you received the full JSON object `{"report": "...", ...}` instead of a string, extract `.report` before proceeding. Never treat an empty `.report` as a reason to fabricate — if the field is genuinely empty, skip that section and note "briefing unavailable".**
> - Source B: trending token list — each item: `symbol`, `cg_rank` (CoinGecko trending rank, 1=hottest), `mention_count` (distinct KOLs mentioning it), `price_change` (24h % from CoinGecko, accurate per-token), `top_kols`, `sample_tweets`
> - Source C: alpha signals — each item: `keyword` (token), `kol_count`, `kols`, `sample_tweets`
> - Source D: market summary — `global` (BTC dominance, total market cap, 24h change) + `prices` object with keys `bitcoin`/`ethereum`/`solana`/`binancecoin`/`ripple`, each containing `price_usd`, `change_24h`, `source`
> - Source E: news feed — each item: `title`, `source` (media name, e.g. "CNN", "Reuters", "PRNewswire", "Twitter"), `score` (AI quality score 0-100), `summary` (AI-generated Chinese summary), `url` (may be null for 6551 news)
> - Source F: smart money signals — latest buy/sell signals, each item: `ticker`, `direction` (buy/sell), `smartMoneyCount`, `triggerPrice`, `currentPrice`, `maxGain`, `chainId`
>
> Generate a **Markdown-formatted** morning intelligence report with this exact structure:
>
> **Header**: Use the exact date/time from `.report` (e.g. "October 26, 2024 20:30 PST")
>
> **📊 Market Overview**: Copy the Market Overview section from `.report` verbatim. Then append: `> 💡 KOL Signal: [what signals data shows, e.g. "$BTC confirmed by 9 KOLs in last 6h — bullish consensus"]`. Skip this line if signals is `[]`.
>
> **📰 Key News**: Use Source E (info/feed) as the primary source — list all items with `score >= 50`, sorted by score descending. Format each item as:
> `[source] Title → Impact: [one-line assessment]`
> Example: `[Reuters] Fed holds rates steady → Impact: Risk-on sentiment, crypto likely to benefit short-term`
> Cross-reference with Source A's Key News section to catch any important items missed by Source E. Never fabricate source names — use the exact `source` field value from the API response.
>
> **🔥 Sector Pulse**: Based on Source A's Sector Highlights + KOL tweet patterns from Source B/C, rate each sector 🔥 heating / ❄️ cooling / ➡️ stable. Also scan Source E for sector-related news to identify AI/RWA/DePIN/DeFi/Meme narrative shifts. Format as a table.
>
> **💡 Notable Alpha**: Use Source E (info/feed) as the primary source for high-signal items (`score >= 60`). Format each item as:
> `[source] Title → Alpha: [one-line actionable insight]`
> Cross-reference with Source A's Notable Alpha section for additional items. Never fabricate source names.
>
> **📈 Trending Tokens (KOL × Signal Cross-Analysis)** — use a Markdown table:
> | Signal | Token | KOL Mentions | 24h Change | CG Rank | Note |
> |--------|-------|-------------|------------|---------|------|
> | ⚡ | $BTC | 52 | -1.32% | #6 | Signal: 8 KOLs confirmed |
> | — | $RIVER | 4 | +28.82% | #7 | price surge + KOL attention |
>
> Rules for the table:
> - Only include tokens where `mention_count >= 2`, sorted by mention_count descending
> - Signal column: use `⚡` if token appears in signals data, otherwise `—`
> - 24h Change: format as `+X.XX%` or `-X.XX%` using `price_change` field; use `N/A` only if field is null
> - Note column: add "Signal: N KOLs confirmed" if in signals; add "price surge + KOL attention" if price_change > +20%; add "⚠️ CG hot but crashing" if price_change < -50% AND cg_rank ≤ 3
> - After the table, add one warning line for any token with `cg_rank` ≤ 5 AND `mention_count` = 0: `⚠️ CoinGecko hot but zero KOL coverage: $SYMBOL (+X.XX%) — no KOL backing, caution`
>
> **🐋 聪明钱最新信号** (from Source F):
> - Top 3 聪明钱买入信号代币（direction=buy，按 smartMoneyCount 排序）及触发价/当前价/最大涨幅
> - 如果任何 trending token 同时出现在 Smart Money 信号中，标记为 "双重验证 🔥"
> - 如果信号集中在单一赛道（如全是 Meme），提示 "聪明钱赛道集中度风险"
>
> **🎯 DCA 参考信号** (based on Source D: price/summary):
> - BTC 主导率：X%（>55% = BTC 主导期，山寨暂缓；<52% = 山寨轮动启动）
> - 总市值 24H 变化：X%（判断是普涨还是结构性行情）
> - 本日 DCA 一句话建议：根据 BTC 主导率 + 总市值变化 + 赛道热度综合判断，给出 [主流币/山寨/观望] 建议及理由（≤2句话）
> - If Source D `.global` is null, skip this section entirely
>
> **Language rule**: Detect the user's language from the conversation context and write the ENTIRE report in that language (all section headers, analysis text, notes, and warnings). If the user writes in Chinese, the full report must be in Chinese. If in English, full English. Never mix languages. The DCA section header may stay in Chinese as it is a fixed label.
>
> **Rules**: Never add metadata sections. Never fabricate. Use `price_change` field (not `price_change_24h`). Tokens with mention_count < 2 are silently omitted from main list. Never fabricate source names in Key News or Notable Alpha — use exact `source` field from API.

> 🤖 **Automate this combo** — run every morning at 8am and deliver to Telegram:
> ```bash
> openclaw cron add \
>   --name "CT Morning Brief" \
>   --cron "0 8 * * *" \
>   --tz "Asia/Shanghai" \
>   --session isolated \
>   --message "Run CT Monitor Combo 1: call /brief/generate?hours=24 (use .report field), /price/trending?hours=24, /signals/recent?hours=6&min_score=60, /price/summary, /info/feed?limit=30 (filter score>=50 sorted by score desc). Synthesize into a Markdown morning report with 6 sections: (1) 📊 Market Overview — copy .report verbatim + append KOL Signal line from signals data; (2) 📰 Key News — use info/feed score>=50 as primary source, format [source] Title → Impact: assessment, cross-ref .report Key News; (3) 🔥 Sector Pulse — table with heating/cooling/stable ratings based on .report + info/feed sector news; (4) 💡 Notable Alpha — use info/feed score>=60 as primary source, format [source] Title → Alpha: insight, cross-ref .report Notable Alpha; (5) 📈 Trending Tokens — list only mention_count>=2 sorted by mention_count desc, mark ⚡ if in signals, add warning for cg_rank<=5 AND mention_count=0; (6) 🎯 DCA 参考信号 — BTC dominance from price/summary.global, DCA recommendation in ≤2 sentences. Use price_change field (not price_change_24h). Never fabricate source names." \
>   --announce \
>   --channel telegram
> ```

---

### Combo 1.5: Trending Token Discovery (What's hot and why?)

> Answer "What tokens are hot right now and why?" with multi-dimensional heat analysis. Total cost ~4¢.

**Step 1: Trending tokens — KOL mentions + CoinGecko rank + price**
```bash
curl -s "https://api.ctmon.xyz/api/price/trending?hours=24" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```

**Step 2: Alpha signals — check if KOL consensus has formed**
```bash
curl -s "https://api.ctmon.xyz/api/signals/recent?hours=6&min_score=60" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```

**Step 3: News feed — check media coverage for hot tokens**
```bash
curl -s "https://api.ctmon.xyz/api/info/feed?limit=30" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```

**Step 4: Market baseline — BTC/ETH price to judge relative strength**
```bash
curl -s "https://api.ctmon.xyz/api/price/summary" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```

**Step 5: Binance Unified Token Rank — 链上 Trending/Alpha 排名**
```bash
curl -s -X POST 'https://web3.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/market/token/pulse/unified/rank/list' \
  -H 'Accept-Encoding: identity' \
  -H 'Content-Type: application/json' \
  -d '{"page":1,"pageSize":20}' | jq '.data.tokens[:10]'
```
> Returns Binance's unified on-chain ranking (top 200 tokens by trading activity). Key fields: `symbol`, `percentChange24h`, `volume24h`, `price`. Results are ordered by on-chain activity score (position = rank). Note: field is `.data.tokens` (not `.data.rankList`).

**Synthesis prompt**:
> You have received five data sources:
> - Source A: trending token list — each item: `symbol`, `cg_rank` (CoinGecko trending rank, 1=hottest), `mention_count` (distinct KOLs mentioning it), `price_change` (24h % from CoinGecko), `top_kols`, `sample_tweets`
> - Source B: alpha signals — each item: `keyword` (e.g. `$BTC`), `kol_count`, `kols` list; tokens where multiple KOLs are simultaneously mentioning
> - Source C: news feed — recent news and RSS articles, each item has `title`, `coins`, `score`
> - Source D: market summary — BTC/ETH baseline prices and 24h changes (key is full name e.g. `bitcoin`, `ethereum`)
> - Source E: Binance unified ranking — top 10 tokens by on-chain activity (position = rank), each item: `symbol`, `percentChange24h`, `volume24h`, `price`
>
> Generate a **Markdown-formatted** trending token report:
>
> **Header**: "🔥 Trending Token Analysis — Past [N] Hours" with current timestamp
>
> **📊 Market Baseline**: One line — BTC and ETH 24h change from Source D. This is the baseline to judge relative strength.
>
> **📈 Heat Ranking** — use a Markdown table with **6 columns**, sorted by `mention_count` descending (ties broken by `abs(price_change)` descending):
> | Signal | Token | KOL提及 | 代表KOL | 24h涨跌 | 验证 | 热度原因 |
> |--------|-------|---------|---------|---------|------|---------|
> | ⚡ | **$BTC** | 52次 | AshCrypto, CoinDesk, lookonchain | -2.11% | ⚡📰 | 宏观压力，KOL争论支撑位 |
> | — | **$RIVER** | 4次 | KOL1, KOL2 | +21.12% | 🔥 | 跨链稳定币叙事+补偿计划 |
>
> Rules for the **验证** (Verification) column — combine applicable emoji, no spaces between them:
> - `⚡` = token's symbol (strip `$` prefix) appears in Source B `keyword` field (KOL consensus signal)
> - `🔥` = token's symbol appears in Source E top 10 by position (Binance on-chain ranking)
> - `📰` = Source C contains any article with `score >= 50` mentioning this token in `coins` field
> - If none apply, write `—`
> - Examples: `⚡🔥` (signal + on-chain), `⚡📰` (signal + news), `🔥📰` (on-chain + news), `⚡🔥📰` (all three)
>
> Other column rules:
> - Only include tokens where `mention_count >= 2`, sorted by `mention_count` desc; ties broken by `abs(price_change)` desc — do NOT output this sorting logic as text
> - Signal column: `⚡` if token appears in Source B, otherwise `—`
> - 代表KOL: list up to 3 names from `top_kols` field
> - 24h涨跌: use `price_change` field (not `price_change_24h`); format as `+X.XX%` or `-X.XX%`; compare against BTC baseline — if token up while BTC down, append "(逆势)" label
> - 热度原因: synthesize from `sample_tweets` + news + price behavior into **≤15 words** — **never fabricate**; if no clear reason, write "KOL关注，原因不明"
>
> **⚡ Off-Radar Signals** (after the table, only if applicable):
> - If Source B contains any token NOT in Source A (not in trending list) AND `kol_count >= 2`, list them as: `⚡ $SYMBOL — N KOLs同时提及 ([KOL names]): [one-line summary from sample_tweets, ≤15 words]`
> - If no such tokens exist, omit this section entirely
>
> **🔥 Binance链上独家** (after Off-Radar Signals, only if applicable):
> - If Source E top 10 contains any token NOT in Source A (not in KOL trending list), list them as: `🔥 $SYMBOL — Binance链上排名第N，24h: X%，成交量: $Xm — 链上资金流入但KOL尚未跟进`
> - This highlights tokens that on-chain data is tracking before KOLs notice
> - If no such tokens exist, omit this section entirely
>
> **⚠️ Risk Warnings** (last section):
> - For any token with `price_change < -50%`: `⚠️ $SYMBOL 异常暴跌(X%) — 建议排查原因：可能操纵/负面催化剂/流动性危机`
> - For any token with `cg_rank ≤ 5` AND `mention_count = 0`: `⚠️ CoinGecko热榜但零KOL覆盖: $SYMBOL (X%) — 无KOL背书，追高需谨慎`
>
> **Language rule**: Detect the user's language and write the ENTIRE report in that language. Never mix languages. Proper nouns (DeFi, RWA, $BTC, KOL names) stay in original form.
>
> **Hard rules**: Never fabricate. Use `price_change` field (not `price_change_24h`). Tokens with `mention_count < 2` are silently omitted from main table but may appear in warnings or Off-Radar Signals.

---

### Combo 2: Alpha Signal Deep Dive (When opportunity appears)

> A signal shows a token being mentioned by multiple KOLs simultaneously — deep dive to validate the alpha opportunity. Focused on altcoins and meme tokens only. Total cost ~6¢.

**Step 1: Discover alpha signals — filter out majors, focus on altcoins/memes**
```bash
curl -s "https://api.ctmon.xyz/api/signals/recent?hours=6&min_score=60" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | \
  jq '[.[] | select(.keyword | ascii_downcase | test("btc|eth|sol|xrp|bnb|usdc|usdt|ada|ltc") | not)]'
```
> Filters out major coins (BTC/ETH/SOL/XRP/BNB/USDC/USDT/ADA/LTC) to surface only altcoin and meme alpha signals.
> Key fields: `keyword` (token symbol e.g. `$PENGU`), `kol_count` (number of KOLs mentioning), `kols` (list of KOL usernames).
> Pick the signal with highest `kol_count` for deep dive. If no signals pass the filter, report "No altcoin alpha signals in the past 6h."

**Step 2: Query token price and momentum** (replace TOKEN with the symbol from Step 1's top signal)
```bash
curl -s "https://api.ctmon.xyz/api/price/token?symbol=TOKEN" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```
> Use the actual token symbol from Step 1 (strip `$` prefix, e.g. `$PENGU` → `PENGU`).
> Auto-fallback: CoinGecko → Binance → DexScreener. Check `source` field to see data origin.
> Key fields: `price_usd`, `change_24h`, `source`. If `change_24h > 0` while BTC is down, it's counter-trend strength.

**Step 3: Read what KOLs are actually saying about this token**
```bash
curl -s "https://api.ctmon.xyz/api/tweets/feed?hours=6&limit=200" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | \
  jq '[.[] | select(.text | test("PENGU|\\$PENGU"; "i"))] | sort_by(.like_count) | reverse'
```
> Fetches 6h of tweets from all monitored KOLs, filters for the signal token, sorted by engagement.
> Key fields: `username`, `text`, `like_count`, `retweet_count`, `priority` (ultra_high/high/normal/low), `sector`.
> **If 0 results**: The `keyword` from Step 1 (e.g. `$ABTC`) may differ from how KOLs actually write about it. Try searching by the token's full name (e.g. "American Bitcoin") or common abbreviation. If still 0, note "KOL tweets not found in feed — signal may be from retweets or external sources" in the report.

**Step 4: Related news and RSS coverage**
```bash
curl -s "https://api.ctmon.xyz/api/info/feed?coin=PENGU&limit=20" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```
> Key fields: `title`, `url` (include in report as clickable link), `score` (AI quality 0-100), `source` (media name), `summary` (AI-generated summary).
> **Note**: `summary` may contain raw HTML tags — strip them and extract plain text when presenting.
> **Note**: For small/niche tokens, `score` may be 0. Include all news items regardless of score; use `score` only as a quality indicator in the report.
> Translate all titles and summaries into the user's language in the final report.

**Step 5: Assess the quality of KOLs who mentioned this token**
```bash
curl -s "https://api.ctmon.xyz/api/users/top?limit=200" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | \
  jq '[.[] | select(.username | IN("KOL1","KOL2","KOL3"))]'
```
> Replace KOL1/KOL2/KOL3 with the actual `kols` list from Step 1.
> Key fields: `username`, `score` (0-100, KOL quality score), `priority` (ultra_high/high/normal/low), `followers_count`, `sector`.
> This tells you if the signal is backed by high-quality KOLs or low-quality noise accounts.

**Step 6: On-chain validation — Binance Smart Money multi-chain signals**

Query all supported chains in parallel to maximize coverage:
```bash
for CHAIN in CT_501 CT_56 CT_1 CT_8453 CT_42161; do
  echo "=== $CHAIN ===" && \
  curl -s -X POST 'https://web3.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/web/signal/smart-money' \
    -H 'Accept-Encoding: identity' \
    -H 'Content-Type: application/json' \
    -d "{\"smartSignalType\":\"\",\"page\":1,\"pageSize\":20,\"chainId\":\"$CHAIN\"}" | jq '.data[:5]'
done
```
> Supported chains: `CT_501` (Solana), `CT_56` (BSC/BNB Chain), `CT_1` (Ethereum), `CT_8453` (Base), `CT_42161` (Arbitrum).
> Key fields: `ticker`, `direction` (buy/sell), `smartMoneyCount`, `triggerPrice`, `maxGain`.
> **Cross-reference**: search all chain results for the signal token's symbol.
> - Token found with `direction=buy` on any chain → strong on-chain confirmation 🔥 (note which chain)
> - Token found with `direction=sell` → smart money exiting ⚠️
> - Token not found on any chain → no on-chain data yet (may be very early stage)

**Synthesis prompt**:
> You have received 6 data sources for a specific altcoin/meme token (replace $PENGU with actual token):
> - Source A: signal data — `keyword`, `kol_count`, `kols` list
> - Source B: price data — `price_usd`, `change_24h`, `source`
> - Source C: KOL tweets — each item: `username`, `text`, `like_count`, `priority`, `sector`
> - Source D: news/RSS — each item: `title`, `url`, `score`, `source`, `summary`
> - Source E: KOL quality scores — each item: `username`, `score` (0-100), `priority`, `followers_count`
> - Source F: Binance multi-chain smart money signals — each item: `ticker`, `direction`, `smartMoneyCount`, `chain` (Solana/BSC/ETH/Base/Arbitrum)
>
> Generate a **signal analysis report** in the user's language with this structure:
>
> **Header**: "⚡ Alpha Signal: $TOKEN — [timestamp]"
>
> **① 信号强度**: Rate as 强/中/弱 based on `kol_count` (≥5=强, 3-4=中, 2=弱). List the KOL names.
>
> **② KOL 质量**: From Source E, classify the mentioning KOLs:
> - 顶级 (score≥90 or priority=ultra_high): list names
> - 优质 (score 70-89 or priority=high): list names  
> - 普通 (score<70): list names
> - Overall verdict: "高质量共识" / "混合质量" / "低质量噪音"
>
> **③ 价格上下文**: Current price + 24h change. Note if counter-trend (up while BTC down). Data source.
>
> **④ KOL 在说什么**: Summarize the top 3-5 tweets by engagement. Quote key phrases. Identify the narrative (e.g. "partnership announcement", "airdrop", "technical breakout", "pure hype").
>
> **⑤ 新闻佐证**: List all news items from Source D as: `[source] [score分] [title](url) → [one-line translated summary]`. Show `score` as a quality indicator. If no news at all, write "暂无相关新闻报道".
>
> **⑥ 链上验证**: 
> - If token in Source F with direction=buy: "🔥 链上聪明钱正在建仓 (smartMoneyCount=N，链: [chain name])"
> - If token in Source F with direction=sell: "⚠️ 聪明钱正在出货 (链: [chain name])"
> - If token not in Source F on any chain: "暂无链上数据（早期信号，链上尚未跟进）"
>
> **🎯 信号分类 & 建议**:
> - **强 Alpha** 🔥: kol_count≥5 + 顶级KOL + 链上建仓 + 价格上涨 → 值得重点关注
> - **叙事 Alpha** 📢: kol_count≥3 + 优质KOL + 无链上确认 → 早期叙事，高风险高回报
> - **隐秘 Alpha** 🔍: 链上建仓 + kol_count<3 → 链上先行，KOL尚未跟进
> - **警告信号** ⚠️: kol_count高 + 链上出货 → 可能是出货配合拉盘
> - **噪音信号** ❌: 低质量KOL + 无链上 + 无新闻 → 忽略
>
> **Language rule**: Write the ENTIRE report in the user's language. Translate all news titles and summaries. Keep token symbols ($PENGU), KOL usernames (@name), and proper nouns in original form.
>
> **Hard rules**: Never fabricate. If Source D has no items with score≥50, write "暂无相关新闻". Always include the `url` from Source D as a clickable markdown link `[title](url)`.

> 🤖 **Automate this combo** — check every 15 minutes, alert only when a real altcoin signal appears:
> ```bash
> openclaw cron add \
>   --name "CT Alpha Alert" \
>   --cron "*/15 * * * *" \
>   --session isolated \
>   --message "Call CT Monitor /api/signals/recent?hours=0.25&min_score=60. Filter out BTC/ETH/SOL/XRP/BNB/USDC/USDT. If any altcoin/meme signal has kol_count >= 3, run the full Combo 2 deep dive on that token and send an alert. If no qualifying signals, stay silent." \
>   --announce \
>   --channel telegram
> ```

---

### Combo 3: KOL Deep Profile (Research a specific KOL)

> Comprehensive understanding of a KOL's investment thesis, recent views, and influence. Total cost ~3¢.

**Step 1: Get KOL profile stats**
```bash
curl -s "https://api.ctmon.xyz/api/users/top?limit=200" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | \
  jq '[.[] | select(.username == "cobie")] | .[0]'
```
> Key fields: `score` (0-100), `priority`, `followers_count`, `sector`, `sector_tags`.

**Step 2: Get historical tweets (main data source)**
```bash
curl -s "https://api.ctmon.xyz/tweets/recent?username=cobie&limit=50" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '[.[] | {text, created_at, like_count, retweet_count, view_count, is_quote, is_retweet}]'
```
> Note: `/tweets/recent` (no `/api/` prefix) requires the same `Authorization: Bearer` header.
> Key fields: `text`, `created_at`, `like_count`, `view_count`, `is_quote`, `is_retweet`.

**Step 3: Search how other KOLs reference this KOL**
```bash
curl -s "https://api.ctmon.xyz/api/tweets/feed?hours=48&limit=500" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | \
  jq '[.[] | select(.text | ascii_downcase | test("cobie|@cobie"))]'
```
> Note: For data-broadcaster type KOLs (e.g. lookonchain, whale_alert), this may return 0 results — other KOLs typically retweet rather than mention by name. This is expected behavior; proceed with Step 2 data only.

**Synthesis prompt**:
> Above is @cobie's data (profile stats + historical tweets + others' references). Generate a KOL profile report in the user's language:
> ① **近期关注赛道/项目** — What sectors/tokens/projects has this KOL been focused on recently?
> ② **核心观点** — Bullish/Bearish stance on key assets. Does the KOL express personal opinions or just report data?
> ③ **投资逻辑分析** — What is the KOL's analytical framework? (on-chain data, fundamentals, narratives, TA, macro?)
> ④ **影响力评估** — Score, followers, avg engagement (likes/views), citation quality from Step 3.
> ⑤ **关键洞察** — What unique alpha or early signals has this KOL surfaced recently? Any actionable insights?

---


### Combo 4: Security Alert Response (When risk appears)

> A Hack/Rug surfaces in the market — quickly assess the impact. Total cost ~4¢.

**Step 1: Confirm the event**
```bash
curl -s "https://api.ctmon.xyz/api/tweets/feed?hours=48&limit=500" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | \
  jq '[.[] | select(
    .text | ascii_downcase | test("hack|exploit|rug|drain|stolen|breach|compromised|vulnerability")
    or (
      (.text | ascii_downcase | test("attack|warning|alert|suspicious|emergency|pause"))
      and (.text | ascii_downcase | test("contract|vault|protocol|wallet|token|defi|nft|fund|pool|liquidity"))
    )
  ) | {username, created_at, text, like_count, view_count}]'
```
> Filter logic: Group A keywords (`hack|exploit|rug|drain|stolen|breach|compromised|vulnerability`) trigger alone. Group B keywords (`attack|warning|alert|suspicious|emergency|pause`) only trigger when co-occurring with DeFi context words — this avoids false positives from geopolitical/macro news.
> After filtering, manually identify distinct security events (ignore duplicates and macro/political noise).

**Step 2: Check news coverage**
```bash
curl -s "https://api.ctmon.xyz/api/info/feed?hours=48&limit=50" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | \
  jq '[.[] | select(.title | ascii_downcase | test("hack|exploit|rug|stolen|breach|security|vulnerability")) | {title, source, published_at, url, score}]'
```
> Note: For breaking events, news may lag 1-6 hours behind Twitter. If 0 results, note "news not yet available" and rely on Step 1 KOL tweets.

**Step 3: Check affected token price**
```bash
curl -s "https://api.ctmon.xyz/api/price/token?symbol=XXX" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```
> Replace `XXX` with the token symbol identified in Step 1. Check `change_1h` and `change_24h` for panic signals. A sharp drop (>10% in 1h) confirms market reaction.

**Step 4: Recent panic signals (last 1h)**
```bash
curl -s "https://api.ctmon.xyz/api/signals/recent?hours=1&min_score=0" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```
> If 0 results: event may be too recent or too niche to generate KOL signal volume yet. This is normal for breaking events — rely on Step 1 + Step 3 data.

**Synthesis prompt**:
> Above is security event data (KOL tweets + news + price + signals). Generate a security flash report in the user's language:
> ① 事件确认 — Is this a real exploit/hack/rug or FUD? Summarize what happened, who reported it, and when.
> ② 影响范围 — How many users/funds affected? Which protocol/vault/chain? Is it isolated or systemic risk?
> ③ 受影响资产分析 — Token price reaction (1h/24h change). Is the market pricing in the risk?
> ④ 紧急程度评级 — Rate as 🔴 High / 🟡 Medium / 🟢 Low based on: loss size, scope, official response speed, and whether root cause is disclosed.
> ⑤ 操作建议 — What should holders do? (Hold/Exit/Monitor). What signals to watch next (official post-mortem, bounty response, further exploits)?

> 🤖 **Automate this combo** — monitor every 15 minutes, alert immediately on confirmed security events:
> ```bash
> openclaw cron add \
>   --name "CT Security Watch" \
>   --cron "*/15 * * * *" \
>   --session isolated \
>   --message "Call CT Monitor /api/tweets/feed?hours=1&limit=200 and filter for: Group A (hack|exploit|rug|drain|stolen|breach|compromised|vulnerability) OR Group B (attack|warning|alert|suspicious|emergency|pause) AND DeFi context (contract|vault|protocol|wallet|token|defi|nft|fund|pool). If 2+ KOLs mention the same security event, run the full Combo 4 analysis and send an URGENT alert. If nothing found, stay silent." \
>   --announce \
>   --channel telegram
> ```

---

### Combo 5: Narrative Trend Tracker (What story is the market telling?)

> Identify which narratives are heating up and which are cooling down. Total cost ~3¢.

**Step 1: Scan narrative heat by sector keywords** (limit=3000 covers ~23h, a full trading day)
```bash
for sector in "agent" "AI" "RWA" "DePIN" "meme" "Solana" "stablecoin" "DeFi" "NFT" "restaking" "BTCFi" "GameFi"; do
  echo "=== $sector ===" && \
  curl -s "https://api.ctmon.xyz/api/tweets/feed?limit=3000" \
    -H "Authorization: Bearer $CT_MONITOR_API_KEY" | \
    jq --arg s "$sector" '[.[] | select(.text | test($s; "i"))] | length'
done
```

**Step 2: Check signal-level resonance across narratives**
```bash
curl -s "https://api.ctmon.xyz/api/signals/recent?hours=24&min_score=50" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```

**Step 3a: Verify if narratives are already reflected in prices**
```bash
curl -s "https://api.ctmon.xyz/api/price/trending?hours=24" \
  -H "Authorization: Bearer $CT_MONITOR_API_KEY" | jq '.'
```

**Step 3b: Binance spot volume validation** — dynamically build symbols from Step 3a tokens where `mention_count >= 2`, append `USDT` suffix (e.g. `BTC` → `BTCUSDT`), then query Binance public API (no auth required):
```bash
curl -g -s 'https://api.binance.com/api/v3/ticker/24hr?symbols=["BTCUSDT","SOLUSDT","ETHUSDT"]' | \
  jq '[.[] | {symbol, priceChangePercent, volume: (.volume | tonumber | floor), quoteVolume: (.quoteVolume | tonumber | floor), trades: .count}]'
```
> Replace the symbols array with actual tokens from Step 3a. Only include tokens that have a Binance USDT pair. Skip tokens not listed on Binance spot.

**Step 3c: Binance Social Hype — BSC 社交热度排名**
```bash
curl -s 'https://web3.binance.com/bapi/defi/v1/public/wallet-direct/buw/wallet/market/token/pulse/social/hype/rank/leaderboard?chainId=56&sentiment=All&socialLanguage=ALL&targetLanguage=en&timeRange=1' \
  -H 'Accept-Encoding: identity' | \
  jq '[.data.leaderBoardList[:10] | .[] | {symbol: .metaInfo.symbol, hype: .socialHypeInfo.socialHype, kol_count: .socialHypeInfo.kolCount, sentiment: .socialHypeInfo.sentiment, price_change_24h: .marketInfo.priceChange, summary: .socialHypeInfo.socialSummaryBriefTranslated}]'
```
> Required params: `chainId` (56=BSC, 8453=Base, CT_501=Solana), `targetLanguage` (en/zh), `timeRange` (1=24h), `sentiment` (All/Positive/Negative/Neutral).
> Key fields: `symbol`, `hype` (social hype index), `kol_count`, `sentiment`, `price_change_24h` (24h price change %), `summary` (AI-generated social summary).
> Note: This API is only accessible from server environments (EC2/cloud). Local macOS may get connection reset due to IP geo-restriction — this is expected.

**Synthesis prompt**:
> You have received four data sources:
> - Source A: sector keyword tweet counts (from Step 1) — 12 keywords scanned across ~23h of KOL tweets
> - Source B: alpha signals (from Step 2) — tokens with multi-KOL resonance in last 24h
> - Source C: trending tokens + Binance spot volume (from Step 3a + 3b) — KOL mention counts, price changes, and Binance 24h volume/trade counts
> - Source D: Binance Social Hype leaderboard (BSC) — top 10 tokens by social hype score, each item: `symbol`, `hype` (index), `kol_count`, `sentiment`, `price_change_24h` (%), `summary` (AI social brief)
>
> **Filter rule for "agent" keyword**: When counting "agent" mentions, exclude non-crypto contexts (real estate agents, travel agents, insurance agents, FBI agents, secret agents). Only count crypto/AI/on-chain/trading agent contexts (AI agent, on-chain agent, DeFi agent, AgentFi, trading bot agent, autonomous agent).
>
> Generate a **Markdown-formatted** narrative trend report:
>
> **① Narrative Heat Ranking** — table sorted by tweet count descending:
> | Rank | Narrative | Tweet Count | Signal | Volume Signal | Social Hype | Status |
> |------|-----------|-------------|--------|---------------|-------------|--------|
> | #1 | agent | 121 | ⚡ $AI x5 KOL | 🔥 Surge | 🔥 | 🔥 Heating |
> | #2 | AI | 104 | ⚡ $NEAR x3 KOL | 📢 Active | 🔥 | 🔥 Heating |
> | #3 | meme | 44 | — | 🔇 Quiet | — | ➡️ Stable |
>
> Volume Signal column rules (from Step 3b Binance data):
> - 🔥 Surge: quoteVolume > $500M in 24h OR trades > 500,000
> - 📢 Active: quoteVolume $50M–$500M OR trades 50,000–500,000
> - 🔇 Quiet: quoteVolume < $50M OR no Binance listing
> - N/A: token not on Binance spot
>
> Social Hype column rules (from Source D — Binance Social Hype):
> - 🔥 if any token in this narrative appears in Binance Social Hype Top 10
> - — if not
>
> **② Four-Layer Signal Interpretation** — for each narrative in Top 5, assess using the matrix:
> | Twitter Hype | On-Chain Smart Money | Spot Volume | Social Hype | Interpretation |
> |-------------|---------------------|-------------|-------------|----------------|
> | High | High | High | High | 🔥 四层共振 = Strongest signal |
> | High | Low | Low | High | 🌱 Narrative forming, smart money not in yet |
> | Low | High | High | Low | 🔍 Hidden accumulation, under the radar |
> | High | High | Low | High | ⚠️ Narrative hot but capital not confirmed |
> | Low | Low | Low | Low | ❄️ Cooling or dormant |
>
> **③ Price Validation** — for Top 3 narratives: is the price already reflecting the narrative? (early-stage vs. already priced in)
>
> **④ Overheating Warnings** — flag any narrative where tweet count is very high but price has already moved >50% in 7d (FOMO risk)
>
> **⑤ Emerging Narrative Alerts** — high tweet count + low price movement + low volume = early signal worth watching
>
> **Language rule**: Detect the user's language and write the ENTIRE report in that language. Never mix languages.

> 🤖 **Automate this combo** — daily narrative pulse delivered every evening:
> ```bash
> openclaw cron add \
>   --name "CT Narrative Pulse" \
>   --cron "0 20 * * *" \
>   --tz "Asia/Shanghai" \
>   --session isolated \

…(truncated)
