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.
Works with
AI-first code editor with Composer
Before installing skills in Cursor, ensure your development environment meets these requirements:
node --versiongmgn-tokenExecute the skills CLI command in your project's root directory to begin installation:
Fetches gmgn-token from gmgnai/gmgn-skills and configures it for Cursor.
The CLI shows a list of agents. Use arrow keys and space to select Cursor:
Confirm successful installation by checking the skill directory location:
Restart Cursor to activate gmgn-token. Access via /gmgn-token in your agent's command palette.
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your environment. Always review source, verify the publisher, and test in isolation before production.
Submit your Claude Code skill and start earning
Create detailed user stories, acceptance criteria, and feature specs
Example
Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios
Reduce spec writing time by 50%, ensure comprehensive coverage
Research competitors, compare features, identify gaps
Example
Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities
Complete competitive research in 2 hours instead of 2 days
Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs
Example
Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale
1
total installs
1
this week
71
GitHub stars
0
upvotes
Run in your terminal
1
installs
1
this week
71
stars
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.
⚠️ IPv6 NOT SUPPORTED: If you get a 401 or 403 error and credentials look correct, check for IPv6 immediately: (1) list all network interfaces and their IPv6 addresses — run ifconfig | grep inet6 (macOS) or ip addr show | grep inet6 (Linux); (2) send a test request to https://ipv6.icanhazip.com — if the response is an IPv6 address, outbound traffic is going via IPv6. Tell the user immediately: "Please disable IPv6 on your network interface — gmgn-cli commands only work over IPv4."
IMPORTANT: Do NOT guess field names or values. When a field's meaning is unclear, look it up in the Response Field Reference tables below before using it.
Use the gmgn-cli tool to query token information based on the user's request.
0x... hex (BSC/Base).sol = Solana, bsc = BNB Smart Chain, base = Base (Coinbase L2).token info. Calculate as price × circulating_supply (both are top-level fields in the response, already in human-readable units).token holders returns wallets ranked by current balance.token traders covers both current holders and past traders.smart_degen) — Wallets with a proven track record of profitable trading, tagged by GMGN's algorithm. High smart_degen_count is a bullish signal.renowned) — Known influencer, fund, or public figure wallets, tagged by GMGN. Their positions are publicly tracked.is_honeypot); not applicable on SOL.renounced_mint (cannot create new supply) and renounced_freeze_account (cannot freeze wallets) both true is the safe baseline. On EVM: owner_renounced "yes" means no admin backdoors.0.3 are high-risk. Do not treat as a binary safe/unsafe flag — use in combination with other signals.is_on_curve: true means the token has not graduated yet.smart_degen (smart money), renowned (KOL), sniper (launched at token open), bundler (bot-bundled buy), rat_trader (insider/sneak trading). Use --tag to filter token holders / token traders by these labels.| Sub-command | Description |
|---|---|
token info |
Basic info + realtime price, liquidity, supply, holder count, social links (market cap = price × circulating_supply) |
token security |
Security metrics (honeypot, taxes, holder concentration, contract risks) |
token pool |
Liquidity pool info (DEX, reserves, liquidity depth) |
token holders |
Top token holders list with profit/loss breakdown |
token traders |
Top token traders list with profit/loss breakdown |
sol / bsc / base
gmgn-cli installed globally — if missing, run: npm install -g gmgn-cliGMGN_API_KEY configured in ~/.config/gmgn/.envAll token routes used by this skill go through GMGN's leaky-bucket limiter with rate=10 and capacity=10. Sustained throughput is roughly 10 ÷ weight requests/second, and the max burst is roughly floor(10 ÷ weight) when the bucket is full.
| Command | Route | Weight |
|---|---|---|
token info |
GET /v1/token/info |
1 |
token security |
GET /v1/token/security |
1 |
token pool |
GET /v1/token/pool_info |
1 |
token holders |
GET /v1/market/token_top_holders |
5 |
token traders |
GET /v1/market/token_top_traders |
5 |
When a request returns 429:
X-RateLimit-Reset from the response headers. It is a Unix timestamp in seconds that marks when the limit is expected to reset.reset_at (e.g., {"code":429,"error":"RATE_LIMIT_BANNED","message":"...","reset_at":1775184222}), extract reset_at — it is the Unix timestamp when the ban lifts (typically 5 minutes). Convert to local time and tell the user exactly when they can retry.RATE_LIMIT_EXCEEDED or RATE_LIMIT_BANNED, repeated requests during the cooldown can extend the ban by 5 seconds each time, up to 5 minutes. Do not spam retries.First-time setup (if GMGN_API_KEY is not configured):
Generate key pair and show the public key to the user:
openssl genpkey -algorithm ed25519 -out /tmp/gmgn_private.pem 2>/dev/null && \
openssl pkey -in /tmp/gmgn_private.pem -pubout 2>/dev/null
Tell the user: "This is your Ed25519 public key. Go to https://gmgn.ai/ai, paste it into the API key creation form, then send me the API Key value shown on the page."
Wait for the user's API key, then configure:
mkdir -p ~/.config/gmgn
echo 'GMGN_API_KEY=<key_from_user>' > ~/.config/gmgn/.env
chmod 600 ~/.config/gmgn/.env
token info / token security / token pool| Parameter | Required | Description |
|---|---|---|
--chain |
Yes | sol / bsc / base |
--address |
Yes | Token contract address |
--raw |
No | Output raw single-line JSON (for piping or further processing) |
token holders / token traders| Parameter | Required | Default | Description |
|---|---|---|---|
--chain |
Yes | — | sol / bsc / base |
--address |
Yes | — | Token contract address |
--limit |
No | 20 |
Number of results, max 100 |
--order-by |
No | amount_percentage |
Sort field — see table below |
--direction |
No | desc |
Sort direction: asc / desc |
--tag |
No | — | Wallet filter: renowned (KOL wallets) / smart_degen (smart money). Omit to return all wallets. |
--raw |
No | — | Output raw single-line JSON |
--order-by Values| Value | Description |
|---|---|
amount_percentage |
Sort by percentage of total supply held (default) |
profit |
Sort by realized profit in USD |
unrealized_profit |
Sort by unrealized profit in USD |
buy_volume_cur |
Sort by buy volume |
sell_volume_cur |
Sort by sell volume |
--tag Values| Value | Description |
|---|---|
renowned |
KOL / well-known wallets (influencers, funds, public figures) |
smart_degen |
Smart money wallets (historically high-performing traders) |
--tag + --order-by Combination Guide--tag and --order-by are independent — all --order-by values are valid with or without --tag. Omitting --tag returns all wallets (no filter).
Recommended combinations for common use cases:
| Goal | --tag |
--order-by |
|---|---|---|
| Largest smart money holders by supply | smart_degen |
amount_percentage |
| Smart money with highest realized profit | smart_degen |
profit |
| Smart money sitting on unrealized gains | smart_degen |
unrealized_profit |
| Smart money aggressively accumulating | smart_degen |
buy_volume_cur |
| Smart money distributing (exit signal) | smart_degen |
sell_volume_cur |
| KOLs who already took profit | renowned |
profit |
| KOLs still holding with paper gains | renowned |
unrealized_profit |
| Largest holders overall (no filter) | (omit) | amount_percentage |
token info — Key FieldsThe 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).
Top-level Fields
| Field | Description |
|---|---|
address |
Token contract address |
symbol / name |
Token ticker and full name |
decimals |
Token decimal places |
total_supply |
Total token supply (same as circulating_supply for most tokens) |
circulating_supply |
Circulating supply |
max_supply |
Maximum supply |
price |
Current price in USD |
liquidity |
Total liquidity in USD (from biggest pool) |
holder_count |
Number of unique token holders |
logo |
Token logo image URL |
creation_timestamp |
Token creation time (Unix seconds) |
open_timestamp |
Time the token opened for trading (Unix seconds) |
biggest_pool_address |
Address of the main liquidity pool |
og |
Whether the token is flagged as an OG token (true / false) |
pool Object — Main liquidity pool details
| Field | Description |
|---|---|
pool.pool_address |
Pool contract address |
pool.quote_address |
Quote token address (e.g. USDC, SOL, WETH) |
pool.quote_symbol |
Quote token symbol (e.g. USDC, SOL) |
pool.exchange |
DEX name (e.g. meteora_dlmm, raydium, pump_amm, uniswap_v3) |
pool.liquidity |
Pool liquidity in USD |
pool.base_reserve |
Base token reserve amount |
pool.quote_reserve |
Quote token reserve amount |
pool.base_reserve_value |
Base reserve USD value |
pool.quote_reserve_value |
Quote reserve USD value |
pool.fee_ratio |
Pool trading fee ratio (e.g. 0.1 = 0.1%) |
pool.creation_timestamp |
Pool creation time (Unix seconds) |
link Object — Social and explorer links
| Field | Description |
|---|---|
link.twitter_username |
Twitter / X username (not full URL) |
link.website |
Project website URL |
link.telegram |
Telegram URL |
link.discord |
Discord URL |
link.instagram |
Instagram URL |
link.tiktok |
TikTok URL |
link.youtube |
YouTube URL |
link.description |
Token description text |
link.gmgn |
GMGN token page URL |
link.geckoterminal |
GeckoTerminal page URL |
link.verify_status |
Social verification status (integer) |
stat Object — On-chain statistics
| Field | Description |
|---|---|
stat.holder_count |
Number of holders (same as top-level holder_count) |
stat.bluechip_owner_count |
Number of bluechip wallet holders |
stat.bluechip_owner_percentage |
Ratio of holders that are bluechip wallets (0–1) |
stat.top_10_holder_rate |
Ratio of supply held by top 10 wallets (0–1) |
stat.dev_team_hold_rate |
Ratio held by dev team wallets |
stat.creator_hold_rate |
Ratio held by creator wallet |
stat.creator_token_balance |
Raw creator token balance |
stat.top_rat_trader_percentage |
Ratio of volume from rat/insider traders |
stat.top_bundler_trader_percentage |
Ratio of volume from bundler bots |
stat.top_entrapment_trader_percentage |
Ratio of volume from entrapment traders |
stat.bot_degen_count |
Number of bot degen wallets |
stat.bot_degen_rate |
Ratio of bot degen wallets |
stat.fresh_wallet_rate |
Ratio of fresh/new wallets among holders |
wallet_tags_stat Object — Wallet type breakdown
| Field | Description |
|---|---|
wallet_tags_stat.smart_wallets |
Number of smart money wallets holding the token |
wallet_tags_stat.renowned_wallets |
Number of renowned / KOL wallets holding the token |
wallet_tags_stat.sniper_wallets |
Number of sniper wallets |
wallet_tags_stat.rat_trader_wallets |
Number of rat trader wallets |
wallet_tags_stat.bundler_wallets |
Number of bundler bot wallets |
wallet_tags_stat.whale_wallets |
Number of whale wallets |
wallet_tags_stat.fresh_wallets |
Number of fresh wallets |
wallet_tags_stat.top_wallets |
Number of top-ranked wallets |
token security — Key FieldsContract Safety
| Field | Chains | Description |
|---|---|---|
is_honeypot |
BSC / Base | Whether token is a honeypot ("yes" / "no"); empty string on SOL |
open_source |
all | Contract source code verified: "yes" / "no" / "unknown" |
owner_renounced |
all | Contract ownership renounced: "yes" / "no" / "unknown" |
renounced_mint |
SOL | Mint authority renounced (SOL-specific; always false on EVM) |
renounced_freeze_account |
SOL | Freeze authority renounced (SOL-specific; always false on EVM) |
buy_tax / sell_tax |
all | Tax ratio — e.g. 0.03 = 3%; 0 = no tax |
Holder Concentration & Risk
| Field | Description |
|---|---|
top_10_holder_rate |
Ratio of supply held by top 10 wallets (0–1); higher = more concentrated |
dev_team_hold_rate |
Ratio held by dev team wallets |
creator_balance_rate |
Ratio held by the token creator wallet |
creator_token_status |
Dev holding status: creator_hold (still holding) / creator_close (sold/closed) |
suspected_insider_hold_rate |
Ratio held by suspected insider wallets |
Trading Risk
| Field | Description |
|---|---|
rug_ratio |
Rug pull risk score (0–1); higher = more risky |
is_wash_trading |
Whether wash trading activity is detected (true / false) |
rat_trader_amount_rate |
Ratio of volume from sneak/insider trading |
bundler_trader_amount_rate |
Ratio of volume from bundle trading (bot-driven) |
sniper_count |
Number of sniper wallets that bought at launch |
burn_status |
Liquidity pool burn status (e.g. "burn" = burned, "" = not burned) |
token pool — Key Fields| Field | Description |
|---|---|
address |
Pool contract address |
base_address |
Base token address (the queried token) |
quote_address |
Quote token address (e.g. SOL, USDC, WETH) |
exchange |
DEX name (e.g. raydium, pump_amm, uniswap_v3, pancakeswap) |
liquidity |
Pool liquidity in USD |
base_reserve |
Base token reserve amount |
quote_reserve |
Quote token reserve amount |
price |
Current price in USD derived from pool reserves |
creation_timestamp |
Pool creation time (Unix seconds) |
token holders / token traders — Response FieldsThe response is an object with a list array. Each item in list represents one wallet.
Identity & Holdings
| Field | Description |
|---|---|
address |
Wallet address |
account_address |
Token account address (the on-chain account holding the token, distinct from the wallet address) |
addr_ |