mirror of
https://github.com/GMGNAI/gmgn-skills.git
synced 2026-07-27 16:57:44 +00:00
docs: add 7 workflow docs and update skill/readme cross-references
New workflow docs: - workflow-token-research.md — pre-buy token due diligence - workflow-wallet-analysis.md — wallet quality assessment - workflow-smart-money-profile.md — trading style analysis and copy-trade ROI estimate - workflow-risk-warning.md — active risk monitoring (whale exit, liquidity, dev dump) - workflow-early-project-screening.md — new launchpad token screening - workflow-daily-brief.md — daily market overview - workflow-project-deep-report.md — comprehensive token analysis with scored dimensions Renamed docs for consistent workflow- prefix naming: - market-discover-opportunities.md → workflow-market-opportunities.md - token-due-diligence.md → workflow-token-due-diligence.md Updated SKILL.md files (portfolio, track, token, market, swap) with workflow cross-reference links at relevant trigger points. Updated CLAUDE.md quick decision table and workflow docs index. Added Workflow Docs section to Readme.md and Readme.zh.md. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -32,6 +32,37 @@ This is a **Claude Code plugin** — a collection of GMGN OpenAPI skills for on-
|
||||
| `gmgn-track` | Track trade activity of wallets I follow, KOL trades, Smart Money trades across chains | User asks about trades from wallets they follow; user wants to see what KOLs or Smart Money are buying/selling; user asks "show me what wallets I follow have traded recently", "what are KOLs buying", "show me smart money moves on BSC" |
|
||||
| `gmgn-swap` | Token swap execution + order status query | User wants to swap tokens, execute a trade, or check an order status; user asks "swap SOL for USDC", "buy this token", "check my order"; **requires private key configured in `.env`** |
|
||||
|
||||
## Quick Decision Guide
|
||||
|
||||
Match the user's request to the right skill and workflow:
|
||||
|
||||
| User says | Action |
|
||||
|-----------|--------|
|
||||
| "is this token safe", "check this token", "research this token", token address provided | `gmgn-token` → full workflow: `docs/workflow-token-research.md` |
|
||||
| "deep report", "full analysis", "全面分析这个项目", "深度报告", "值不值得重仓" | `gmgn-token` + `gmgn-market` → `docs/workflow-project-deep-report.md` |
|
||||
| "what's trending", "hot tokens", "top tokens by volume" | `gmgn-market trending` |
|
||||
| "new tokens", "just launched", "pump.fun new" | `gmgn-market trenches --type new_creation` |
|
||||
| "early project screening", "新币筛选", "值得埋伏吗", "哪些新项目有聪明钱" | `gmgn-market trenches` → `docs/workflow-early-project-screening.md` |
|
||||
| "daily brief", "today's market", "每日简报", "今天市场怎么样", "聪明钱今天买了什么" | `gmgn-market` + `gmgn-track` → `docs/workflow-daily-brief.md` |
|
||||
| "what is smart money buying", "what are KOLs trading" | `gmgn-track smartmoney` / `gmgn-track kol` |
|
||||
| "wallets I follow", "my followed wallets traded" | `gmgn-track follow-wallet` |
|
||||
| "analyze this wallet", "is this wallet worth following", wallet address provided | `gmgn-portfolio` → full workflow: `docs/workflow-wallet-analysis.md` |
|
||||
| "wallet style", "smart money profile", "聪明钱画像", "这个钱包是长线还是短线", "跟着他买收益如何", "聪明钱排行榜" | `gmgn-portfolio` + `gmgn-track` → `docs/workflow-smart-money-profile.md` |
|
||||
| "risk warning", "风险预警", "有没有巨鲸出货", "流动性正常吗", "这个项目还安全吗" | `gmgn-token` + `gmgn-track` → `docs/workflow-risk-warning.md` |
|
||||
| "swap", "buy TOKEN", "sell TOKEN" | `gmgn-swap` — MUST run `gmgn-token security` on output token first |
|
||||
| "chart", "price history", "kline", "OHLCV" | `gmgn-market kline` |
|
||||
| "my holdings", "my portfolio", "what tokens do I hold" | `gmgn-portfolio holdings` |
|
||||
|
||||
**Workflow docs** (read these when the user wants a full multi-step analysis):
|
||||
- Token research (address → buy/watch/skip): `docs/workflow-token-research.md`
|
||||
- Project deep report (comprehensive analysis + verdict): `docs/workflow-project-deep-report.md`
|
||||
- Wallet analysis (address → follow/skip): `docs/workflow-wallet-analysis.md`
|
||||
- Smart money profile (trading style, copy-trade estimate, leaderboard): `docs/workflow-smart-money-profile.md`
|
||||
- Risk warning (whale exit, liquidity drain, dev dump check): `docs/workflow-risk-warning.md`
|
||||
- Early project screening (new tokens → smart money filter → verdict): `docs/workflow-early-project-screening.md`
|
||||
- Daily brief (market pulse + smart money moves + early watch + risk scan): `docs/workflow-daily-brief.md`
|
||||
- Market discovery (find opportunities from trending): `docs/workflow-market-opportunities.md`
|
||||
|
||||
## Architecture
|
||||
|
||||
- **`src/`** — TypeScript source (CLI commands, API client, signer)
|
||||
|
||||
@@ -332,7 +332,23 @@ market trending (top 50) → AI selects top 5 by multi-factor analysis → u
|
||||
|
||||
---
|
||||
|
||||
## 7. CLI Reference
|
||||
## 7. Workflow Docs
|
||||
|
||||
Step-by-step guides for common analysis tasks:
|
||||
|
||||
| Workflow | When to use |
|
||||
|----------|-------------|
|
||||
| [workflow-token-research.md](docs/workflow-token-research.md) | Pre-buy token due diligence (address → buy/watch/skip) |
|
||||
| [workflow-project-deep-report.md](docs/workflow-project-deep-report.md) | Comprehensive project analysis with scored dimensions and full written report |
|
||||
| [workflow-wallet-analysis.md](docs/workflow-wallet-analysis.md) | Wallet quality assessment (address → follow/skip) |
|
||||
| [workflow-smart-money-profile.md](docs/workflow-smart-money-profile.md) | Trading style analysis, copy-trade ROI estimate, smart money leaderboard |
|
||||
| [workflow-risk-warning.md](docs/workflow-risk-warning.md) | Active risk monitoring for held positions (whale exit, liquidity, dev dump) |
|
||||
| [workflow-early-project-screening.md](docs/workflow-early-project-screening.md) | Screen newly launched launchpad tokens for smart money entry |
|
||||
| [workflow-daily-brief.md](docs/workflow-daily-brief.md) | Daily market overview: trending + smart money moves + early watch + risk scan |
|
||||
| [workflow-market-opportunities.md](docs/workflow-market-opportunities.md) | Discover trading opportunities from trending data |
|
||||
| [workflow-token-due-diligence.md](docs/workflow-token-due-diligence.md) | 4-step token due diligence checklist |
|
||||
|
||||
## 8. CLI Reference
|
||||
|
||||
Full parameter reference: [docs/cli-usage.md](docs/cli-usage.md). All commands support `--raw` for single-line JSON output (pipe-friendly, e.g. `| jq '.price'`).
|
||||
|
||||
|
||||
+17
-1
@@ -363,7 +363,23 @@ solana 上的 <token_address> 安全吗,值得买入吗?
|
||||
|
||||
---
|
||||
|
||||
## 7. CLI 参考
|
||||
## 7. 工作流文档
|
||||
|
||||
常用分析任务的分步指引:
|
||||
|
||||
| 工作流 | 适用场景 |
|
||||
|--------|---------|
|
||||
| [workflow-token-research.md](docs/workflow-token-research.md) | 买入前 Token 尽调(地址 → 买入/观望/跳过) |
|
||||
| [workflow-project-deep-report.md](docs/workflow-project-deep-report.md) | 多维度评分的深度项目报告 |
|
||||
| [workflow-wallet-analysis.md](docs/workflow-wallet-analysis.md) | 钱包质量评估(地址 → 是否值得跟随) |
|
||||
| [workflow-smart-money-profile.md](docs/workflow-smart-money-profile.md) | 聪明钱行为画像、跟单收益估算、排行榜对比 |
|
||||
| [workflow-risk-warning.md](docs/workflow-risk-warning.md) | 持仓风险预警(巨鲸出货、流动性、开发者跑路) |
|
||||
| [workflow-early-project-screening.md](docs/workflow-early-project-screening.md) | 筛选新发 Launchpad Token,识别聪明钱早入信号 |
|
||||
| [workflow-daily-brief.md](docs/workflow-daily-brief.md) | 每日市场简报:热门趋势 + 聪明钱动向 + 早期机会 + 风险扫描 |
|
||||
| [workflow-market-opportunities.md](docs/workflow-market-opportunities.md) | 从趋势数据中发现交易机会 |
|
||||
| [workflow-token-due-diligence.md](docs/workflow-token-due-diligence.md) | 4 步 Token 尽调清单 |
|
||||
|
||||
## 8. CLI 参考
|
||||
|
||||
完整参数说明:[docs/cli-usage.md](docs/cli-usage.md)。所有命令均支持 `--raw` 输出单行 JSON(方便 `jq` 等工具处理)。
|
||||
|
||||
|
||||
@@ -0,0 +1,162 @@
|
||||
# Daily Market Brief — Workflow
|
||||
|
||||
Use this workflow to generate a structured morning/daily overview of market conditions, smart money activity, and risk signals — without needing a specific token or wallet in mind.
|
||||
|
||||
Use this workflow when:
|
||||
- "what's the market like today?"
|
||||
- "what is smart money buying today?"
|
||||
- "daily brief" / "give me a market overview"
|
||||
- "any opportunities worth watching?"
|
||||
- "any risks I should be aware of today?"
|
||||
- User wants a broad market situational awareness update
|
||||
|
||||
---
|
||||
|
||||
## Step 1 — Market Pulse (Trending Tokens)
|
||||
|
||||
Fetch trending tokens across multiple time windows to gauge market momentum:
|
||||
|
||||
```bash
|
||||
# Short-term heat (last 1h)
|
||||
gmgn-cli market trending --chain <chain> --interval 1h \
|
||||
--order-by volume --limit 20
|
||||
|
||||
# Medium-term momentum (last 6h)
|
||||
gmgn-cli market trending --chain <chain> --interval 6h \
|
||||
--order-by volume --limit 20
|
||||
```
|
||||
|
||||
From the results, assess:
|
||||
- **Market phase:** Are top tokens mostly meme/speculation (risk-on) or utility/DeFi (risk-off)?
|
||||
- **Breadth:** Are many tokens trending or just 1–2? Broad trends = healthier market.
|
||||
- **Smart money confirmation:** Do trending tokens have non-zero `smart_degen_count`? Trending without smart money = retail-driven pump.
|
||||
- **Volume quality:** Compare `volume` vs `swaps`. High volume with low swap count = whale activity. High swaps with low volume = retail noise.
|
||||
|
||||
Key signal summary from this step:
|
||||
```
|
||||
Market Phase: Risk-on (meme dominated) / Risk-off (utility) / Mixed
|
||||
Breadth: Broad ({N} tokens trending) / Narrow (1–2 tokens dominate)
|
||||
Smart Money: Confirmed in trending / Absent (retail-driven)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 2 — Smart Money Activity (What Are They Buying/Selling?)
|
||||
|
||||
```bash
|
||||
# What smart money traded in the last few hours
|
||||
gmgn-cli track smartmoney --chain <chain>
|
||||
|
||||
# What KOLs are doing
|
||||
gmgn-cli track kol --chain <chain>
|
||||
```
|
||||
|
||||
From the results:
|
||||
- Group trades by direction: **net buying** vs **net selling** per token
|
||||
- Identify tokens where **multiple** smart money wallets traded the same direction (cluster signal)
|
||||
- Note `price_change` on each trade — positive = their past entries aged well (good track record lately)
|
||||
- Flag any token appearing in both smart money AND trending data — double confirmation
|
||||
|
||||
Output for this step:
|
||||
```
|
||||
Smart Money Moves (last ~2h):
|
||||
Buying: TOKEN_A ({N} wallets), TOKEN_B ({N} wallets)
|
||||
Selling: TOKEN_C ({N} wallets)
|
||||
Notable: TOKEN_A appears in both trending AND smart money buys → strong signal
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 3 — New Token Watch (Early Opportunities)
|
||||
|
||||
```bash
|
||||
# Tokens near graduation — imminent DEX listing
|
||||
gmgn-cli market trenches --chain <chain> --type near_completion
|
||||
|
||||
# Recently graduated tokens — fresh DEX liquidity
|
||||
gmgn-cli market trenches --chain <chain> --type completed
|
||||
```
|
||||
|
||||
Quick filter: from results, surface tokens with:
|
||||
- `smart_degen_count` ≥ 1
|
||||
- `rug_ratio` < 0.2
|
||||
- Non-zero `volume` and `swaps`
|
||||
|
||||
List up to 3 tokens that pass this quick filter as "early watch" candidates.
|
||||
|
||||
---
|
||||
|
||||
## Step 4 — Risk Scan (Anything to Avoid Today?)
|
||||
|
||||
For any tokens the user currently holds (if known), or for the top tokens from steps 1–2:
|
||||
|
||||
```bash
|
||||
gmgn-cli token security --chain <chain> --address <token_address>
|
||||
```
|
||||
|
||||
Flag immediately if any held/watched token shows:
|
||||
- `rug_ratio` increase (compare to prior knowledge)
|
||||
- `top_10_holder_rate` > 0.5
|
||||
- `creator_token_status` = `creator_hold` (dev still in)
|
||||
- `is_wash_trading` = `true`
|
||||
|
||||
If no specific tokens to check, skip this step and note it in the brief.
|
||||
|
||||
---
|
||||
|
||||
## Daily Brief Output
|
||||
|
||||
```
|
||||
═══════════════════════════════════════════
|
||||
DAILY MARKET BRIEF — {chain} — {date}
|
||||
═══════════════════════════════════════════
|
||||
|
||||
📊 MARKET PULSE
|
||||
Phase: Risk-on / Risk-off / Mixed
|
||||
Breadth: {N} tokens trending (broad/narrow)
|
||||
Top movers: TOKEN_A (+X%), TOKEN_B (+X%), TOKEN_C (+X%)
|
||||
Smart money: Present in trending ✅ / Absent (retail-driven) ⚠️
|
||||
|
||||
🧠 SMART MONEY MOVES
|
||||
Buying:
|
||||
• TOKEN_A — {N} wallets accumulating, avg price_change +{X}%
|
||||
• TOKEN_B — {N} wallets, fresh entry
|
||||
Selling:
|
||||
• TOKEN_C — {N} wallets reducing positions
|
||||
Cluster signal: TOKEN_A (trending + smart money overlap) 🔥
|
||||
|
||||
🌱 EARLY WATCH
|
||||
• TOKEN_X — near graduation, {N} smart degens in, rug_ratio {X}
|
||||
• TOKEN_Y — just graduated, strong volume, clean security
|
||||
(Run /gmgn-token → workflow-early-project-screening for deeper check)
|
||||
|
||||
⚠️ RISK SIGNALS
|
||||
• No active warnings detected
|
||||
OR
|
||||
• TOKEN_Z: whale concentration rising (top_10 = {X}%), monitor closely
|
||||
|
||||
─── SUGGESTED ACTIONS ─────────────────────
|
||||
Opportunity: TOKEN_A worth researching → run full token research
|
||||
Caution: TOKEN_C seeing smart money exits → tighten stop
|
||||
New entry: TOKEN_X early screening recommended
|
||||
═══════════════════════════════════════════
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Follow-Up Actions
|
||||
|
||||
From the brief, typical next steps:
|
||||
- **Deep dive on an opportunity** → [`workflow-token-research.md`](workflow-token-research.md)
|
||||
- **Screen early tokens further** → [`workflow-early-project-screening.md`](workflow-early-project-screening.md)
|
||||
- **Check a specific wallet that showed up** → [`workflow-smart-money-profile.md`](workflow-smart-money-profile.md)
|
||||
- **Risk check on a held position** → [`workflow-risk-warning.md`](workflow-risk-warning.md)
|
||||
- **Execute a trade** → use `gmgn-swap` skill
|
||||
|
||||
---
|
||||
|
||||
## Related Workflows
|
||||
|
||||
- [`workflow-market-opportunities.md`](workflow-market-opportunities.md) — focused opportunity discovery from trending
|
||||
- [`workflow-early-project-screening.md`](workflow-early-project-screening.md) — detailed new token screening
|
||||
- [`workflow-risk-warning.md`](workflow-risk-warning.md) — active risk monitoring
|
||||
@@ -0,0 +1,155 @@
|
||||
# Early Project Screening — Workflow
|
||||
|
||||
Use this workflow to rapidly screen newly launched tokens from launchpads and identify whether any are worth a closer look, before committing to a full token research deep dive.
|
||||
|
||||
Use this workflow when:
|
||||
- "early project screening" / "are any new tokens worth accumulating?"
|
||||
- "screen the latest launched tokens for me"
|
||||
- "which new tokens have smart money entering early?"
|
||||
- "any new tokens on pump.fun worth watching?"
|
||||
- User wants to filter new launchpad tokens for quality signals before buying
|
||||
|
||||
---
|
||||
|
||||
## Step 1 — Fetch Newly Launched Tokens
|
||||
|
||||
```bash
|
||||
# Tokens just created, still on bonding curve
|
||||
gmgn-cli market trenches --chain <chain> --type new_creation
|
||||
|
||||
# Tokens near bonding curve completion (about to graduate to DEX)
|
||||
gmgn-cli market trenches --chain <chain> --type near_completion
|
||||
|
||||
# Tokens that have already graduated to open market
|
||||
gmgn-cli market trenches --chain <chain> --type completed
|
||||
```
|
||||
|
||||
**Which type to use:**
|
||||
- `new_creation` — highest upside potential, highest risk. Many will fail.
|
||||
- `near_completion` — approaching graduation, momentum building. Tighter window.
|
||||
- `completed` — already trading on DEX, more liquidity but earlier gains may be gone.
|
||||
|
||||
From the results, note each token's `address`, `symbol`, `smart_degen_count`, `renowned_count`, `volume`, `swaps`, and `rug_ratio`.
|
||||
|
||||
---
|
||||
|
||||
## Step 2 — First-Pass Filter (In-Response Scan)
|
||||
|
||||
Before running any CLI commands per token, apply a quick in-response filter on the trenches results:
|
||||
|
||||
**Discard immediately if:**
|
||||
- `rug_ratio` > 0.3
|
||||
- `is_wash_trading` = `true`
|
||||
- `bundler_rate` > 0.3
|
||||
- `rat_trader_amount_rate` > 0.3
|
||||
- Zero `smart_degen_count` AND zero `renowned_count` AND volume < $10k
|
||||
|
||||
**Keep for deeper screening if any of:**
|
||||
- `smart_degen_count` ≥ 1 (smart money has entered)
|
||||
- `renowned_count` ≥ 1 (KOL has entered)
|
||||
- `bluechip_owner_percentage` > 0 (quality wallet base)
|
||||
- `volume` is strong relative to token age
|
||||
|
||||
Select up to **5 tokens** that pass this filter.
|
||||
|
||||
---
|
||||
|
||||
## Step 3 — Security Check (Per Token)
|
||||
|
||||
For each shortlisted token:
|
||||
|
||||
```bash
|
||||
gmgn-cli token security --chain <chain> --address <token_address>
|
||||
```
|
||||
|
||||
Hard stops — discard token immediately if:
|
||||
|
||||
| Field | Hard Stop |
|
||||
|-------|-----------|
|
||||
| `is_honeypot` | `"yes"` (BSC/Base) |
|
||||
| `renounced_mint` (SOL) | `false` |
|
||||
| `renounced_freeze_account` (SOL) | `false` |
|
||||
| `rug_ratio` | `> 0.3` |
|
||||
| `sell_tax` | `> 0.10` |
|
||||
| `top_10_holder_rate` | `> 0.6` |
|
||||
|
||||
Proceed with tokens that pass all hard stops.
|
||||
|
||||
---
|
||||
|
||||
## Step 4 — Smart Money Early Entry Check
|
||||
|
||||
```bash
|
||||
# Who's already in? (smart money holders)
|
||||
gmgn-cli token holders --chain <chain> --address <token_address> \
|
||||
--tag smart_degen --order-by buy_volume_cur --direction desc --limit 10
|
||||
|
||||
# Top traders — any known wallets?
|
||||
gmgn-cli token traders --chain <chain> --address <token_address> \
|
||||
--order-by profit --direction desc --limit 10
|
||||
```
|
||||
|
||||
Strong signal:
|
||||
- Smart money wallets entered **early** (check `buy_30m` / `buy_1h` counts on the holder — or cross-reference `last_active_timestamp` being recent)
|
||||
- Multiple distinct smart money wallets (not one large wallet — that's concentration risk)
|
||||
- Top traders show profit (token has already rewarded early holders, positive momentum)
|
||||
|
||||
Weak signal:
|
||||
- Only one smart money wallet in
|
||||
- Smart money wallet entered but `profit` is negative (they're underwater)
|
||||
|
||||
---
|
||||
|
||||
## Step 5 — Token Info Spot Check
|
||||
|
||||
```bash
|
||||
gmgn-cli token info --chain <chain> --address <token_address>
|
||||
```
|
||||
|
||||
Check:
|
||||
- Social presence: `link.twitter_username`, `link.telegram`, `link.website` — at least one should exist
|
||||
- `holder_count` — growing is a positive sign
|
||||
- `wallet_tags_stat.smart_wallets` — confirms smart money count
|
||||
- `cto_flag` — if `1`, community has taken over, dev is gone (neutral to positive, evaluate context)
|
||||
- `creator_token_status` — `creator_close` means dev has sold (mixed: reduces dump risk, but also less team commitment for very new tokens)
|
||||
|
||||
---
|
||||
|
||||
## Screening Output
|
||||
|
||||
Present results as a table, then a per-token verdict:
|
||||
|
||||
```
|
||||
Early Project Screening — {chain} / {type}
|
||||
Screened: {N} tokens from trenches → {M} passed filter
|
||||
|
||||
# | Symbol | Address (short) | Smart Degens | Rug Risk | Security | Verdict
|
||||
1 | ... | ... | {N} wallets | {X} | ✅/⚠️/🚫 | Watch / Small position / Skip
|
||||
...
|
||||
|
||||
─── Top Pick ───────────────────────────────
|
||||
{SYMBOL}: Smart money in early, security clean, social present
|
||||
→ Suggested action: Small exploratory position / Watch for 1h / Skip
|
||||
```
|
||||
|
||||
**Verdict scale:**
|
||||
- 🟢 **Small position** — clean security + smart money early entry + social presence
|
||||
- 🟡 **Watch** — some positive signals but missing key indicators; monitor for 30–60 min
|
||||
- 🔴 **Skip** — any hard stop triggered, or no smart money interest at all
|
||||
|
||||
---
|
||||
|
||||
## Follow-Up Actions
|
||||
|
||||
For any token rated 🟢:
|
||||
- Run full due diligence: [`workflow-token-research.md`](workflow-token-research.md)
|
||||
- Check risk warnings before sizing up: [`workflow-risk-warning.md`](workflow-risk-warning.md)
|
||||
- Execute swap if satisfied: use `gmgn-swap` skill
|
||||
|
||||
---
|
||||
|
||||
## Related Workflows
|
||||
|
||||
- [`workflow-token-research.md`](workflow-token-research.md) — full 5-step token analysis
|
||||
- [`workflow-risk-warning.md`](workflow-risk-warning.md) — ongoing risk monitoring for held positions
|
||||
- [`workflow-market-opportunities.md`](workflow-market-opportunities.md) — trending token discovery (graduated tokens with volume)
|
||||
@@ -44,5 +44,5 @@ Top 5 Trending Tokens — SOL / 1h
|
||||
## Step 4 — Follow-up actions
|
||||
|
||||
For each token, offer:
|
||||
- **Deep dive**: `token info` + `token security` for full due diligence (see [token-due-diligence.md](token-due-diligence.md))
|
||||
- **Deep dive**: run full token research workflow — see [workflow-token-research.md](workflow-token-research.md)
|
||||
- **Swap**: execute directly if the user is satisfied with the trending data alone
|
||||
@@ -0,0 +1,224 @@
|
||||
# Project Deep Report — Comprehensive Token Analysis Workflow
|
||||
|
||||
Use this workflow when the user wants a thorough, multi-dimensional project analysis — going beyond basic due diligence to cover smart money conviction, holder quality, market positioning, and a final investment verdict.
|
||||
|
||||
Use this workflow when:
|
||||
- "give me a full analysis of this project"
|
||||
- "deep report" / "is this project worth a large position?"
|
||||
- "give me a complete investment research report"
|
||||
- User wants more than a quick check — they want a structured report before making a significant position decision
|
||||
|
||||
> For a quick pre-buy check, use [`workflow-token-research.md`](workflow-token-research.md) instead. This workflow is more comprehensive and produces a full written report.
|
||||
|
||||
---
|
||||
|
||||
## Step 1 — Fundamentals
|
||||
|
||||
```bash
|
||||
gmgn-cli token info --chain <chain> --address <token_address>
|
||||
```
|
||||
|
||||
Extract and assess:
|
||||
|
||||
| Field | What to Note |
|
||||
|-------|-------------|
|
||||
| `price` | Current price |
|
||||
| Market cap | `price × circulating_supply` — compute this manually |
|
||||
| `liquidity` | USD in pool — < $50k is thin for a "serious" position |
|
||||
| `holder_count` | Total wallets holding. Growing = organic adoption |
|
||||
| `wallet_tags_stat.smart_wallets` | Smart money holders count |
|
||||
| `wallet_tags_stat.renowned_wallets` | KOL holders count |
|
||||
| `link.*` | Social presence: Twitter, Telegram, website |
|
||||
| `cto_flag` | Community takeover? |
|
||||
| `creator_token_status` | Dev still holding or has sold? |
|
||||
|
||||
**Fundamental score (0–3):**
|
||||
- +1 if market cap reasonable for the chain/category
|
||||
- +1 if strong social presence (2+ active channels)
|
||||
- +1 if `smart_wallets` ≥ 3 AND `holder_count` growing
|
||||
|
||||
---
|
||||
|
||||
## Step 2 — Security Assessment
|
||||
|
||||
```bash
|
||||
gmgn-cli token security --chain <chain> --address <token_address>
|
||||
```
|
||||
|
||||
**Hard stops (any one = do not proceed):**
|
||||
- `is_honeypot = "yes"` (BSC/Base)
|
||||
- `rug_ratio > 0.5`
|
||||
- `renounced_mint = false` AND `renounced_freeze_account = false` (SOL) — both unrenounced
|
||||
- `sell_tax > 0.15`
|
||||
|
||||
**Security score (0–4):**
|
||||
- +1 if contract open source / renounced
|
||||
- +1 if `rug_ratio < 0.1`
|
||||
- +1 if `top_10_holder_rate < 0.3`
|
||||
- +1 if no snipers (`sniper_count < 5`) and no wash trading
|
||||
|
||||
---
|
||||
|
||||
## Step 3 — Liquidity and Pool Health
|
||||
|
||||
```bash
|
||||
gmgn-cli token pool --chain <chain> --address <token_address>
|
||||
```
|
||||
|
||||
Assess:
|
||||
- **Liquidity depth:** > $100k = healthy; $10k–$100k = thin; < $10k = high exit slippage
|
||||
- **Pool age:** older pool = more stable price history
|
||||
- **DEX:** recognized exchange (Raydium, Uniswap v3, PancakeSwap) = better
|
||||
- **Bonding curve status** (`is_on_curve`): if still on curve, token has not graduated — higher volatility window
|
||||
|
||||
**Liquidity score (0–2):**
|
||||
- +1 if liquidity > $50k
|
||||
- +1 if DEX is major and pool age > 24h
|
||||
|
||||
---
|
||||
|
||||
## Step 4 — Smart Money Conviction Analysis
|
||||
|
||||
This is the key differentiator from basic token research.
|
||||
|
||||
```bash
|
||||
# Smart money holders — are they accumulating or distributing?
|
||||
gmgn-cli token holders --chain <chain> --address <token_address> \
|
||||
--tag smart_degen --order-by buy_volume_cur --direction desc --limit 20
|
||||
|
||||
# KOL holders
|
||||
gmgn-cli token traders --chain <chain> --address <token_address> \
|
||||
--tag renowned --order-by profit --direction desc --limit 10
|
||||
|
||||
# Top holders overall — check concentration
|
||||
gmgn-cli token holders --chain <chain> --address <token_address> \
|
||||
--order-by amount_percentage --direction desc --limit 20
|
||||
```
|
||||
|
||||
Assess smart money conviction:
|
||||
|
||||
| Signal | Bullish | Bearish |
|
||||
|--------|---------|---------|
|
||||
| Smart money count | ≥ 3 distinct wallets | 0 or 1 |
|
||||
| Net direction | `buy_volume_cur` > `sell_volume_cur` | Selling exceeds buying |
|
||||
| Unrealized profit | Large (still holding, not selling) | Small or negative |
|
||||
| Realized profit | Moderate (some took profit, healthy) | Very large (majority already exited) |
|
||||
| KOL involvement | ≥ 1 KOL with active position | None |
|
||||
| Wallet diversity | Multiple different wallets | One whale dominating |
|
||||
|
||||
**Smart money score (0–4):**
|
||||
- +1 if `smart_wallets` ≥ 3
|
||||
- +1 if net buy direction (buy_volume_cur > sell_volume_cur across smart wallets)
|
||||
- +1 if average `unrealized_profit` is positive (they're still in profit, still holding)
|
||||
- +1 if at least 1 KOL has an active position
|
||||
|
||||
---
|
||||
|
||||
## Step 5 — Price Action Context
|
||||
|
||||
```bash
|
||||
# Recent price action — 4h candles, last 3 days
|
||||
gmgn-cli market kline --chain <chain> --address <token_address> \
|
||||
--resolution 4h
|
||||
|
||||
# Is it currently trending?
|
||||
gmgn-cli market trending --chain <chain> --interval 1h \
|
||||
--order-by volume --limit 100 --raw | jq '.data.rank[] | select(.address == "<token_address>")'
|
||||
```
|
||||
|
||||
Look for:
|
||||
- **Entry context:** Is price near a local bottom (potential value) or after a run-up (chasing)?
|
||||
- **Volume confirmation:** Do bullish candles have higher volume than bearish candles?
|
||||
- **Trending:** If it appears in trending with `smart_degen_count > 0`, momentum + conviction overlap
|
||||
|
||||
**Price action score (0–2):**
|
||||
- +1 if price is not parabolic (< 5x from recent low) — not chasing
|
||||
- +1 if volume is rising on up-candles (healthy accumulation pattern)
|
||||
|
||||
---
|
||||
|
||||
## Step 6 — Risk Factors Summary
|
||||
|
||||
Aggregate all warning signals from Steps 1–5:
|
||||
|
||||
| Category | Risk Level | Key Signals |
|
||||
|----------|-----------|-------------|
|
||||
| Security | ✅/⚠️/🚫 | honeypot, rug_ratio, concentration |
|
||||
| Liquidity | ✅/⚠️/🚫 | pool size, pool age |
|
||||
| Smart Money | ✅/⚠️/🚫 | count, direction, conviction |
|
||||
| Holder Quality | ✅/⚠️/🚫 | bundler_rate, rat_trader_rate, wash_trading |
|
||||
| Price Action | ✅/⚠️/🚫 | entry timing, momentum |
|
||||
|
||||
---
|
||||
|
||||
## Deep Report Output
|
||||
|
||||
```
|
||||
╔══════════════════════════════════════════════════════╗
|
||||
║ PROJECT DEEP REPORT — {SYMBOL} ║
|
||||
║ {chain} | {short_address} | {date} ║
|
||||
╚══════════════════════════════════════════════════════╝
|
||||
|
||||
📋 FUNDAMENTALS
|
||||
Price: ${price}
|
||||
Market Cap: ~${market_cap}
|
||||
Liquidity: ${liquidity} on {exchange}
|
||||
Holders: {holder_count}
|
||||
Social: Twitter ✅/❌ | Telegram ✅/❌ | Website ✅/❌
|
||||
Dev Status: {creator_close = sold ✅ / creator_hold = still in ⚠️}
|
||||
Fundamental Score: {X}/3
|
||||
|
||||
🔒 SECURITY
|
||||
Honeypot: ✅ No / 🚫 YES
|
||||
Contract: {open_source} | {renounced}
|
||||
Rug Risk: {rug_ratio} → ✅/⚠️/🚫
|
||||
Concentration: Top-10 hold {top_10_holder_rate%} → ✅/⚠️/🚫
|
||||
Wash Trading: ✅ None / ⚠️ Detected
|
||||
Security Score: {X}/4
|
||||
|
||||
💧 LIQUIDITY
|
||||
Pool: ${liquidity} | {exchange} | Age: {pool_age}
|
||||
Bonding Curve: Graduated ✅ / Still on curve ⚠️
|
||||
Liquidity Score: {X}/2
|
||||
|
||||
🧠 SMART MONEY CONVICTION
|
||||
SM Holders: {N} wallets
|
||||
Net Direction: Accumulating ✅ / Distributing ⚠️ / Mixed
|
||||
SM Unrealized: +{X}% avg (still holding) ✅ / Underwater ⚠️
|
||||
KOL Presence: {N} KOL wallets active
|
||||
Smart Money Score: {X}/4
|
||||
|
||||
📈 PRICE ACTION
|
||||
Recent trend: Healthy accumulation / Parabolic (avoid chasing) / Declining
|
||||
Trending now: Yes (rank #{rank}) ✅ / Not trending
|
||||
Price Action Score: {X}/2
|
||||
|
||||
─── RISK FLAGS ──────────────────────────────────────
|
||||
{List any ⚠️ or 🚫 signals here, or "No major risk flags"}
|
||||
|
||||
─── TOTAL SCORE ─────────────────────────────────────
|
||||
{X} / 15
|
||||
|
||||
─── VERDICT ─────────────────────────────────────────
|
||||
🟢 STRONG BUY CANDIDATE (score ≥ 11, no hard stops)
|
||||
Smart money confirmed, clean security, healthy liquidity
|
||||
→ Suggested: research position sizing, use gmgn-swap
|
||||
|
||||
🟡 WATCHLIST (score 7–10, no hard stops)
|
||||
Some positive signals but missing key conviction indicators
|
||||
→ Suggested: monitor for 24–48h, re-assess if SM increases
|
||||
|
||||
🔴 SKIP (any hard stop OR score < 7)
|
||||
Risk factors outweigh opportunity
|
||||
→ Reason: {specific flag}
|
||||
╚══════════════════════════════════════════════════════╝
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Related Workflows
|
||||
|
||||
- [`workflow-token-research.md`](workflow-token-research.md) — faster pre-buy check (use when time-sensitive)
|
||||
- [`workflow-risk-warning.md`](workflow-risk-warning.md) — ongoing monitoring after entering a position
|
||||
- [`workflow-smart-money-profile.md`](workflow-smart-money-profile.md) — deep dive on specific smart money wallets holding this token
|
||||
- [`workflow-market-opportunities.md`](workflow-market-opportunities.md) — find tokens to run this report on
|
||||
@@ -0,0 +1,142 @@
|
||||
# Risk Warning — Structured Checklist Workflow
|
||||
|
||||
Use this workflow to assess whether a token currently held or being considered shows active risk signals: whale exit, liquidity drain, or developer dump.
|
||||
|
||||
Use this workflow when:
|
||||
- "are any whales dumping this token?"
|
||||
- "is the liquidity still healthy?"
|
||||
- "are there any signs the developer is exiting?"
|
||||
- "risk warning" / "is this project still safe to hold?"
|
||||
- User wants to check if a held position is turning dangerous
|
||||
|
||||
---
|
||||
|
||||
## Step 1 — Token Security Snapshot
|
||||
|
||||
```bash
|
||||
gmgn-cli token security --chain <chain> --address <token_address>
|
||||
```
|
||||
|
||||
Immediate red flags (any one triggers danger):
|
||||
|
||||
| Field | Danger Signal |
|
||||
|-------|--------------|
|
||||
| `is_honeypot` | `"yes"` → sells are blocked, exit impossible (BSC/Base only) |
|
||||
| `rug_ratio` | `> 0.3` → high rug pull probability |
|
||||
| `top_10_holder_rate` | `> 0.5` → extreme concentration, whale exit risk |
|
||||
| `creator_token_status` | `creator_hold` → dev still holds, dump risk active |
|
||||
| `renounced_mint` (SOL) | `false` → dev can inflate supply at any time |
|
||||
| `renounced_freeze_account` (SOL) | `false` → dev can freeze wallets |
|
||||
| `sell_tax` | `> 0.10` → exit penalty is severe |
|
||||
| `bundler_rate` | `> 0.3` → heavily bot-bundled at launch, artificial price support |
|
||||
| `rat_trader_amount_rate` | `> 0.3` → insider trading detected |
|
||||
| `is_wash_trading` | `true` → volume is fake |
|
||||
|
||||
---
|
||||
|
||||
## Step 2 — Liquidity Check
|
||||
|
||||
```bash
|
||||
gmgn-cli token pool --chain <chain> --address <token_address>
|
||||
```
|
||||
|
||||
Check for liquidity drain:
|
||||
|
||||
- **Current liquidity (USD):** < $10k = extreme exit slippage risk
|
||||
- **Liquidity vs earlier baseline:** if you have a prior reading, compare. A drop of > 30% in a short period is a warning signal.
|
||||
- **Pool age (`creation_timestamp`):** very new pools (< 1h) combined with other risk signals = high risk.
|
||||
- **DEX (`exchange`):** verify it's a known DEX (Raydium, Uniswap, PancakeSwap). Unknown or single-sided pools are suspicious.
|
||||
|
||||
---
|
||||
|
||||
## Step 3 — Whale Holder Analysis
|
||||
|
||||
```bash
|
||||
# Top holders by supply percentage
|
||||
gmgn-cli token holders --chain <chain> --address <token_address> \
|
||||
--order-by amount_percentage --direction desc --limit 20
|
||||
|
||||
# Smart money holders — are they still in?
|
||||
gmgn-cli token holders --chain <chain> --address <token_address> \
|
||||
--tag smart_degen --order-by amount_percentage --direction desc --limit 20
|
||||
```
|
||||
|
||||
Warning signals:
|
||||
|
||||
- **Concentration:** top 1–3 wallets hold > 20% combined → single exit can crash price
|
||||
- **Smart money exodus:** zero or declining `smart_degen` holders = conviction leaving
|
||||
- **Wallet tags:** wallets tagged `bundler` or `rat_trader` in top holders = insider concentration risk
|
||||
|
||||
---
|
||||
|
||||
## Step 4 — Recent Trade Flow (Smart Money Direction)
|
||||
|
||||
```bash
|
||||
gmgn-cli track smartmoney --chain <chain>
|
||||
```
|
||||
|
||||
Filter results for the token address in question. Check:
|
||||
|
||||
- Are smart money wallets **selling** this token recently? (`is_open_or_close` = 1 on sell side for kol/smartmoney)
|
||||
- Is `price_change` on recent smart money buys negative? (their entry is underwater — they may exit)
|
||||
- Cluster of sells from multiple tracked wallets = strong exit signal
|
||||
|
||||
---
|
||||
|
||||
## Step 5 — Price and Volume Anomaly (K-line)
|
||||
|
||||
```bash
|
||||
gmgn-cli market kline --chain <chain> --address <token_address> \
|
||||
--resolution 1h
|
||||
```
|
||||
|
||||
Look for:
|
||||
|
||||
- **Volume spike without price increase** — selling pressure absorbing buy volume
|
||||
- **Price drop with volume spike** — active dump in progress
|
||||
- **Volume collapse** — liquidity evaporating, exit windows closing
|
||||
- **Consecutive red candles after ATH** — distribution phase
|
||||
|
||||
---
|
||||
|
||||
## Risk Summary Output
|
||||
|
||||
After running all steps, output a structured risk verdict:
|
||||
|
||||
```
|
||||
Risk Assessment: {TOKEN_SYMBOL} ({short_address})
|
||||
Chain: {chain} | Checked: {timestamp}
|
||||
|
||||
─── Security ───────────────────────────────
|
||||
Honeypot: ✅ No / 🚫 YES — exit blocked
|
||||
Rug ratio: ✅ {X} / ⚠️ {X} / 🚫 {X} (> 0.3 danger)
|
||||
Mint renounced: ✅ Yes / 🚫 No
|
||||
Dev holding: ✅ Sold / 🚫 Still holding — dump risk
|
||||
|
||||
─── Liquidity ──────────────────────────────
|
||||
Current liquidity: ${X} [✅ healthy / ⚠️ low / 🚫 critical]
|
||||
Pool age: {X} hours/days
|
||||
|
||||
─── Whale Concentration ────────────────────
|
||||
Top 10 hold rate: {X}% [✅ < 20% / ⚠️ 20–50% / 🚫 > 50%]
|
||||
Smart money holders: {N} wallets still in
|
||||
|
||||
─── Smart Money Flow ───────────────────────
|
||||
Recent smart money: Buying ✅ / Mixed ⚠️ / Selling 🚫
|
||||
|
||||
─── Price Action ───────────────────────────
|
||||
1h volume trend: Normal / Spike (selling pressure) / Collapsing
|
||||
Recent candles: Accumulation / Distribution / Neutral
|
||||
|
||||
─── Overall Verdict ────────────────────────
|
||||
🟢 No active risk signals — position appears stable
|
||||
🟡 Watch closely — 1–2 warning signals present, monitor daily
|
||||
🔴 HIGH RISK — multiple danger signals, consider exiting
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Related Workflows
|
||||
|
||||
- [`workflow-token-research.md`](workflow-token-research.md) — full pre-buy due diligence
|
||||
- [`workflow-project-deep-report.md`](workflow-project-deep-report.md) — comprehensive project analysis
|
||||
@@ -0,0 +1,169 @@
|
||||
# Smart Money Profile — Behavior Analysis Workflow
|
||||
|
||||
When a user wants to understand a wallet's trading behavior in depth: what style they trade, when they take profit, when they cut losses, and whether copying them would be profitable.
|
||||
|
||||
Use this workflow when:
|
||||
- "is this wallet a long-term holder or a short-term trader?"
|
||||
- "what is this wallet's win rate, when does it take profit or cut losses?"
|
||||
- "if I copied this wallet, what would my return be?"
|
||||
- "smart money leaderboard, which wallets are most worth following?"
|
||||
- User provides a wallet address and asks about trading style or copy-trade potential
|
||||
|
||||
> For basic "is this wallet worth following" analysis, see [`workflow-wallet-analysis.md`](workflow-wallet-analysis.md). This workflow goes deeper into behavior patterns and copy-trade estimation.
|
||||
|
||||
---
|
||||
|
||||
## Step 1 — Trading Stats (Both Periods)
|
||||
|
||||
Run stats for both 7d and 30d to detect performance trends:
|
||||
|
||||
```bash
|
||||
gmgn-cli portfolio stats --chain <chain> --wallet <address> --period 7d
|
||||
gmgn-cli portfolio stats --chain <chain> --wallet <address> --period 30d
|
||||
```
|
||||
|
||||
Key metrics:
|
||||
|
||||
| Field | Meaning | Threshold |
|
||||
|-------|---------|-----------|
|
||||
| `winrate` | % of profitable trades (0–1) | > 0.6 strong, > 0.5 acceptable |
|
||||
| `pnl` | realized_profit / total_cost multiplier | > 1.0 = net positive |
|
||||
| `realized_profit` | USD profit locked in | context-dependent |
|
||||
| `buy_count` / `sell_count` | trading frequency | high = active trader |
|
||||
| `token_num` | number of distinct tokens traded | high = diversified |
|
||||
|
||||
**Trend signal:** If 7d `winrate` is significantly higher than 30d, performance is improving. If lower, recent form is declining.
|
||||
|
||||
---
|
||||
|
||||
## Step 2 — Activity Analysis (Style Inference)
|
||||
|
||||
```bash
|
||||
gmgn-cli portfolio activity --chain <chain> --wallet <address> --limit 100
|
||||
```
|
||||
|
||||
For each token that appears in both a buy and a sell event, compute holding duration:
|
||||
- `sell.timestamp - buy.timestamp` in hours
|
||||
|
||||
**Style classification:**
|
||||
|
||||
| Holding Duration | Style Label |
|
||||
|-----------------|-------------|
|
||||
| < 1 hour | Scalper |
|
||||
| 1h – 24h | Day trader |
|
||||
| 1d – 7d | Swing trader |
|
||||
| > 7d | Position / long-term holder |
|
||||
|
||||
Also check:
|
||||
- **Position sizing consistency** — are buy amounts roughly similar (disciplined) or highly variable?
|
||||
- **Token concentration** — does the wallet repeatedly trade the same tokens (specialist) or always new ones (trend chaser)?
|
||||
- **Sell behavior** — do sells follow a pattern (e.g., always sells after 2–3x, or cuts at -30%)?
|
||||
|
||||
---
|
||||
|
||||
## Step 3 — Take-Profit and Stop-Loss Pattern
|
||||
|
||||
From `portfolio activity`, cross-reference buy price vs sell price for completed round trips:
|
||||
|
||||
- For each token: find a `buy` event followed by a `sell` event
|
||||
- Compute approximate return: `(sell_total_usd - buy_total_usd) / buy_total_usd`
|
||||
- Group outcomes: wins vs losses
|
||||
|
||||
Look for:
|
||||
- **Typical gain at exit** — does the wallet consistently take profit at ~2x, ~5x, or higher?
|
||||
- **Typical loss at cut** — does the wallet cut quickly at -20% or hold through large drawdowns?
|
||||
- **Asymmetry** — wins larger than losses = positive expected value. Reverse = risk.
|
||||
|
||||
---
|
||||
|
||||
## Step 4 — Copy-Trade ROI Estimation (Approximate)
|
||||
|
||||
> **Note:** This is an approximation based on historical activity data, not a precise backtest.
|
||||
|
||||
For the wallet's last 20–30 completed trades (round-trip buys + sells):
|
||||
|
||||
1. List all buy events: token, amount_usd, timestamp
|
||||
2. List all sell events for the same tokens
|
||||
3. Compute per-trade return: `(sell_usd - buy_usd) / buy_usd`
|
||||
4. Average the returns
|
||||
|
||||
**If you want to estimate "if I had followed today":**
|
||||
For still-open positions (buy with no matching sell), use `portfolio holdings` to get current `usd_value` vs `cost`, computing unrealized return.
|
||||
|
||||
Present as:
|
||||
```
|
||||
Copy-trade estimate (last 30d completed trades):
|
||||
Avg return per trade: +X%
|
||||
Win rate: X / Y trades profitable
|
||||
Best trade: +X% on TOKEN
|
||||
Worst trade: -X% on TOKEN
|
||||
Approximate 30d return if equal-weight copy: ~X%
|
||||
⚠️ This is an approximation. Actual results depend on entry timing, slippage, and fees.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Step 5 — Smart Money Leaderboard (Multi-Wallet Comparison)
|
||||
|
||||
When the user wants to compare multiple smart money wallets:
|
||||
|
||||
```bash
|
||||
# Batch stats — compare up to 10 wallets at once
|
||||
gmgn-cli portfolio stats --chain <chain> \
|
||||
--wallet <addr1> --wallet <addr2> --wallet <addr3> \
|
||||
--period 30d
|
||||
```
|
||||
|
||||
Rank wallets by composite score. Suggested weights:
|
||||
- `winrate` × 40%
|
||||
- `pnl` × 40%
|
||||
- `token_num` (diversity) × 10%
|
||||
- Recency (7d winrate vs 30d winrate improvement) × 10%
|
||||
|
||||
To discover active smart money wallets to compare, first run:
|
||||
```bash
|
||||
gmgn-cli track smartmoney --chain <chain>
|
||||
```
|
||||
Extract unique wallet addresses from the results, then batch-query their stats.
|
||||
|
||||
---
|
||||
|
||||
## Output Template
|
||||
|
||||
```
|
||||
Smart Money Profile: {short_address}
|
||||
Chain: {chain} | Data: 7d + 30d
|
||||
|
||||
─── Performance ────────────────────────────
|
||||
Win Rate (7d / 30d): {X}% / {X}% [trend: ↑ improving / ↓ declining / → stable]
|
||||
PnL Ratio (30d): {X}x
|
||||
Realized Profit (30d): ${X}
|
||||
|
||||
─── Trading Style ──────────────────────────
|
||||
Style: Scalper / Day trader / Swing trader / Long-term holder
|
||||
Avg Hold Time: ~{X} hours / days
|
||||
Position Size: Consistent (disciplined) / Variable (opportunistic)
|
||||
Token Focus: Specialist (repeats tokens) / Trend chaser (always new)
|
||||
|
||||
─── Exit Behavior ──────────────────────────
|
||||
Typical take-profit: ~+{X}% gain
|
||||
Typical stop-loss: ~-{X}% loss
|
||||
Win/loss ratio: {avg_win}x / {avg_loss}x
|
||||
|
||||
─── Copy-Trade Estimate ────────────────────
|
||||
Approx. 30d return if copied: ~{X}%
|
||||
Based on {N} completed trades
|
||||
⚠️ Approximation only
|
||||
|
||||
─── Verdict ────────────────────────────────
|
||||
🟢 High-conviction follow — strong stats, consistent style, favorable exit pattern
|
||||
🟡 Selective follow — good stats but inconsistent or high-risk behavior
|
||||
🔴 Avoid copying — low win rate, poor exit discipline, or declining form
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Related Workflows
|
||||
|
||||
- [`workflow-wallet-analysis.md`](workflow-wallet-analysis.md) — general wallet quality assessment
|
||||
- [`workflow-token-research.md`](workflow-token-research.md) — deep dive on tokens this wallet holds
|
||||
@@ -0,0 +1,109 @@
|
||||
# New Token Research — Full Workflow
|
||||
|
||||
When a user provides a token address or name and wants to know if it's worth researching or buying, run this full workflow in sequence.
|
||||
|
||||
## Step 1 — Basic Info
|
||||
|
||||
```bash
|
||||
gmgn-cli token info --chain <chain> --address <token_address>
|
||||
```
|
||||
|
||||
Check: `price`, `market_cap` (= `price × circulating_supply`), `liquidity`, `holder_count`, `wallet_tags_stat.smart_wallets`, `wallet_tags_stat.renowned_wallets`, `link.website` / `link.twitter_username` / `link.telegram`.
|
||||
|
||||
**Red flags**: all `link.*` social fields empty, liquidity < $10k, zero `wallet_tags_stat.smart_wallets` and `renowned_wallets`.
|
||||
|
||||
## Step 2 — Security Check
|
||||
|
||||
```bash
|
||||
gmgn-cli token security --chain <chain> --address <token_address>
|
||||
```
|
||||
|
||||
Check each field against the thresholds below:
|
||||
|
||||
| Field | Safe ✅ | Warning ⚠️ | Danger 🚫 |
|
||||
|-------|---------|-----------|---------|
|
||||
| `is_honeypot` | `"no"` | — | `"yes"` → **Stop immediately. Do not buy.** BSC/Base only — empty string on SOL (not applicable). |
|
||||
| `open_source` | `"yes"` | `"unknown"` | `"no"` |
|
||||
| `owner_renounced` | `"yes"` | `"unknown"` | `"no"` |
|
||||
| `renounced_mint` (SOL) | `true` | — | `false` → mint risk |
|
||||
| `renounced_freeze_account` (SOL) | `true` | — | `false` → freeze risk |
|
||||
| `buy_tax` / `sell_tax` | `0` | `0.01–0.05` | `>0.10` |
|
||||
| `top_10_holder_rate` | `<0.20` | `0.20–0.50` | `>0.50` |
|
||||
| `rug_ratio` | `<0.10` | `0.10–0.30` | `>0.30` |
|
||||
| `creator_token_status` | `creator_close` | — | `creator_hold` |
|
||||
| `sniper_count` | `<5` | `5–20` | `>20` |
|
||||
|
||||
**If `is_honeypot = "yes"` → stop immediately and display: "🚫 HONEYPOT DETECTED — Do not buy this token." Do NOT proceed.**
|
||||
|
||||
## Step 3 — Liquidity Pool
|
||||
|
||||
```bash
|
||||
gmgn-cli token pool --chain <chain> --address <token_address>
|
||||
```
|
||||
|
||||
Check: liquidity amount, which DEX (`exchange`), pool age (`creation_timestamp`). Low liquidity means high slippage risk when buying or selling.
|
||||
|
||||
## Step 4 — Market Heat (Check if Currently Trending)
|
||||
|
||||
Check if this token appears in current trending data:
|
||||
|
||||
```bash
|
||||
gmgn-cli market trending --chain <chain> --interval 1h --order-by volume --limit 100 --raw | jq '.data.rank[] | select(.address == "<token_address>")'
|
||||
```
|
||||
|
||||
- **If found**: note its `rank`, `smart_degen_count`, `volume`, `price_change_percent1h` — this confirms active market interest.
|
||||
- **If not found**: token is not currently trending (neutral signal — not necessarily bad, just no active buzz).
|
||||
|
||||
## Step 5 — Smart Money Signals
|
||||
|
||||
```bash
|
||||
# Is smart money accumulating?
|
||||
gmgn-cli token holders --chain <chain> --address <token_address> \
|
||||
--tag smart_degen --order-by buy_volume_cur --direction desc --limit 20
|
||||
|
||||
# What are KOL traders doing?
|
||||
gmgn-cli token traders --chain <chain> --address <token_address> \
|
||||
--tag renowned --order-by profit --direction desc --limit 20
|
||||
```
|
||||
|
||||
**Bullish signals**: smart_degen wallets buying heavily, unrealized_profit is large (still holding), low sell_volume_cur.
|
||||
|
||||
**Bearish signals**: sell_volume_cur > buy_volume_cur for smart money, large realized profits already taken (may be exiting), top holders with very high amount_percentage starting to sell.
|
||||
|
||||
## Decision Framework
|
||||
|
||||
After completing all steps, present a structured conclusion:
|
||||
|
||||
```
|
||||
Token Research Summary: {symbol} ({chain})
|
||||
Address: {short_address}
|
||||
─── Security ──────────────────────────────
|
||||
Honeypot: ✅ no / 🚫 YES — STOP
|
||||
Contract verified:✅ yes / 🚫 no / ⚠️ unknown
|
||||
Owner renounced: ✅ yes / 🚫 no / ⚠️ unknown
|
||||
Rug risk: {rug_ratio} → ✅ low / ⚠️ medium / 🚫 high
|
||||
Top-10 holders: {top_10_holder_rate%} → ✅ <20% / ⚠️ 20–50% / 🚫 >50%
|
||||
─── Liquidity ─────────────────────────────
|
||||
Pool liquidity: ${liquidity} on {exchange}
|
||||
─── Market Heat ───────────────────────────
|
||||
Trending: yes (rank #{rank}) / not trending
|
||||
─── Smart Money ───────────────────────────
|
||||
SM holders: {smart_wallets} | KOL holders: {renowned_wallets}
|
||||
SM activity: accumulating / distributing / absent
|
||||
─── Verdict ───────────────────────────────
|
||||
🟢 Buy — strong signals across all dimensions
|
||||
🟡 Watch — mixed signals, monitor for confirmation
|
||||
🔴 Skip — red flags present (specify which)
|
||||
```
|
||||
|
||||
**Scoring logic:**
|
||||
- If any 🚫 → skip (hard stop, especially if honeypot)
|
||||
- If 3+ ⚠️ with no 🚫 → needs more research / watch
|
||||
- If mostly ✅ with smart money accumulating → worth researching / buying
|
||||
|
||||
---
|
||||
|
||||
## Related Workflows
|
||||
|
||||
- [`workflow-market-opportunities.md`](workflow-market-opportunities.md) — find tokens from trending first, then deep dive here
|
||||
- [`workflow-project-deep-report.md`](workflow-project-deep-report.md) — more comprehensive analysis with scored dimensions and a full written report
|
||||
@@ -0,0 +1,85 @@
|
||||
# Wallet Analysis — Full Workflow
|
||||
|
||||
When a user provides a wallet address and wants to know the wallet's investment style, track record, and whether it's worth following.
|
||||
|
||||
## Step 1 — Current Holdings
|
||||
|
||||
```bash
|
||||
gmgn-cli portfolio holdings --chain <chain> --wallet <address> \
|
||||
--order-by usd_value --direction desc --limit 50
|
||||
```
|
||||
|
||||
Check: what tokens they hold, position sizes, `usd_value`, `unrealized_profit` distribution, `profit_change` per position. A wallet holding many positions with strong unrealized gains is still in accumulation mode.
|
||||
|
||||
## Step 2 — Trading Stats
|
||||
|
||||
```bash
|
||||
gmgn-cli portfolio stats --chain <chain> --wallet <address> --period 30d
|
||||
```
|
||||
|
||||
Key metrics:
|
||||
- `winrate` — ratio of profitable trades (0–1); > 0.6 is strong
|
||||
- `realized_profit` — total USD profit locked in over 30 days
|
||||
- `pnl` — profit/loss ratio = `realized_profit / total_cost`; `2.0` = doubled money
|
||||
- `buy_count` / `sell_count` — trading frequency and style
|
||||
|
||||
## Step 3 — Recent Activity
|
||||
|
||||
```bash
|
||||
gmgn-cli portfolio activity --chain <chain> --wallet <address> --limit 50
|
||||
```
|
||||
|
||||
Look for:
|
||||
- Trading frequency (multiple trades per day = active trader)
|
||||
- Average holding duration: compare `last_active_timestamp` of buy vs sell events for the same token
|
||||
- Token diversity: does the wallet trade many different tokens or focus on a few?
|
||||
- Position sizing patterns: are buys consistent size or highly variable?
|
||||
|
||||
## Step 4 — If Wallet Is Followed on GMGN
|
||||
|
||||
If the user has followed this wallet on the GMGN platform:
|
||||
|
||||
> **Requires `GMGN_PRIVATE_KEY`** in `.env` — `track follow-wallet` uses signature auth. If the key is not configured, skip this step and note it in the conclusion.
|
||||
|
||||
```bash
|
||||
gmgn-cli track follow-wallet --chain <chain> --wallet <address>
|
||||
```
|
||||
|
||||
Shows real-time trade feed for this wallet. Check `is_open_or_close` (1 = full position open/close, 0 = partial) and `price_change` (how well past trades aged).
|
||||
|
||||
## Step 5 — Deep Dive: Evaluate Their Top Holdings
|
||||
|
||||
For the top 3–5 holdings by `usd_value`, run the full token research workflow to verify the quality of what this wallet holds.
|
||||
|
||||
→ See [`docs/workflow-token-research.md`](workflow-token-research.md) for the full 5-step token analysis.
|
||||
|
||||
## Conclusion Framework
|
||||
|
||||
After completing all steps, output a wallet profile:
|
||||
|
||||
```
|
||||
Wallet Analysis: {short_address}
|
||||
Chain: {chain} | Period: 30d
|
||||
─── Performance ────────────────────────────
|
||||
Win Rate: {winrate × 100}%
|
||||
Realized P&L: ${realized_profit}
|
||||
PnL Ratio: {pnl}x
|
||||
Trades: {buy_count} buys / {sell_count} sells
|
||||
─── Style ──────────────────────────────────
|
||||
Trading Style: Day trader / Swing trader / Holder
|
||||
(Day trader: many trades/day; Swing: holds days–weeks; Holder: few sells)
|
||||
Token Focus: Meme / DeFi / Mixed / Specific sector
|
||||
─── Current Positions ──────────────────────
|
||||
Top holdings by value: {token1}, {token2}, {token3}
|
||||
Open unrealized P&L: ${total_unrealized}
|
||||
─── Smart Money Score ──────────────────────
|
||||
Are their picks confirmed by other smart money? (check smart_degen_count on top holdings)
|
||||
─── Verdict ────────────────────────────────
|
||||
🟢 Worth following — strong win rate + consistent P&L + smart money overlap
|
||||
🟡 Watch first — promising stats but limited data or inconsistent style
|
||||
🔴 Not recommended — low win rate, losses, or high-risk behavior patterns
|
||||
```
|
||||
|
||||
## Related Workflows
|
||||
|
||||
- [`workflow-smart-money-profile.md`](workflow-smart-money-profile.md) — deeper behavior analysis: trading style, take-profit/stop-loss patterns, copy-trade ROI estimate, and leaderboard comparison
|
||||
+93
-10
@@ -16,6 +16,11 @@ Use the `gmgn-cli` tool to query K-line data for a token, browse trending tokens
|
||||
|
||||
## Core Concepts
|
||||
|
||||
- **`--filter` chain defaults** — SOL and EVM chains have different default safety filters that are applied automatically when `--filter` is omitted. Do not assume the same defaults apply across chains:
|
||||
- **SOL**: defaults to `renounced frozen` (mint and freeze authority renounced)
|
||||
- **BSC / Base (EVM)**: defaults to `not_honeypot verified renounced`
|
||||
- Omitting `--filter` is NOT the same as "no filter" — the chain defaults are always applied. To use a custom filter set, explicitly specify all desired filter tags.
|
||||
|
||||
- **`volume` vs `amount` (kline)** — Naming is counterintuitive. `volume` = USD dollar value of trades; `amount` = token units traded. For a token priced at $0.0002, these differ by 5,000×. Always use `volume` for "how much USD was traded" and `amount` for "how many tokens changed hands."
|
||||
|
||||
- **`rug_ratio`** — A 0–1 score estimating rug pull likelihood. Values above `0.3` are high-risk. Do not treat as binary — combine with `top_10_holder_rate`, `dev_team_hold_rate`, and `is_honeypot` for a full picture.
|
||||
@@ -42,7 +47,7 @@ Use the `gmgn-cli` tool to query K-line data for a token, browse trending tokens
|
||||
|-------------|-------------|
|
||||
| `market kline` | Token candlestick / OHLCV data and trading volume over a time range |
|
||||
| `market trending` | Trending tokens ranked by swap activity — use `--interval` to specify the time window (e.g. `1m` for 1-minute hottest, `1h` for 1-hour trending) |
|
||||
| `market trenches` | Newly launched launchpad paltform tokens — **use this when the user asks for "new tokens", "just launched tokens", "latest tokens on pump.fun/letsbonk"**. Three categories: `new_creation` (just created), `near_completion` (bonding curve almost full), `completed` (graduated to open market / DEX) |
|
||||
| `market trenches` | Newly launched launchpad platform tokens — **use this when the user asks for "new tokens", "just launched tokens", "latest tokens on pump.fun/letsbonk"**. Three categories: `new_creation` (just created), `near_completion` (bonding curve almost full), `completed` (graduated to open market / DEX) |
|
||||
|
||||
## Supported Chains
|
||||
|
||||
@@ -93,11 +98,11 @@ The response is an object with a `list` array. Each element in `list` is one can
|
||||
|
||||
| User says | `--interval` |
|
||||
|-----------|-------------|
|
||||
| "1分钟热门" / "1m trending" / "hottest right now" | `1m` |
|
||||
| "5分钟" / "5m" | `5m` |
|
||||
| "1小时" / "1h" / no time specified (default) | `1h` |
|
||||
| "6小时" / "6h" | `6h` |
|
||||
| "24小时" / "今日" / "daily" | `24h` |
|
||||
| "1m trending" / "hottest right now" | `1m` |
|
||||
| "5m" / "5 minute" | `5m` |
|
||||
| "1h" / "1 hour" / no time specified (default) | `1h` |
|
||||
| "6h" / "6 hour" | `6h` |
|
||||
| "24h" / "today" / "daily" | `24h` |
|
||||
|
||||
| Option | Description |
|
||||
|--------|-------------|
|
||||
@@ -106,7 +111,7 @@ The response is an object with a `list` array. Each element in `list` is one can
|
||||
| `--limit <n>` | Number of results (default 100, max 100) |
|
||||
| `--order-by <field>` | Sort field: `default` / `swaps` / `marketcap` / `history_highest_market_cap` / `liquidity` / `volume` / `holder_count` / `smart_degen_count` / `renowned_count` / `gas_fee` / `price` / `change1m` / `change5m` / `change1h` / `creation_timestamp` |
|
||||
| `--direction <asc\|desc>` | Sort direction (default `desc`) |
|
||||
| `--filter <tag...>` | Repeatable filter tags (chain-specific). **sol** (defaults: `renounced frozen`): `renounced` / `frozen` / `burn` / `token_burnt` / `has_social` / `not_social_dup` / `not_image_dup` / `dexscr_update_link` / `not_wash_trading` / `is_internal_market` / `is_out_market`. **evm** (defaults: `not_honeypot verified renounced`): `not_honeypot` / `verified` / `renounced` / `locked` / `token_burnt` / `has_social` / `not_social_dup` / `not_image_dup` / `dexscr_update_link` / `is_internal_market` / `is_out_market` |
|
||||
| `--filter <tag...>` | Repeatable filter tags (chain-specific). **⚠️ SOL defaults: `renounced frozen`; BSC/Base defaults: `not_honeypot verified renounced`.** Omitting `--filter` is NOT "no filter" — chain defaults always apply. **sol** tags: `renounced` / `frozen` / `burn` / `token_burnt` / `has_social` / `not_social_dup` / `not_image_dup` / `dexscr_update_link` / `not_wash_trading` / `is_internal_market` / `is_out_market`. **evm** tags: `not_honeypot` / `verified` / `renounced` / `locked` / `token_burnt` / `has_social` / `not_social_dup` / `not_image_dup` / `dexscr_update_link` / `is_internal_market` / `is_out_market` |
|
||||
| `--platform <name...>` | Repeatable platform filter (chain-specific). **sol**: `Pump.fun` / `pump_mayhem` / `pump_mayhem_agent` / `pump_agent` / `letsbonk` / `bonkers` / `bags` / `memoo` / `liquid` / `bankr` / `zora` / `surge` / `anoncoin` / `moonshot_app` / `wendotdev` / `heaven` / `sugar` / `token_mill` / `believe` / `trendsfun` / `trends_fun` / `jup_studio` / `Moonshot` / `boop` / `xstocks` / `ray_launchpad` / `meteora_virtual_curve` / `pool_ray` / `pool_meteora` / `pool_pump_amm` / `pool_orca`. **bsc**: `fourmeme` / `fourmeme_agent` / `bn_fourmeme` / `flap` / `clanker` / `lunafun` / `pool_uniswap` / `pool_pancake`. **base**: `clanker` / `bankr` / `flaunch` / `zora` / `zora_creator` / `baseapp` / `basememe` / `virtuals_v2` / `klik` |
|
||||
|
||||
## Usage Examples
|
||||
@@ -340,10 +345,81 @@ The response is `data.rank` — an array of rank items. Each item represents one
|
||||
|
||||
## Workflow: Discover Trading Opportunities via Trending
|
||||
|
||||
> Full workflow: [`docs/market-discover-opportunities.md`](../../docs/market-discover-opportunities.md)
|
||||
Full workflow for discovering market opportunities: [`docs/workflow-market-opportunities.md`](../../docs/workflow-market-opportunities.md)
|
||||
|
||||
Steps: fetch trending (50 results, safe filters) → AI multi-factor analysis (smart money, volume, momentum, liquidity, maturity) → present top 5 table with rationale → offer deep dive or swap.
|
||||
|
||||
When results contain interesting tokens, proceed to full token due diligence: [`docs/workflow-token-research.md`](../../docs/workflow-token-research.md)
|
||||
|
||||
**For new / launchpad tokens** (`market trenches`): apply the structured early project screening workflow that includes security check and smart money entry detection — [`docs/workflow-early-project-screening.md`](../../docs/workflow-early-project-screening.md)
|
||||
|
||||
**For a daily market overview** (user asks "what's the market like today", "give me a daily brief", "what is smart money buying today"): combine `market trending` + `market trenches` with `gmgn-track smartmoney` — [`docs/workflow-daily-brief.md`](../../docs/workflow-daily-brief.md)
|
||||
|
||||
## Token Quality Filter Criteria
|
||||
|
||||
When evaluating tokens returned from `market trending` or `market trenches`, apply these criteria to quickly separate high-quality opportunities from noise. Do not present raw results without filtering.
|
||||
|
||||
### Pass / Watch / Skip Criteria
|
||||
|
||||
| Signal | 🟢 Pass | 🟡 Watch | 🔴 Skip |
|
||||
|--------|---------|---------|---------|
|
||||
| `smart_degen_count` | ≥ 3 | 1–2 | 0 |
|
||||
| `rug_ratio` | < 0.1 | 0.1–0.3 | > 0.3 |
|
||||
| `creator_token_status` | `creator_close` | — | `creator_hold` |
|
||||
| `is_wash_trading` | `false` | — | `true` → skip immediately |
|
||||
| `top_10_holder_rate` | < 0.20 | 0.20–0.50 | > 0.50 |
|
||||
| `liquidity` | > $50k | $10k–$50k | < $10k |
|
||||
| `has_social` (or any social field present) | yes | — | no (weak signal only) |
|
||||
|
||||
**Quick disqualification rule:** If `rug_ratio > 0.3` OR `is_wash_trading = true` OR `is_honeypot = 1` → skip immediately, no further analysis needed.
|
||||
|
||||
**Strong buy signal combination:** `smart_degen_count ≥ 3` + `rug_ratio < 0.2` + `creator_close` + `is_wash_trading = false` + `liquidity > $50k` → high-quality opportunity, proceed to full token research.
|
||||
|
||||
For full due diligence on any token surfaced here: [`docs/workflow-token-research.md`](../../docs/workflow-token-research.md)
|
||||
|
||||
## Token Lifecycle Stage
|
||||
|
||||
Use field combinations to determine what stage a token is in. This affects how signals should be interpreted.
|
||||
|
||||
### Stage 1 — Early (New Born)
|
||||
|
||||
**Indicators:**
|
||||
- `creation_timestamp` < 1 hour ago
|
||||
- `hot_level` low or just starting to rise
|
||||
- `smart_degen_count = 0`, `renowned_count = 0`
|
||||
|
||||
**Interpretation:** Too early for smart money signals. No on-chain track record. High risk, high potential reward. **Wait for Stage 2 confirmation before acting.** Only the most risk-tolerant traders enter here.
|
||||
|
||||
### Stage 2 — Breakout
|
||||
|
||||
**Indicators:**
|
||||
- `smart_degen_count ≥ 3` AND rising
|
||||
- Volume surging (compare `swaps_1h` vs `swaps_24h / 24` — significantly higher)
|
||||
- `price_change_percent1h > 20%`
|
||||
- `creator_token_status = creator_hold` is OK at this stage (dev hasn't distributed yet)
|
||||
|
||||
**Interpretation:** Strongest entry signal. Smart money is accumulating. Verify security before acting. This window is often short — act on confirmation, not anticipation.
|
||||
|
||||
### Stage 3 — Distribution
|
||||
|
||||
**Indicators:**
|
||||
- `creator_token_status = creator_close` (dev has sold their allocation)
|
||||
- `renowned_count` buying (late social signal — KOLs often enter after smart money)
|
||||
- `smart_degen_count` plateauing or declining
|
||||
- Volume still high but momentum slowing
|
||||
|
||||
**Interpretation:** Late stage entry. Smart money may be exiting into retail/KOL demand. Higher risk for new entries. If already holding from Stage 2, evaluate exit levels.
|
||||
|
||||
### Stage 4 — Decline
|
||||
|
||||
**Indicators:**
|
||||
- Volume declining across all windows
|
||||
- `holder_count` declining
|
||||
- `rat_trader_amount_rate` high (insider/sneak trading dominating)
|
||||
- `smart_degen_count = 0` or clearly declining
|
||||
|
||||
**Interpretation:** Avoid new entries entirely. If still holding, consider exiting. The opportunity has likely passed.
|
||||
|
||||
## `market trenches` Parameters
|
||||
|
||||
**Intent → `--type` mapping (always specify `--type` explicitly):**
|
||||
@@ -448,6 +524,8 @@ Response fields: `data.new_creation`, `data.pump`, `data.completed` — each is
|
||||
| `dexscr_trending_bar` | Whether paid for Dexscreener trending bar placement |
|
||||
| `dexscr_boost_fee` | Amount paid for Dexscreener boost (0 = none) |
|
||||
|
||||
**After fetching trenches results, apply the Token Quality Filter Criteria section before presenting tokens to the user.** Do not dump raw results — filter first, then surface the strongest candidates.
|
||||
|
||||
### Solana Trenches Examples
|
||||
|
||||
```bash
|
||||
@@ -550,10 +628,15 @@ Trend: [brief description — e.g. "steady uptrend", "sharp drop then recovery",
|
||||
Present the top results (default: top 10, or as requested) as a table:
|
||||
|
||||
```
|
||||
# | Symbol | Price | Market Cap | Volume ({interval}) | 1h Chg | Smart Degens | Liquidity | Platform
|
||||
# | Symbol | Price | MCap | Volume ({interval}) | 1h Chg | SM | Liq | Platform | Signal
|
||||
```
|
||||
|
||||
Then give a one-line highlight for any standout tokens (e.g. "TOKEN1 has 12 smart money holders and +85% in 1h").
|
||||
Where **Signal** = quality flag derived from the token's data:
|
||||
- 🟢 Pass: `smart_degen_count ≥ 3` AND `rug_ratio < 0.2` AND `is_wash_trading = false`
|
||||
- 🔴 Skip: `rug_ratio > 0.3` OR `is_wash_trading = true` OR `is_honeypot = 1`
|
||||
- 🟡 Watch: everything else
|
||||
|
||||
Then give a one-line highlight for any standout tokens (e.g. "TOKEN1 has 12 smart money holders and +85% in 1h — 🟢 strong signal").
|
||||
|
||||
### `market trenches` — Grouped by Category
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@ metadata:
|
||||
|
||||
Use the `gmgn-cli` tool to query wallet portfolio data based on the user's request.
|
||||
|
||||
**For full wallet analysis (holdings + stats + activity + verdict), follow [`docs/workflow-wallet-analysis.md`](../../docs/workflow-wallet-analysis.md)**
|
||||
|
||||
## Core Concepts
|
||||
|
||||
- **`realized_profit` vs `unrealized_profit`** — `realized_profit` = profit locked in from completed sells (cash in hand). `unrealized_profit` = paper gains on positions still held, calculated at current price. These are separate numbers — do not add them unless answering "total P&L including open positions."
|
||||
@@ -180,6 +182,8 @@ The response is an object (or array for batch). Key fields:
|
||||
|
||||
## Output Format
|
||||
|
||||
**Do NOT dump raw JSON.** Always parse and present data in the structured formats below. Use `--raw` only when piping to `jq` or further processing.
|
||||
|
||||
### `portfolio holdings` — Holdings Table
|
||||
|
||||
Present a table sorted by `usd_value` (descending). Show total portfolio value at the top.
|
||||
@@ -224,3 +228,14 @@ For batch queries (multiple wallets), present one summary block per wallet.
|
||||
- Use `--raw` to get single-line JSON for further processing
|
||||
- **Input validation** — Wallet and token addresses are validated against the expected chain format at runtime (sol: base58 32–44 chars; bsc/base/eth: `0x` + 40 hex digits). The CLI exits with an error on invalid input.
|
||||
- For follow-wallet, KOL, and Smart Money trade records, use the `gmgn-track` skill (`track follow-wallet` / `track kol` / `track smartmoney`)
|
||||
|
||||
## Workflow
|
||||
|
||||
For full wallet analysis including trade history and follow-through on top holdings, see [`docs/workflow-wallet-analysis.md`](../../docs/workflow-wallet-analysis.md)
|
||||
|
||||
For in-depth trading style analysis, copy-trade ROI estimation, and smart money leaderboard comparison, see [`docs/workflow-smart-money-profile.md`](../../docs/workflow-smart-money-profile.md)
|
||||
|
||||
**When to use which:**
|
||||
- User asks "is this wallet worth following" → [`docs/workflow-wallet-analysis.md`](../../docs/workflow-wallet-analysis.md)
|
||||
- User asks "what's this wallet's trading style", "when does he take profit", "smart money profile", "if I copied this wallet what would my return be" → [`docs/workflow-smart-money-profile.md`](../../docs/workflow-smart-money-profile.md)
|
||||
- User wants to compare multiple smart money wallets by winrate/PnL → [`docs/workflow-smart-money-profile.md`](../../docs/workflow-smart-money-profile.md) Step 5 (leaderboard)
|
||||
|
||||
@@ -198,7 +198,19 @@ gmgn-cli order get --chain sol --order-id <order_id>
|
||||
|
||||
### Pre-swap Confirmation
|
||||
|
||||
Before executing, always display a confirmation summary:
|
||||
Before displaying the confirmation, run `order quote` to get the estimated output (uses normal auth — no private key required):
|
||||
|
||||
```bash
|
||||
gmgn-cli order quote \
|
||||
--chain <chain> \
|
||||
--from <wallet> \
|
||||
--input-token <input_token> \
|
||||
--output-token <output_token> \
|
||||
--amount <amount> \
|
||||
--slippage <slippage>
|
||||
```
|
||||
|
||||
Then display the confirmation summary using `output_amount` from the quote response:
|
||||
|
||||
```
|
||||
⚠️ Swap Confirmation Required
|
||||
@@ -209,10 +221,18 @@ Sell: {input amount in human units} {input token symbol}
|
||||
Buy: {output token symbol}
|
||||
Slippage: {slippage}% (or "auto")
|
||||
Est. output: ~{output_amount from quote} {output token symbol}
|
||||
Risk Level: 🟢 Low / 🟡 Medium / 🔴 High (based on rug_ratio from security check)
|
||||
|
||||
Reply "confirm" to proceed.
|
||||
```
|
||||
|
||||
**Note**: `Risk Level` is derived from the required security check:
|
||||
- 🟢 Low: `rug_ratio < 0.1`
|
||||
- 🟡 Medium: `rug_ratio 0.1–0.3`
|
||||
- 🔴 High: `rug_ratio > 0.3` (requires re-confirmation)
|
||||
|
||||
If the user explicitly skipped the security check, omit the Risk Level line and add a note: "(Security check skipped by user)"
|
||||
|
||||
### Post-swap Receipt
|
||||
|
||||
After a confirmed swap, display:
|
||||
@@ -252,22 +272,27 @@ Before passing any address or amount to a command:
|
||||
|
||||
4. **User confirmation** — See "Execution Guidelines" below — always present resolved parameters to the user before executing a swap. This creates a human review checkpoint for any unexpected values.
|
||||
|
||||
## Pre-Swap Safety Check (recommended)
|
||||
## Pre-Swap Safety Check (REQUIRED)
|
||||
|
||||
Before swapping into an unknown token, verify it is not a honeypot or rug pull:
|
||||
Before swapping into any token, run a mandatory security check using `gmgn-cli`:
|
||||
|
||||
```bash
|
||||
curl -s "https://app.maiat.io/api/v1/token/<output_token_address>" | jq '{trustScore: .trustScore, verdict: .verdict, riskFlags: .riskFlags}'
|
||||
gmgn-cli token security --chain <chain> --address <output_token>
|
||||
```
|
||||
|
||||
- If `verdict` is `"avoid"` → **do NOT proceed** with the swap.
|
||||
- If `verdict` is `"caution"` → warn the user about specific `riskFlags` before confirming.
|
||||
- If `verdict` is `"proceed"` or `"trusted"` → safe to continue.
|
||||
Check the two critical fields:
|
||||
- **`is_honeypot`**: If `"yes"` → **abort immediately**. Display: "🚫 HONEYPOT DETECTED — swap aborted." Do NOT proceed.
|
||||
- **`rug_ratio`**: If `> 0.3` → display 🔴 High Risk warning and require explicit re-confirmation from the user before proceeding.
|
||||
|
||||
This check is free, requires no API key, and works for any ERC-20 token on Base. Powered by [Maiat](https://app.maiat.io) — trust infrastructure for on-chain agents.
|
||||
**User override**: The user may explicitly skip this check by saying "I already checked" or "skip security check". In that case, document that the check was skipped in the confirmation summary. This is the only valid override — do NOT skip the check silently.
|
||||
|
||||
For a quick pre-swap due diligence checklist (info + security + pool + smart money, 4 steps), see [`docs/workflow-token-due-diligence.md`](../../docs/workflow-token-due-diligence.md)
|
||||
|
||||
For full token research before swapping, see [`docs/workflow-token-research.md`](../../docs/workflow-token-research.md)
|
||||
|
||||
## Execution Guidelines
|
||||
|
||||
- **[REQUIRED] Token security check** — Run before every swap. See **Pre-Swap Safety Check (REQUIRED)** section above. Uses normal auth (API Key only — no private key needed for this step).
|
||||
- **Currency resolution** — When the user names a currency (SOL/BNB/ETH/USDC) instead of providing an address, look up its address in the Chain Currencies table and apply it automatically — never ask the user for it.
|
||||
- Buy ("buy X SOL of TOKEN", "spend 0.5 USDC on TOKEN") → resolve currency to `--input-token`
|
||||
- Sell ("sell TOKEN for SOL", "sell 50% of TOKEN to USDC") → resolve currency to `--output-token`
|
||||
|
||||
+66
-12
@@ -432,6 +432,20 @@ gmgn-cli token holders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGG
|
||||
--limit 100 --raw
|
||||
```
|
||||
|
||||
### `token traders` — `--tag` + `--order-by` Combination Guide
|
||||
|
||||
Use this table to pick the right combination for common `token traders` use cases:
|
||||
|
||||
| Use case | `--tag` | `--order-by` |
|
||||
|----------|---------|-------------|
|
||||
| Smart money with highest buy volume | `smart_degen` | `buy_volume_cur` |
|
||||
| Smart money with highest sell volume (exit signal) | `smart_degen` | `sell_volume_cur` |
|
||||
| KOLs recently active | `renowned` | `last_active_timestamp` |
|
||||
| Smart money most profitable traders | `smart_degen` | `profit` |
|
||||
| Snipers still holding | `sniper` | `amount_percentage` |
|
||||
| Smart money sitting on biggest unrealized gains | `smart_degen` | `unrealized_profit` |
|
||||
| KOLs who already took profit | `renowned` | `profit` |
|
||||
|
||||
### `token traders` — Find Active Traders
|
||||
|
||||
```bash
|
||||
@@ -465,11 +479,41 @@ gmgn-cli token traders --chain bsc --address 0x2170Ed0880ac9A755fd29B2688956BD95
|
||||
|
||||
---
|
||||
|
||||
## Token Quick Scoring Card
|
||||
|
||||
After fetching `token security` and `token info`, apply this scoring card to give a structured verdict. Do not skip this step when the user asks for a safety check or due diligence.
|
||||
|
||||
| Field | ✅ Safe | ⚠️ Warning | 🚫 Danger (Hard Stop) |
|
||||
|-------|---------|-----------|----------------------|
|
||||
| `is_honeypot` | `"no"` | — | `"yes"` → **stop immediately** |
|
||||
| `open_source` | `"yes"` | `"unknown"` | `"no"` |
|
||||
| `owner_renounced` | `"yes"` | `"unknown"` | `"no"` |
|
||||
| `renounced_mint` (SOL) | `true` | — | `false` |
|
||||
| `renounced_freeze_account` (SOL) | `true` | — | `false` |
|
||||
| `rug_ratio` | `< 0.10` | `0.10–0.30` | `> 0.30` |
|
||||
| `top_10_holder_rate` | `< 0.20` | `0.20–0.50` | `> 0.50` |
|
||||
| `creator_token_status` | `creator_close` | — | `creator_hold` |
|
||||
| `buy_tax` / `sell_tax` | `0` | `0.01–0.05` | `> 0.10` |
|
||||
| `sniper_count` | `< 5` | `5–20` | `> 20` |
|
||||
| `smart_wallets` (from `wallet_tags_stat`) | `≥ 3` | `1–2` | `0` (bearish, not a hard stop) |
|
||||
| `renowned_wallets` (from `wallet_tags_stat`) | `≥ 1` | — | `0` (neutral, not a hard stop) |
|
||||
|
||||
**Final scoring logic:**
|
||||
- If `is_honeypot = "yes"` → **hard stop immediately**, do not proceed regardless of other signals
|
||||
- If other 🚫 fields present → **skip** (strong warning — present to user)
|
||||
- `smart_wallets = 0` alone is NOT a hard stop — it means no smart money interest yet, which is bearish but not disqualifying for very new tokens
|
||||
- If 3+ ⚠️ with no 🚫 → **needs more research** — present findings and ask user how to proceed
|
||||
- If mostly ✅ with `smart_wallets ≥ 3` → **worth researching** — proceed to holders/traders analysis
|
||||
|
||||
## Workflow: Full Token Due Diligence
|
||||
|
||||
> Full 4-step workflow: [`docs/token-due-diligence.md`](../../docs/token-due-diligence.md)
|
||||
When the user asks for a full token research / due diligence, follow the steps in [`docs/workflow-token-research.md`](../../docs/workflow-token-research.md).
|
||||
|
||||
Steps: `token info` → `token security` → `token pool` → `token holders/traders` (smart money signals).
|
||||
Steps: `token info` → `token security` → `token pool` → market heat check → `token holders/traders` (smart money signals) → Decision Framework.
|
||||
|
||||
**For a more comprehensive report** (user asks for a "deep report", "full analysis", "is this worth a large position"), use the extended workflow: [`docs/workflow-project-deep-report.md`](../../docs/workflow-project-deep-report.md). This adds a scored multi-dimension analysis (fundamentals + security + liquidity + smart money conviction + price action) and produces a full written report.
|
||||
|
||||
**For active risk monitoring** on a held position (user asks "any risk warnings", "are whales dumping", "is liquidity still healthy"), follow: [`docs/workflow-risk-warning.md`](../../docs/workflow-risk-warning.md). Uses `token security` + `token pool` + `token holders` to flag whale exits, liquidity drain, and developer dumps.
|
||||
|
||||
---
|
||||
|
||||
@@ -488,21 +532,31 @@ Social: @{link.twitter_username} | {link.website} | {link.telegram}
|
||||
|
||||
If any social fields are empty, omit them rather than showing `null`.
|
||||
|
||||
### `token security` — Risk Summary
|
||||
### `token security` — Risk Assessment Summary
|
||||
|
||||
Present as a risk table with a clear verdict:
|
||||
After fetching security data, present a structured risk summary using this format:
|
||||
|
||||
```
|
||||
Security check: {symbol}
|
||||
✅ / ⚠️ / ❌ Honeypot: {is_honeypot}
|
||||
✅ / ⚠️ / ❌ Open source: {open_source}
|
||||
✅ / ⚠️ / ❌ Renounced: {owner_renounced} (or renounced_mint + renounced_freeze for SOL)
|
||||
✅ / ⚠️ / ❌ Buy/Sell tax: {buy_tax} / {sell_tax}
|
||||
✅ / ⚠️ / ❌ Top-10 concentration: {top_10_holder_rate}
|
||||
✅ / ⚠️ / ❌ Rug ratio: {rug_ratio}
|
||||
Token: {symbol} | Chain: {chain} | Address: {short address}
|
||||
─── Security ──────────────────────────────────────
|
||||
Contract verified: ✅ yes / 🚫 no / ⚠️ unknown
|
||||
Owner renounced: ✅ yes / 🚫 no / ⚠️ unknown
|
||||
Honeypot: ✅ no / 🚫 YES — DO NOT BUY
|
||||
Mint renounced (SOL): ✅ yes / ⚠️ no
|
||||
Freeze renounced(SOL):✅ yes / ⚠️ no
|
||||
Rug risk score: {rug_ratio} → ✅ <0.1 Low / ⚠️ 0.1–0.3 Med / 🚫 >0.3 High
|
||||
Top-10 holder %: {top_10_holder_rate%} → ✅ <20% / ⚠️ 20–50% / 🚫 >50%
|
||||
Dev still holding: ✅ sold (creator_close) / ⚠️ holding (creator_hold)
|
||||
Sniper wallets: ✅ <5 / ⚠️ 5–20 / 🚫 >20
|
||||
─── Smart Money ───────────────────────────────────
|
||||
SM holders: {smart_wallets} KOL holders: {renowned_wallets}
|
||||
─── Verdict ───────────────────────────────────────
|
||||
🟢 Clean — worth researching
|
||||
🟡 Mixed signals — proceed with caution
|
||||
🔴 Red flags present — skip or verify manually
|
||||
```
|
||||
|
||||
Then give a one-line verdict: "Safe to proceed", "Proceed with caution", or "High risk — do not buy".
|
||||
**If `is_honeypot = "yes"`, stop immediately and display: "🚫 HONEYPOT DETECTED — Do not buy this token." Do NOT proceed to further analysis steps.**
|
||||
|
||||
### `token holders` / `token traders` — Ranked Table
|
||||
|
||||
|
||||
@@ -36,9 +36,9 @@ Use the `gmgn-cli` tool to query on-chain tracking data based on the user's requ
|
||||
- **Cluster signal** — When multiple followed/tracked wallets trade the same token in the same direction within a short time window, this is a stronger conviction signal than a single wallet. Highlight this pattern when it appears in results.
|
||||
|
||||
**When to use which sub-command:**
|
||||
- `track follow-wallet` — user asks "what did the wallets I follow trade?", "show me my follow list trades", "追踪关注的钱包交易动态" → requires wallets followed via GMGN platform
|
||||
- `track kol` — user asks "what are KOLs buying?", "KOL 最近在买什么", "show me influencer trades" → returns trades from known KOL wallets
|
||||
- `track smartmoney` — user asks "what is smart money doing?", "聪明钱最近在买什么", "show me whale trades" → returns trades from smart money / whale wallets
|
||||
- `track follow-wallet` — user asks "what did the wallets I follow trade?", "show me my follow list trades", "show my followed wallet activity" → requires wallets followed via GMGN platform
|
||||
- `track kol` — user asks "what are KOLs buying?", "show me influencer trades", "what are KOLs doing recently" → returns trades from known KOL wallets
|
||||
- `track smartmoney` — user asks "what is smart money doing?", "show me whale trades", "what is smart money buying recently" → returns trades from smart money / whale wallets
|
||||
|
||||
**Do NOT confuse these three:**
|
||||
- `follow-wallet` = wallets the user has personally followed on GMGN
|
||||
@@ -181,6 +181,53 @@ The response is an object with a `list` array. Each item in `list` contains:
|
||||
| `maker_info.twitter_username` | KOL's Twitter username |
|
||||
| `maker_info.tags` | Wallet tags (e.g. `kol`, `smart_degen`, `photon`) |
|
||||
|
||||
## Smart Money Behavior Interpretation
|
||||
|
||||
After receiving trade data, interpret the signals using these frameworks before presenting results. Do not just list trades — analyze what they mean.
|
||||
|
||||
### 1. Signal Strength Levels
|
||||
|
||||
| Level | Criteria |
|
||||
|-------|----------|
|
||||
| Weak | 1 KOL buys |
|
||||
| Medium | 2–3 smart money buys in the same direction, OR 1 smart money full position open |
|
||||
| Strong | ≥ 3 smart money wallets same direction within 30 min (cluster signal) |
|
||||
| Very Strong | Cluster signal + full position opens + KOL joining the same trade |
|
||||
|
||||
### 2. Reading `is_open_or_close` — Conviction Signals
|
||||
|
||||
The field has opposite meanings by sub-command:
|
||||
|
||||
- **`follow-wallet`**: `1` = full position open or close; `0` = partial add or reduce.
|
||||
- **`kol` / `smartmoney`**: `0` = position opened / added; `1` = position closed / reduced.
|
||||
|
||||
Full position events (full open or full close) carry much stronger conviction than partial adds. A wallet opening a full new position signals high confidence. A wallet doing a full close signals they are exiting completely — treat this as a potential exit signal for that token.
|
||||
|
||||
### 3. Using `price_change` to Evaluate Track Record
|
||||
|
||||
`price_change` is a ratio of current price vs price at trade time:
|
||||
- `price_change > 2` → this wallet's trade aged well (token is now 2x+ since they bought) — strong conviction signal
|
||||
- `price_change 1–2` → modest gain, trade is in profit
|
||||
- `price_change < 1` → trade is underwater (current price below entry)
|
||||
|
||||
Use this to build a mental model of a wallet's past performance before acting on their current trades.
|
||||
|
||||
### 4. Cluster Signal Detection
|
||||
|
||||
When multiple trades hit the same `base_address` in a short time window, this is a convergence signal — stronger than any single trade. To identify:
|
||||
- Group results by `base_address`
|
||||
- Count distinct `maker` addresses trading the same direction
|
||||
- If ≥ 3 distinct wallets buy the same token within ~30 min → highlight as **cluster signal**
|
||||
|
||||
Cluster signals from `smartmoney` are stronger than from `kol` alone.
|
||||
|
||||
### 5. Red Flags in Smart Money Data
|
||||
|
||||
- **Smart money selling** (`side = sell` + `is_open_or_close` = full close) → exit signal — evaluate whether to exit or reduce position
|
||||
- **Only KOL buying, zero smart_degen** → social hype without fundamental backing; higher risk
|
||||
- **Renowned buying + smart money selling simultaneously** → divergence signal — insiders may be distributing into retail/KOL demand; high risk
|
||||
- **Single very large buy, no follow-through** → may be one-off; wait for confirmation from other wallets
|
||||
|
||||
## Output Format
|
||||
|
||||
### `track follow-wallet` / `track kol` / `track smartmoney` — Trade Feed
|
||||
@@ -196,6 +243,33 @@ Group by token if multiple trades hit the same token. Highlight tokens where sev
|
||||
|
||||
For `follow-wallet`, also show `is_open_or_close`: flag full position opens/closes distinctly from partial adds/reduces.
|
||||
|
||||
### Cluster Signal Summary
|
||||
|
||||
After presenting the trade feed, check for convergence signals. If ≥ 2 distinct wallets traded the same token in the same direction, display a summary block:
|
||||
|
||||
```
|
||||
⚡ Convergence Signals
|
||||
──────────────────────────────────────────
|
||||
TOKEN_X ({short_address})
|
||||
5 smart money wallets — all BUY — $42,300 total — within 15 min
|
||||
Signal strength: STRONG
|
||||
|
||||
TOKEN_Y ({short_address})
|
||||
2 KOL wallets — BUY (full open) — $8,100 total
|
||||
Signal strength: MEDIUM
|
||||
```
|
||||
|
||||
For STRONG signals: proceed to full token research before acting — see [`docs/workflow-token-research.md`](../../docs/workflow-token-research.md)
|
||||
For MEDIUM signals: monitor and wait for more wallets to confirm before acting.
|
||||
|
||||
If no convergence signals are detected: output "No cluster signals detected in this result set."
|
||||
|
||||
To research any token surfaced by smart money activity, follow [`docs/workflow-token-research.md`](../../docs/workflow-token-research.md)
|
||||
|
||||
**Smart money leaderboard / wallet profiling:** When the user asks "which smart money wallets are best to follow", "rank wallets by win rate", or wants to compare wallet performance — use `track smartmoney` to collect active wallet addresses, then batch-query their stats via `gmgn-portfolio stats`. Full workflow: [`docs/workflow-smart-money-profile.md`](../../docs/workflow-smart-money-profile.md)
|
||||
|
||||
**Daily brief:** When the user asks for a market overview ("what's the market like today", "what is smart money buying today", "give me a daily brief") — combine `track smartmoney` + `track kol` with `gmgn-market trending`. Full workflow: [`docs/workflow-daily-brief.md`](../../docs/workflow-daily-brief.md)
|
||||
|
||||
## Safety Constraints
|
||||
|
||||
- **`track follow-wallet` requires `GMGN_PRIVATE_KEY`** — this signing key is linked to your GMGN account. It is used for authentication only (no on-chain access), but must be protected like any credential. Never expose it in logs or command output.
|
||||
|
||||
Reference in New Issue
Block a user