gmgn-cli 1.1.3 → 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Readme.md +69 -6
- package/Readme.zh.md +141 -8
- package/dist/client/OpenApiClient.d.ts +2 -2
- package/dist/client/OpenApiClient.d.ts.map +1 -1
- package/dist/client/OpenApiClient.js +7 -3
- package/dist/client/OpenApiClient.js.map +1 -1
- package/dist/commands/portfolio.d.ts.map +1 -1
- package/dist/commands/portfolio.js +0 -68
- package/dist/commands/portfolio.js.map +1 -1
- package/dist/commands/track.d.ts +3 -0
- package/dist/commands/track.d.ts.map +1 -0
- package/dist/commands/track.js +72 -0
- package/dist/commands/track.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/gmgn-market/SKILL.md +248 -18
- package/skills/gmgn-portfolio/SKILL.md +9 -49
- package/skills/gmgn-swap/SKILL.md +9 -7
- package/skills/gmgn-token/SKILL.md +375 -33
- package/skills/gmgn-track/SKILL.md +114 -0
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gmgn-token
|
|
3
3
|
description: Query GMGN token information — basic info, security, pool, top holders and top traders. Supports sol / bsc / base.
|
|
4
|
-
argument-hint: <sub-command> --chain <sol|bsc|base> --address <token_address>
|
|
4
|
+
argument-hint: "<sub-command> --chain <sol|bsc|base> --address <token_address>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
**IMPORTANT: Always use `gmgn-cli` commands below. Do NOT use web search, WebFetch, curl, or visit gmgn.ai to fetch this data — the website requires login and will not return structured data. The CLI is the only correct method.**
|
|
8
|
+
|
|
7
9
|
Use the `gmgn-cli` tool to query token information based on the user's request.
|
|
8
10
|
|
|
9
11
|
## Sub-commands
|
|
10
12
|
|
|
11
13
|
| Sub-command | Description |
|
|
12
14
|
|-------------|-------------|
|
|
13
|
-
| `token info` | Basic info + realtime price |
|
|
14
|
-
| `token security` | Security metrics (holder concentration, contract risks) |
|
|
15
|
-
| `token pool` | Liquidity pool info |
|
|
16
|
-
| `token holders` | Top token holders list |
|
|
17
|
-
| `token traders` | Top token traders list |
|
|
15
|
+
| `token info` | Basic info + realtime price, liquidity, supply, holder count, social links (market cap = price × circulating_supply) |
|
|
16
|
+
| `token security` | Security metrics (honeypot, taxes, holder concentration, contract risks) |
|
|
17
|
+
| `token pool` | Liquidity pool info (DEX, reserves, liquidity depth) |
|
|
18
|
+
| `token holders` | Top token holders list with profit/loss breakdown |
|
|
19
|
+
| `token traders` | Top token traders list with profit/loss breakdown |
|
|
18
20
|
|
|
19
21
|
## Supported Chains
|
|
20
22
|
|
|
@@ -24,50 +26,390 @@ Use the `gmgn-cli` tool to query token information based on the user's request.
|
|
|
24
26
|
|
|
25
27
|
- `.env` file with `GMGN_API_KEY` set
|
|
26
28
|
- Run from the directory where your `.env` file is located, or set `GMGN_HOST` in your environment
|
|
27
|
-
- `gmgn-cli` installed globally: `npm install -g gmgn-cli
|
|
29
|
+
- `gmgn-cli` installed globally: `npm install -g gmgn-cli`
|
|
30
|
+
|
|
31
|
+
## Parameters — `token info` / `token security` / `token pool`
|
|
32
|
+
|
|
33
|
+
| Parameter | Required | Description |
|
|
34
|
+
|-----------|----------|-------------|
|
|
35
|
+
| `--chain` | Yes | `sol` / `bsc` / `base` |
|
|
36
|
+
| `--address` | Yes | Token contract address |
|
|
37
|
+
| `--raw` | No | Output raw single-line JSON (for piping or further processing) |
|
|
38
|
+
|
|
39
|
+
## Parameters — `token holders` / `token traders`
|
|
40
|
+
|
|
41
|
+
| Parameter | Required | Default | Description |
|
|
42
|
+
|-----------|----------|---------|-------------|
|
|
43
|
+
| `--chain` | Yes | — | `sol` / `bsc` / `base` |
|
|
44
|
+
| `--address` | Yes | — | Token contract address |
|
|
45
|
+
| `--limit` | No | `20` | Number of results, max `100` |
|
|
46
|
+
| `--order-by` | No | `amount_percentage` | Sort field — see table below |
|
|
47
|
+
| `--direction` | No | `desc` | Sort direction: `asc` / `desc` |
|
|
48
|
+
| `--tag` | No | `renowned` | Wallet filter: `renowned` (KOL wallets) / `smart_degen` (smart money) |
|
|
49
|
+
| `--raw` | No | — | Output raw single-line JSON |
|
|
50
|
+
|
|
51
|
+
### `--order-by` Values
|
|
52
|
+
|
|
53
|
+
| Value | Description |
|
|
54
|
+
|-------|-------------|
|
|
55
|
+
| `amount_percentage` | Sort by percentage of total supply held (default) |
|
|
56
|
+
| `profit` | Sort by realized profit in USD |
|
|
57
|
+
| `unrealized_profit` | Sort by unrealized profit in USD |
|
|
58
|
+
| `buy_volume_cur` | Sort by buy volume |
|
|
59
|
+
| `sell_volume_cur` | Sort by sell volume |
|
|
60
|
+
|
|
61
|
+
### `--tag` Values
|
|
62
|
+
|
|
63
|
+
| Value | Description |
|
|
64
|
+
|-------|-------------|
|
|
65
|
+
| `renowned` | KOL / well-known wallets (influencers, funds, public figures) |
|
|
66
|
+
| `smart_degen` | Smart money wallets (historically high-performing traders) |
|
|
67
|
+
|
|
68
|
+
## Response Field Reference
|
|
69
|
+
|
|
70
|
+
### `token info` — Key Fields
|
|
71
|
+
|
|
72
|
+
The response has four nested objects: `pool`, `link`, `stat`, `wallet_tags_stat`. Access fields with dot notation when parsing (e.g. `link.website`, `stat.top_10_holder_rate`).
|
|
73
|
+
|
|
74
|
+
**Top-level Fields**
|
|
75
|
+
|
|
76
|
+
| Field | Description |
|
|
77
|
+
|-------|-------------|
|
|
78
|
+
| `address` | Token contract address |
|
|
79
|
+
| `symbol` / `name` | Token ticker and full name |
|
|
80
|
+
| `decimals` | Token decimal places |
|
|
81
|
+
| `total_supply` | Total token supply (same as `circulating_supply` for most tokens) |
|
|
82
|
+
| `circulating_supply` | Circulating supply |
|
|
83
|
+
| `max_supply` | Maximum supply |
|
|
84
|
+
| `price` | Current price in USD |
|
|
85
|
+
| `liquidity` | Total liquidity in USD (from biggest pool) |
|
|
86
|
+
| `holder_count` | Number of unique token holders |
|
|
87
|
+
| `logo` | Token logo image URL |
|
|
88
|
+
| `creation_timestamp` | Token creation time (Unix seconds) |
|
|
89
|
+
| `open_timestamp` | Time the token opened for trading (Unix seconds) |
|
|
90
|
+
| `biggest_pool_address` | Address of the main liquidity pool |
|
|
91
|
+
| `og` | Whether the token is flagged as an OG token (`true` / `false`) |
|
|
92
|
+
|
|
93
|
+
**`pool` Object** — Main liquidity pool details
|
|
94
|
+
|
|
95
|
+
| Field | Description |
|
|
96
|
+
|-------|-------------|
|
|
97
|
+
| `pool.pool_address` | Pool contract address |
|
|
98
|
+
| `pool.quote_address` | Quote token address (e.g. USDC, SOL, WETH) |
|
|
99
|
+
| `pool.quote_symbol` | Quote token symbol (e.g. `USDC`, `SOL`) |
|
|
100
|
+
| `pool.exchange` | DEX name (e.g. `meteora_dlmm`, `raydium`, `pump_amm`, `uniswap_v3`) |
|
|
101
|
+
| `pool.liquidity` | Pool liquidity in USD |
|
|
102
|
+
| `pool.base_reserve` | Base token reserve amount |
|
|
103
|
+
| `pool.quote_reserve` | Quote token reserve amount |
|
|
104
|
+
| `pool.base_reserve_value` | Base reserve USD value |
|
|
105
|
+
| `pool.quote_reserve_value` | Quote reserve USD value |
|
|
106
|
+
| `pool.fee_ratio` | Pool trading fee ratio (e.g. `0.1` = 0.1%) |
|
|
107
|
+
| `pool.creation_timestamp` | Pool creation time (Unix seconds) |
|
|
108
|
+
|
|
109
|
+
**`link` Object** — Social and explorer links
|
|
110
|
+
|
|
111
|
+
| Field | Description |
|
|
112
|
+
|-------|-------------|
|
|
113
|
+
| `link.twitter_username` | Twitter / X username (not full URL) |
|
|
114
|
+
| `link.website` | Project website URL |
|
|
115
|
+
| `link.telegram` | Telegram URL |
|
|
116
|
+
| `link.discord` | Discord URL |
|
|
117
|
+
| `link.instagram` | Instagram URL |
|
|
118
|
+
| `link.tiktok` | TikTok URL |
|
|
119
|
+
| `link.youtube` | YouTube URL |
|
|
120
|
+
| `link.description` | Token description text |
|
|
121
|
+
| `link.gmgn` | GMGN token page URL |
|
|
122
|
+
| `link.geckoterminal` | GeckoTerminal page URL |
|
|
123
|
+
| `link.verify_status` | Social verification status (integer) |
|
|
124
|
+
|
|
125
|
+
**`stat` Object** — On-chain statistics
|
|
126
|
+
|
|
127
|
+
| Field | Description |
|
|
128
|
+
|-------|-------------|
|
|
129
|
+
| `stat.holder_count` | Number of holders (same as top-level `holder_count`) |
|
|
130
|
+
| `stat.bluechip_owner_count` | Number of bluechip wallet holders |
|
|
131
|
+
| `stat.bluechip_owner_percentage` | Ratio of holders that are bluechip wallets (0–1) |
|
|
132
|
+
| `stat.top_10_holder_rate` | Ratio of supply held by top 10 wallets (0–1) |
|
|
133
|
+
| `stat.dev_team_hold_rate` | Ratio held by dev team wallets |
|
|
134
|
+
| `stat.creator_hold_rate` | Ratio held by creator wallet |
|
|
135
|
+
| `stat.creator_token_balance` | Raw creator token balance |
|
|
136
|
+
| `stat.top_rat_trader_percentage` | Ratio of volume from rat/insider traders |
|
|
137
|
+
| `stat.top_bundler_trader_percentage` | Ratio of volume from bundler bots |
|
|
138
|
+
| `stat.top_entrapment_trader_percentage` | Ratio of volume from entrapment traders |
|
|
139
|
+
| `stat.bot_degen_count` | Number of bot degen wallets |
|
|
140
|
+
| `stat.bot_degen_rate` | Ratio of bot degen wallets |
|
|
141
|
+
| `stat.fresh_wallet_rate` | Ratio of fresh/new wallets among holders |
|
|
142
|
+
|
|
143
|
+
**`wallet_tags_stat` Object** — Wallet type breakdown
|
|
144
|
+
|
|
145
|
+
| Field | Description |
|
|
146
|
+
|-------|-------------|
|
|
147
|
+
| `wallet_tags_stat.smart_wallets` | Number of smart money wallets holding the token |
|
|
148
|
+
| `wallet_tags_stat.renowned_wallets` | Number of renowned / KOL wallets holding the token |
|
|
149
|
+
| `wallet_tags_stat.sniper_wallets` | Number of sniper wallets |
|
|
150
|
+
| `wallet_tags_stat.rat_trader_wallets` | Number of rat trader wallets |
|
|
151
|
+
| `wallet_tags_stat.bundler_wallets` | Number of bundler bot wallets |
|
|
152
|
+
| `wallet_tags_stat.whale_wallets` | Number of whale wallets |
|
|
153
|
+
| `wallet_tags_stat.fresh_wallets` | Number of fresh wallets |
|
|
154
|
+
| `wallet_tags_stat.top_wallets` | Number of top-ranked wallets |
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### `token security` — Key Fields
|
|
159
|
+
|
|
160
|
+
**Contract Safety**
|
|
28
161
|
|
|
29
|
-
|
|
162
|
+
| Field | Chains | Description |
|
|
163
|
+
|-------|--------|-------------|
|
|
164
|
+
| `is_honeypot` | BSC / Base | Whether token is a honeypot (`"yes"` / `"no"`); empty string on SOL |
|
|
165
|
+
| `open_source` | all | Contract source code verified: `"yes"` / `"no"` / `"unknown"` |
|
|
166
|
+
| `owner_renounced` | all | Contract ownership renounced: `"yes"` / `"no"` / `"unknown"` |
|
|
167
|
+
| `renounced_mint` | SOL | Mint authority renounced (SOL-specific; always `false` on EVM) |
|
|
168
|
+
| `renounced_freeze_account` | SOL | Freeze authority renounced (SOL-specific; always `false` on EVM) |
|
|
169
|
+
| `buy_tax` / `sell_tax` | all | Tax ratio — e.g. `0.03` = 3%; `0` = no tax |
|
|
30
170
|
|
|
31
|
-
|
|
32
|
-
|--------|-------------|
|
|
33
|
-
| `--chain` | Required. `sol` / `bsc` / `base` |
|
|
34
|
-
| `--address` | Required. Token contract address |
|
|
171
|
+
**Holder Concentration & Risk**
|
|
35
172
|
|
|
36
|
-
|
|
173
|
+
| Field | Description |
|
|
174
|
+
|-------|-------------|
|
|
175
|
+
| `top_10_holder_rate` | Ratio of supply held by top 10 wallets (0–1); higher = more concentrated |
|
|
176
|
+
| `dev_team_hold_rate` | Ratio held by dev team wallets |
|
|
177
|
+
| `creator_balance_rate` | Ratio held by the token creator wallet |
|
|
178
|
+
| `creator_token_status` | Dev holding status: `creator_hold` (still holding) / `creator_close` (sold/closed) |
|
|
179
|
+
| `suspected_insider_hold_rate` | Ratio held by suspected insider wallets |
|
|
37
180
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
|
41
|
-
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
45
|
-
|
|
|
181
|
+
**Trading Risk**
|
|
182
|
+
|
|
183
|
+
| Field | Description |
|
|
184
|
+
|-------|-------------|
|
|
185
|
+
| `rug_ratio` | Rug pull risk score (0–1); higher = more risky |
|
|
186
|
+
| `is_wash_trading` | Whether wash trading activity is detected (`true` / `false`) |
|
|
187
|
+
| `rat_trader_amount_rate` | Ratio of volume from sneak/insider trading |
|
|
188
|
+
| `bundler_trader_amount_rate` | Ratio of volume from bundle trading (bot-driven) |
|
|
189
|
+
| `sniper_count` | Number of sniper wallets that bought at launch |
|
|
190
|
+
| `burn_status` | Liquidity pool burn status (e.g. `"burn"` = burned, `""` = not burned) |
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
### `token pool` — Key Fields
|
|
195
|
+
|
|
196
|
+
| Field | Description |
|
|
197
|
+
|-------|-------------|
|
|
198
|
+
| `address` | Pool contract address |
|
|
199
|
+
| `base_address` | Base token address (the queried token) |
|
|
200
|
+
| `quote_address` | Quote token address (e.g. SOL, USDC, WETH) |
|
|
201
|
+
| `exchange` | DEX name (e.g. `raydium`, `pump_amm`, `uniswap_v3`, `pancakeswap`) |
|
|
202
|
+
| `liquidity` | Pool liquidity in USD |
|
|
203
|
+
| `base_reserve` | Base token reserve amount |
|
|
204
|
+
| `quote_reserve` | Quote token reserve amount |
|
|
205
|
+
| `price` | Current price in USD derived from pool reserves |
|
|
206
|
+
| `creation_timestamp` | Pool creation time (Unix seconds) |
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
### `token holders` / `token traders` — Item Fields
|
|
211
|
+
|
|
212
|
+
Each item in the result array:
|
|
213
|
+
|
|
214
|
+
| Field | Description |
|
|
215
|
+
|-------|-------------|
|
|
216
|
+
| `address` | Wallet address |
|
|
217
|
+
| `name` | Wallet label or alias (if known) |
|
|
218
|
+
| `tags` | Wallet tags (e.g. `["renowned"]`, `["smart_degen"]`) |
|
|
219
|
+
| `amount_percentage` | Percentage of total supply held (0–1); e.g. `0.05` = 5% |
|
|
220
|
+
| `amount` | Raw token amount held |
|
|
221
|
+
| `value` | USD value of holdings |
|
|
222
|
+
| `profit` | Realized profit in USD (positive = profit, negative = loss) |
|
|
223
|
+
| `unrealized_profit` | Unrealized profit in USD based on current price |
|
|
224
|
+
| `buy_volume_cur` | Total buy volume in USD for the current period |
|
|
225
|
+
| `sell_volume_cur` | Total sell volume in USD for the current period |
|
|
226
|
+
| `profit_change` | Profit change ratio |
|
|
227
|
+
|
|
228
|
+
---
|
|
46
229
|
|
|
47
230
|
## Usage Examples
|
|
48
231
|
|
|
232
|
+
### `token info` — Fetch Basic Info and Price
|
|
233
|
+
|
|
49
234
|
```bash
|
|
50
|
-
#
|
|
51
|
-
gmgn-cli token info --chain sol --address
|
|
235
|
+
# Get current price and market cap for a SOL token
|
|
236
|
+
gmgn-cli token info --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
|
|
52
237
|
|
|
53
|
-
#
|
|
54
|
-
gmgn-cli token
|
|
238
|
+
# Get basic info for a BSC token
|
|
239
|
+
gmgn-cli token info --chain bsc --address 0x2170Ed0880ac9A755fd29B2688956BD959F933F8
|
|
55
240
|
|
|
56
|
-
#
|
|
57
|
-
gmgn-cli token
|
|
241
|
+
# Get basic info for a Base token
|
|
242
|
+
gmgn-cli token info --chain base --address 0x4200000000000000000000000000000000000006
|
|
58
243
|
|
|
59
|
-
#
|
|
60
|
-
gmgn-cli token
|
|
244
|
+
# Raw JSON output for downstream processing
|
|
245
|
+
gmgn-cli token info --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v --raw
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
### `token security` — Check Safety Before Buying
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
# Check if a SOL token has renounced mint + freeze authority
|
|
252
|
+
gmgn-cli token security --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
|
|
253
|
+
|
|
254
|
+
# Check if a BSC token is honeypot and whether contract is verified
|
|
255
|
+
gmgn-cli token security --chain bsc --address 0x2170Ed0880ac9A755fd29B2688956BD959F933F8
|
|
256
|
+
|
|
257
|
+
# Check a Base token for tax, rug ratio, and insider concentration
|
|
258
|
+
gmgn-cli token security --chain base --address 0x4200000000000000000000000000000000000006
|
|
61
259
|
|
|
62
|
-
#
|
|
63
|
-
gmgn-cli token
|
|
260
|
+
# Raw output for parsing key fields (e.g. is_honeypot, buy_tax, rug_ratio)
|
|
261
|
+
gmgn-cli token security --chain bsc --address 0x2170Ed0880ac9A755fd29B2688956BD959F933F8 --raw
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### `token pool` — Check Liquidity Depth
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
# Get pool info for a SOL token (liquidity, reserves, DEX)
|
|
268
|
+
gmgn-cli token pool --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
|
|
269
|
+
|
|
270
|
+
# Get pool info for a BSC token
|
|
271
|
+
gmgn-cli token pool --chain bsc --address 0x2170Ed0880ac9A755fd29B2688956BD959F933F8
|
|
272
|
+
```
|
|
64
273
|
|
|
65
|
-
|
|
274
|
+
### `token holders` — Analyze Holder Distribution
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
# Top 20 holders by supply percentage (default)
|
|
278
|
+
gmgn-cli token holders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
|
|
279
|
+
|
|
280
|
+
# Top 50 holders sorted by percentage held
|
|
281
|
+
gmgn-cli token holders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
282
|
+
--limit 50 --order-by amount_percentage --direction desc
|
|
283
|
+
|
|
284
|
+
# Top 50 smart money holders (highest conviction wallets)
|
|
285
|
+
gmgn-cli token holders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
286
|
+
--limit 50 --tag smart_degen --order-by amount_percentage
|
|
287
|
+
|
|
288
|
+
# Top KOL wallets ranked by realized profit (who has already taken profit)
|
|
289
|
+
gmgn-cli token holders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
290
|
+
--tag renowned --order-by profit --direction desc --limit 20
|
|
291
|
+
|
|
292
|
+
# Smart money with most unrealized profit (who is sitting on biggest gains)
|
|
293
|
+
gmgn-cli token holders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
294
|
+
--tag smart_degen --order-by unrealized_profit --direction desc --limit 20
|
|
295
|
+
|
|
296
|
+
# Holders who have been buying the most recently (buy momentum signal)
|
|
297
|
+
gmgn-cli token holders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
298
|
+
--tag smart_degen --order-by buy_volume_cur --direction desc --limit 20
|
|
299
|
+
|
|
300
|
+
# Holders who are selling the most (exit signal / distribution warning)
|
|
301
|
+
gmgn-cli token holders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
302
|
+
--tag renowned --order-by sell_volume_cur --direction desc --limit 20
|
|
303
|
+
|
|
304
|
+
# BSC token holders — KOL wallets by profit
|
|
305
|
+
gmgn-cli token holders --chain bsc --address 0x2170Ed0880ac9A755fd29B2688956BD959F933F8 \
|
|
306
|
+
--tag renowned --order-by profit --direction desc --limit 50
|
|
307
|
+
|
|
308
|
+
# Raw output for downstream analysis
|
|
309
|
+
gmgn-cli token holders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
310
|
+
--limit 100 --raw
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### `token traders` — Find Active Traders
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
# Top 20 active traders by supply held (default)
|
|
317
|
+
gmgn-cli token traders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
|
|
318
|
+
|
|
319
|
+
# Smart money traders ranked by realized profit
|
|
320
|
+
gmgn-cli token traders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
321
|
+
--tag smart_degen --order-by profit --direction desc --limit 50
|
|
322
|
+
|
|
323
|
+
# KOL traders ranked by unrealized profit (still holding with paper gains)
|
|
324
|
+
gmgn-cli token traders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
325
|
+
--tag renowned --order-by unrealized_profit --direction desc --limit 20
|
|
326
|
+
|
|
327
|
+
# Smart money traders with highest buy volume (aggressive accumulation)
|
|
328
|
+
gmgn-cli token traders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
329
|
+
--tag smart_degen --order-by buy_volume_cur --direction desc --limit 20
|
|
330
|
+
|
|
331
|
+
# Smart money traders ranked by sell volume (who is distributing)
|
|
332
|
+
gmgn-cli token traders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
333
|
+
--tag smart_degen --order-by sell_volume_cur --direction desc --limit 20
|
|
334
|
+
|
|
335
|
+
# Worst performing KOL traders (who lost the most — contrarian signal)
|
|
336
|
+
gmgn-cli token traders --chain sol --address EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v \
|
|
337
|
+
--tag renowned --order-by profit --direction asc --limit 20
|
|
338
|
+
|
|
339
|
+
# BSC token traders by profit
|
|
340
|
+
gmgn-cli token traders --chain bsc --address 0x2170Ed0880ac9A755fd29B2688956BD959F933F8 \
|
|
341
|
+
--tag smart_degen --order-by profit --direction desc --limit 50
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
---
|
|
345
|
+
|
|
346
|
+
## Workflow: Full Token Due Diligence
|
|
347
|
+
|
|
348
|
+
Use this workflow before deciding to buy a token.
|
|
349
|
+
|
|
350
|
+
### Step 1 — Get basic info
|
|
351
|
+
|
|
352
|
+
```bash
|
|
66
353
|
gmgn-cli token info --chain sol --address <token_address> --raw
|
|
67
354
|
```
|
|
68
355
|
|
|
356
|
+
Check: `price`, `liquidity`, `holder_count`, `wallet_tags_stat.smart_wallets`, `wallet_tags_stat.renowned_wallets`, `link.website` / `link.twitter_username` / `link.telegram`.
|
|
357
|
+
|
|
358
|
+
**Red flags**: all `link.*` social fields empty, very low liquidity (<$10k), zero `wallet_tags_stat.smart_wallets` and `renowned_wallets`.
|
|
359
|
+
|
|
360
|
+
### Step 2 — Check security
|
|
361
|
+
|
|
362
|
+
```bash
|
|
363
|
+
gmgn-cli token security --chain sol --address <token_address> --raw
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
Check these fields and their safe thresholds:
|
|
367
|
+
|
|
368
|
+
| Field | Safe | Warning | Danger |
|
|
369
|
+
|-------|------|---------|--------|
|
|
370
|
+
| `is_honeypot` | `"no"` | — | `"yes"` → Do not buy |
|
|
371
|
+
| `open_source` | `"yes"` | `"unknown"` | `"no"` |
|
|
372
|
+
| `owner_renounced` | `"yes"` | `"unknown"` | `"no"` |
|
|
373
|
+
| `renounced_mint` (SOL) | `true` | — | `false` → mint risk |
|
|
374
|
+
| `renounced_freeze_account` (SOL) | `true` | — | `false` → freeze risk |
|
|
375
|
+
| `buy_tax` / `sell_tax` | `0` | `0.01–0.05` | `>0.10` → high tax |
|
|
376
|
+
| `top_10_holder_rate` | `<0.20` | `0.20–0.40` | `>0.50` → whale risk |
|
|
377
|
+
| `rug_ratio` | `<0.10` | `0.10–0.30` | `>0.30` → high rug risk |
|
|
378
|
+
| `creator_token_status` | `creator_close` | — | `creator_hold` → dev not sold |
|
|
379
|
+
| `sniper_count` | `<5` | `5–20` | `>20` → heavily sniped |
|
|
380
|
+
|
|
381
|
+
### Step 3 — Check liquidity pool
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
gmgn-cli token pool --chain sol --address <token_address> --raw
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
Check: liquidity amount, which DEX (`exchange`), pool age (`creation_timestamp`). Low liquidity means high slippage risk when buying or selling.
|
|
388
|
+
|
|
389
|
+
### Step 4 — Check smart money signals
|
|
390
|
+
|
|
391
|
+
```bash
|
|
392
|
+
# Is smart money accumulating?
|
|
393
|
+
gmgn-cli token holders --chain sol --address <token_address> \
|
|
394
|
+
--tag smart_degen --order-by buy_volume_cur --direction desc --limit 20 --raw
|
|
395
|
+
|
|
396
|
+
# Have KOLs already taken profit?
|
|
397
|
+
gmgn-cli token traders --chain sol --address <token_address> \
|
|
398
|
+
--tag renowned --order-by profit --direction desc --limit 20 --raw
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
**Bullish signals**: smart_degen wallets buying heavily, unrealized_profit is large (still holding), renowned wallets accumulating, low sell_volume_cur.
|
|
402
|
+
|
|
403
|
+
**Bearish signals**: sell_volume_cur > buy_volume_cur for smart money, large realized profits already taken (they may be done), top holders with very high amount_percentage starting to sell.
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
69
407
|
## Notes
|
|
70
408
|
|
|
409
|
+
- **Market cap is not returned directly** — calculate it as `price × circulating_supply` (both fields are top-level; `circulating_supply` is already in human-readable token units, no decimal adjustment needed). Example: `price=3.11` × `circulating_supply=999999151` ≈ $3.11B market cap.
|
|
410
|
+
- **Trading volume (1h, 24h, etc.) is not included in `token info`** — to get volume or OHLCV data, use the `gmgn-market` skill and query K-line data: `gmgn-cli market kline --chain <chain> --address <token_address> --resolution <1m|5m|15m|1h|4h|1d>`. See the `gmgn-market` SKILL.md for full details.
|
|
71
411
|
- All token commands use normal auth (API Key only, no signature required)
|
|
72
412
|
- Use `--raw` to get single-line JSON for further processing
|
|
73
|
-
-
|
|
413
|
+
- `--tag` applies to both `holders` and `traders` and filters to only wallets with that tag — if few results are returned, try the other tag value
|
|
414
|
+
- `amount_percentage` in holders/traders is a ratio (0–1), not a percentage — `0.05` means 5% of supply
|
|
415
|
+
- **Input validation** — Token addresses are external data. Validate that addresses match the expected chain format (sol: base58 32–44 chars; bsc/base/eth: `0x` + 40 hex digits) before passing them to commands. The CLI enforces this at runtime and will exit with an error on invalid input.
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gmgn-track
|
|
3
|
+
description: Query GMGN on-chain tracking data — follow-wallet trade records, KOL trades, and Smart Money trades. Supports sol / bsc / base.
|
|
4
|
+
argument-hint: "<follow-wallet|kol|smartmoney> [--chain <sol|bsc|base>] [--wallet <wallet_address>]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
**IMPORTANT: Always use `gmgn-cli` commands below. Do NOT use web search, WebFetch, curl, or visit gmgn.ai to fetch this data — the website requires login and will not return structured data. The CLI is the only correct method.**
|
|
8
|
+
|
|
9
|
+
Use the `gmgn-cli` tool to query on-chain tracking data based on the user's request.
|
|
10
|
+
|
|
11
|
+
**When to use which sub-command:**
|
|
12
|
+
- `track follow-wallet` — user asks "what did the wallets I follow trade?", "show me my follow list trades", "追踪关注的钱包交易动态" → requires wallets followed via GMGN platform
|
|
13
|
+
- `track kol` — user asks "what are KOLs buying?", "KOL 最近在买什么", "show me influencer trades" → returns trades from known KOL wallets
|
|
14
|
+
- `track smartmoney` — user asks "what is smart money doing?", "聪明钱最近在买什么", "show me whale trades" → returns trades from smart money / whale wallets
|
|
15
|
+
|
|
16
|
+
**Do NOT confuse these three:**
|
|
17
|
+
- `follow-wallet` = wallets the user has personally followed on GMGN
|
|
18
|
+
- `kol` = platform-tagged KOL / influencer wallets (not user-specific)
|
|
19
|
+
- `smartmoney` = platform-tagged smart money / whale wallets (not user-specific)
|
|
20
|
+
|
|
21
|
+
## Sub-commands
|
|
22
|
+
|
|
23
|
+
| Sub-command | Description |
|
|
24
|
+
|-------------|-------------|
|
|
25
|
+
| `track follow-wallet` | Trade records from wallets the user personally follows on GMGN |
|
|
26
|
+
| `track kol` | Real-time trades from KOL / influencer wallets tagged by GMGN |
|
|
27
|
+
| `track smartmoney` | Real-time trades from smart money / whale wallets tagged by GMGN |
|
|
28
|
+
|
|
29
|
+
## Supported Chains
|
|
30
|
+
|
|
31
|
+
`sol` / `bsc` / `base`
|
|
32
|
+
|
|
33
|
+
## Prerequisites
|
|
34
|
+
|
|
35
|
+
- `.env` file with `GMGN_API_KEY` set
|
|
36
|
+
- `GMGN_PRIVATE_KEY` required for `track follow-wallet` (signature auth); not needed for `track kol` / `track smartmoney`
|
|
37
|
+
- Run from the directory where your `.env` file is located, or set `GMGN_HOST` in your environment
|
|
38
|
+
- `gmgn-cli` installed globally: `npm install -g gmgn-cli`
|
|
39
|
+
|
|
40
|
+
## Usage Examples
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Follow-wallet trades (all wallets you follow)
|
|
44
|
+
gmgn-cli track follow-wallet --chain sol
|
|
45
|
+
|
|
46
|
+
# Follow-wallet trades filtered by wallet
|
|
47
|
+
gmgn-cli track follow-wallet --chain sol --wallet <wallet_address>
|
|
48
|
+
|
|
49
|
+
# Follow-wallet filtered by trade direction
|
|
50
|
+
gmgn-cli track follow-wallet --chain sol --side buy
|
|
51
|
+
|
|
52
|
+
# Follow-wallet filtered by USD amount range
|
|
53
|
+
gmgn-cli track follow-wallet --chain sol --min-amount-usd 100 --max-amount-usd 10000
|
|
54
|
+
|
|
55
|
+
# KOL trade records (SOL, default)
|
|
56
|
+
gmgn-cli track kol --limit 10 --raw
|
|
57
|
+
|
|
58
|
+
# KOL trade records on SOL, buy only
|
|
59
|
+
gmgn-cli track kol --chain sol --side buy --limit 10 --raw
|
|
60
|
+
|
|
61
|
+
# Smart Money trade records (SOL, default)
|
|
62
|
+
gmgn-cli track smartmoney --limit 10 --raw
|
|
63
|
+
|
|
64
|
+
# Smart Money trade records, sell only
|
|
65
|
+
gmgn-cli track smartmoney --chain sol --side sell --limit 10 --raw
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## `track follow-wallet` Options
|
|
69
|
+
|
|
70
|
+
| Option | Description |
|
|
71
|
+
|--------|-------------|
|
|
72
|
+
| `--chain` | Required. `sol` / `bsc` / `base` |
|
|
73
|
+
| `--wallet <address>` | Filter by wallet address |
|
|
74
|
+
| `--limit <n>` | Page size (1–100, default 10) |
|
|
75
|
+
| `--side <side>` | Trade direction: `buy` / `sell` |
|
|
76
|
+
| `--filter <tag...>` | Repeatable filter conditions |
|
|
77
|
+
| `--min-amount-usd <n>` | Minimum trade amount (USD) |
|
|
78
|
+
| `--max-amount-usd <n>` | Maximum trade amount (USD) |
|
|
79
|
+
|
|
80
|
+
## `track kol` / `track smartmoney` Options
|
|
81
|
+
|
|
82
|
+
| Option | Description |
|
|
83
|
+
|--------|-------------|
|
|
84
|
+
| `--chain <chain>` | Chain: `sol` / `bsc` / `base` (default `sol`) |
|
|
85
|
+
| `--limit <n>` | Page size (1–200, default 100) |
|
|
86
|
+
| `--side <side>` | Filter by trade direction: `buy` / `sell` (client-side filter — applied locally after fetching results) |
|
|
87
|
+
|
|
88
|
+
## `track kol` / `track smartmoney` Response Fields
|
|
89
|
+
|
|
90
|
+
Each item in `list` contains:
|
|
91
|
+
|
|
92
|
+
| Field | Description |
|
|
93
|
+
|-------|-------------|
|
|
94
|
+
| `transaction_hash` | On-chain transaction hash |
|
|
95
|
+
| `maker` | Wallet address of the trader (KOL / Smart Money) |
|
|
96
|
+
| `side` | Trade direction: `buy` or `sell` |
|
|
97
|
+
| `base_address` | Token contract address |
|
|
98
|
+
| `base_token.symbol` | Token ticker symbol |
|
|
99
|
+
| `base_token.launchpad` | Launchpad platform (e.g. `pump`) |
|
|
100
|
+
| `amount_usd` | Trade value in USD |
|
|
101
|
+
| `token_amount` | Token quantity traded |
|
|
102
|
+
| `price_usd` | Token price in USD at time of trade |
|
|
103
|
+
| `buy_cost_usd` | Original buy cost in USD (0 if this record is the buy) |
|
|
104
|
+
| `is_open_or_close` | `0` = position opened / added, `1` = position closed / reduced |
|
|
105
|
+
| `timestamp` | Unix timestamp of the trade |
|
|
106
|
+
| `maker_info.twitter_username` | KOL's Twitter username |
|
|
107
|
+
| `maker_info.tags` | Wallet tags (e.g. `kol`, `smart_degen`, `photon`) |
|
|
108
|
+
|
|
109
|
+
## Notes
|
|
110
|
+
|
|
111
|
+
- `track kol` / `track smartmoney` use normal auth (API Key only, no signature required)
|
|
112
|
+
- `track follow-wallet` requires `GMGN_PRIVATE_KEY` for signature auth — and wallets must be followed via the GMGN platform first
|
|
113
|
+
- Use `--raw` to get single-line JSON for further processing
|
|
114
|
+
- `track kol` / `track smartmoney` `--side` is a **client-side filter** — the CLI fetches all results then filters locally; it is NOT sent to the API
|