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.
IMPORTANT: Do NOT guess field names or values. When a field's meaning is unclear, look it up in the Response Fields sections below before using it.
⚠️ 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."
Use the gmgn-cli tool to query K-line data for a token, browse trending tokens, or view Trenches token lists.
--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:
renounced frozen (mint and freeze authority renounced)not_honeypot verified renounced--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.
smart_degen_count / renowned_count — Number of platform-tagged smart money wallets ( smart_degen) and KOL wallets ( renowned) holding or trading this token. High values are bullish signals. These are GMGN-tagged wallet lists, not user-defined.
hot_level — Trending intensity score. Higher = more actively traded right now. Not normalized — compare relative values within the same result set, not across time windows.
renounced_mint / renounced_freeze_account — SOL-specific. Indicate whether the creator gave up the ability to mint more tokens or freeze wallets. Both being 1 is a safety baseline on Solana. Always false on EVM chains (concept does not apply).
is_honeypot — EVM-specific (BSC / Base). Indicates whether the token contract prevents selling. Always empty/null on SOL — do not interpret an empty value as "not a honeypot" on Solana.
creator_token_status — Dev holding status. creator_hold = dev still holds tokens (sell pressure risk). creator_close = dev has sold or burned their allocation (exit signal confirmed).
cto_flag — Community Takeover flag. 1 = original dev abandoned the project and a community group took over marketing/development. Neutral to positive signal; evaluate in context.
Trenches categories — Three lifecycle stages of launchpad tokens: new_creation (just created, still on bonding curve), near_completion (bonding curve nearly full, about to graduate), completed (graduated to open market / DEX). In the response, near_completion is always returned under the key data.pump regardless of the input --type.
wash_trading / rat_trader_amount_rate / bundler_rate — Risk signals for artificial activity. is_wash_trading = coordinated fake volume detected. rat_trader_amount_rate = ratio of insider/sneak trading. bundler_rate = ratio of bot-bundled buys at launch. High values (> 0.3) suggest manipulated price action.
Sub-commandDescriptionmarket klineToken candlestick / OHLCV data and trading volume over a time rangemarket trendingTrending 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 trenchesNewly 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)market signalReal-time token signal feed — price spikes, smart money buys, large buys, Dex ads, CTO events, and more. Results sorted by trigger_at descending. sol / bsc only. Max 50 results per group.
sol / bsc / base / eth (kline / trending only; trenches: sol / bsc / base; signal: sol / bsc only)
gmgn-cli installed globally — if missing, run: npm install -g gmgn-cliGMGN_API_KEY configured in ~/.config/gmgn/.envAll market routes used by this skill go through GMGN's leaky-bucket limiter with rate=20 and capacity=20. Sustained throughput is roughly 20 ÷ weight requests/second, and the max burst is roughly floor(20 ÷ weight) when the bucket is full.
CommandRouteWeightmarket kline``GET /v1/market/token_kline2market trending``GET /v1/market/rank1market trenches``POST /v1/trenches3market signal``POST /v1/market/token_signal3
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: bash
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 save it with gmgn-cli config (creates ~/.config/gmgn/.env and sets chmod 600 automatically — do not hand-edit the file):
bash
gmgn-cli config set-key <key_from_user>
market kline Parameters#ParameterRequiredDescription--chainYessol / bsc / base / eth``--addressYesToken contract address--resolutionYesCandlestick resolution: 1m / 5m / 15m / 1h / 4h / 1d``--fromNoStart time (Unix seconds)--toNoEnd time (Unix seconds)
market kline Response Fields#The response is an object with a list array. Each element in list is one candlestick:
FieldTypeDescriptiontimenumberCandle open time — Unix timestamp in milliseconds (divide by 1000 for seconds)openstringOpening price in USD at the start of the periodclosestringClosing price in USD at the end of the periodhighstringHighest price in USD during the periodlowstringLowest price in USD during the periodvolumestringTrading volume in USD (dollar value of all trades in this period)amountstringTrading volume in base token units (number of tokens traded)
Important distinctions (naming is counterintuitive — do not guess):
volume = USD dollar value (e.g. 1214 means ~$1,214 traded) — use this for "how much was traded in USD"amount = token count (e.g. 5379110 means ~5.38M tokens changed hands) — use this for "how many tokens were traded"volume and amount will differ by orders of magnitude (e.g. a $0.0002 token: $1,214 volume = 5,379,110 tokens)volume across all candles in the rangeclose values in chronological order ( time ascending)high vs low within each candlemarket trending Options#--interval selection guide — always match to the user's stated time window:
User says--interval"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"24hOptionDescription--chainRequired. sol / bsc / base / eth``--intervalRequired. 1m / 5m / 1h / 6h / 24h (default 1h)--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; BSC/Base/ETH 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 / four_xmode_agent / cubepeg / likwid / goplus_creator / goplus_skills / openfour / flap / flap_stocks / flap_aioracle / clanker / lunafun / pool_uniswap / pool_pancake. base: clanker / bankr / flaunch / zora / zora_creator / baseapp / basememe / virtuals_v2 / klik. eth: no platform filter (omit --platform for ETH)
bash
# Last 1 hour of 1-minute candles
# macOS:
gmgn-cli market kline \
--chain sol \
--address <token_address> \
--resolution 1m \
--from $(date -v-1H +%s) \
--to $(date +%s)
# Linux: use $(date -d '1 hour ago' +%s) instead of $(date -v-1H +%s)
# Last 24 hours of 1-hour candles
# macOS:
gmgn-cli market kline \
--chain sol \
--address <token_address> \
--resolution 1h \
--from $(date -v-24H +%s) \
--to $(date +%s)
# Linux: use $(date -d '24 hours ago' +%s) instead of $(date -v-24H +%s)
# Raw output for further processing
gmgn-cli market kline --chain sol --address <addr> \
--resolution 5m --from <ts> --to <ts> --raw | jq '.[]'
# ETH token kline — last 24h, 1h candles (macOS)
gmgn-cli market kline \
--chain eth \
--address 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 \
--resolution 1h \
--from $(date -v-24H +%s) \
--to $(date +%s)
bash
# Top 20 hot tokens on SOL in the last 1 hour, sorted by volume
gmgn-cli market trending --chain sol --interval 1h --order-by volume --limit 20
# Top 50 tokens on SOL, 5m window, sorted by volume
gmgn-cli market trending --chain sol --interval 5m --order-by volume --limit 50
# Hot tokens with social links only, verified and not honeypot, on BSC over 24h
gmgn-cli market trending \
--chain bsc --interval 24h \
--filter has_social --filter not_honeypot --filter verified
Use --platform to filter trending results to tokens from specific launchpads only.
bash
# SOL 1m hottest — Pump.fun + letsbonk only (most active launchpads), sorted by volume
gmgn-cli market trending \
--chain sol --interval 1m \
--platform Pump.fun --platform letsbonk \
--order-by volume --limit 50 --raw
# SOL 5m hottest — Pump.fun + letsbonk + Moonshot, sorted by volume
gmgn-cli market trending \
--chain sol --interval 5m \
--platform Pump.fun --platform letsbonk --platform moonshot_app \
--order-by volume --limit 50 --raw
# SOL 1h trending — Pump.fun only, with safety filters
gmgn-cli market trending \
--chain sol --interval 1h \
--platform Pump.fun \
--filter renounced --filter frozen --filter not_wash_trading \
--order-by volume --limit 20 --raw
# SOL 1h trending — all major launchpads combined
gmgn-cli market trending \
--chain sol --interval 1h \
--platform Pump.fun --platform letsbonk --platform moonshot_app \
--platform pump_mayhem --platform pump_mayhem_agent --platform bonkers \
--order-by volume --limit 50 --raw
bash
# BSC 1m hottest — fourmeme (main BSC launchpad), sorted by volume
gmgn-cli market trending \
--chain bsc --interval 1m \
--platform fourmeme --platform four_xmode_agent \
--order-by volume --limit 50 --raw
# BSC 5m hottest — all BSC launchpads, sorted by volume
gmgn-cli market trending \
--chain bsc --interval 5m \
--platform fourmeme --platform fourmeme_agent --platform bn_fourmeme --platform four_xmode_agent \
--platform cubepeg --platform likwid --platform goplus_creator --platform goplus_skills --platform openfour \
--platform flap --platform flap_stocks --platform flap_aioracle --platform clanker --platform lunafun \
--order-by volume --limit 50 --raw
# BSC 1h trending — all BSC launchpads with safety filters
gmgn-cli market trending \
--chain bsc --interval 1h \
--platform fourmeme --platform fourmeme_agent --platform bn_fourmeme --platform four_xmode_agent \
--platform cubepeg --platform likwid --platform goplus_creator --platform goplus_skills --platform openfour \
--platform flap --platform flap_stocks --platform flap_aioracle --platform clanker --platform lunafun \
--filter not_honeypot --filter verified \
--order-by volume --limit 20 --raw
bash
# ETH 1h trending — all tokens, sorted by volume
gmgn-cli market trending --chain eth --interval 1h --order-by volume --limit 20
# ETH 1h trending — with safety filters
gmgn-cli market trending \
--chain eth --interval 1h \
--filter not_honeypot --filter verified \
--order-by volume --limit 20 --raw
# ETH 24h trending — sorted by smart money count
gmgn-cli market trending \
--chain eth --interval 24h \
--filter not_honeypot --filter verified \
--order-by smart_degen_count --limit 20 --raw
bash
# Base 1m hottest — clanker + zora (main Base launchpads), sorted by volume
gmgn-cli market trending \
--chain base --interval 1m \
--platform clanker --platform zora --platform zora_creator \
--order-by volume --limit 50 --raw
# Base 5m hottest — clanker + zora + virtuals_v2 + flaunch, sorted by volume
gmgn-cli market trending \
--chain base --interval 5m \
--platform clanker --platform zora --platform zora_creator \
--platform virtuals_v2 --platform flaunch \
--order-by volume --limit 50 --raw
# Base 1h trending — all major launchpads with safety filters
gmgn-cli market trending \
--chain base --interval 1h \
--platform clanker --platform zora --platform zora_creator \
--platform virtuals_v2 --platform flaunch --platform baseapp \
--filter not_honeypot --filter verified \
--order-by volume --limit 20 --raw
market trending Response Fields#The response is data.rank — an array of rank items. Each item represents one token.
Basic Info
FieldDescriptionaddressToken contract addresssymbol / nameToken ticker and full namelogoToken logo image URLchainChain identifiertotal_supplyTotal token supplycreatorCreator wallet addresslaunchpad_platformLaunch/pool platform (e.g. Pump.fun, letsbonk, pool_meteora, fourmeme)exchangeCurrent DEX (e.g. meteora_damm_v2, raydium, pump_amm)open_timestampOpen market listing time (Unix seconds)creation_timestampToken creation time (Unix seconds)rankPosition in this trending list (lower = hotter)hot_levelTrending intensity level (higher = hotter)
Price & Market
FieldDescriptionpriceCurrent price in USDmarket_capMarket cap in USD (directly available — no calculation needed)liquidityCurrent liquidity in USDvolumeTrading volume in USD for the queried intervalhistory_highest_market_capAll-time highest market cap in USDinitial_liquidityInitial liquidity at token launchprice_change_percentPrice change % for the queried intervalprice_change_percent1mPrice change % in last 1 minuteprice_change_percent5mPrice change % in last 5 minutesprice_change_percent1hPrice change % in last 1 hour
Trading Activity
FieldDescriptionswapsTotal swap count in the queried intervalbuys / sellsBuy / sell count in the intervalholder_countNumber of unique token holdersgas_feeAverage gas fee per transaction
Security & Risk
FieldChainsDescriptionrenounced_mintSOLMint authority renounced ( 1 = yes, 0 = no)renounced_freeze_accountSOLFreeze authority renounced ( 1 = yes, 0 = no)is_honeypotBSC / BaseHoneypot flag ( 1 = yes, 0 = no)is_open_sourceallContract verified ( 1 = yes, 0 = no)is_renouncedallOwnership renounced ( 1 = yes, 0 = no)buy_tax / sell_taxallTax rate — empty string means 0 (no tax)burn_statusallLiquidity burn status (e.g. "none", "burn")top_10_holder_rateallTop 10 wallets concentration (0–1)rug_ratioallRug pull risk score (0–1)is_wash_tradingallWash trading detected ( true / false)rat_trader_amount_rateallRatio of insider/sneak trading volumebundler_rateallRatio of bundle bot trading volumeentrapment_ratioallEntrapment trading ratiosniper_countallNumber of sniper wallets at launchbot_degen_count / bot_degen_rateallBot degen wallet count / ratiodev_team_hold_rateallDev team holding ratiotop70_sniper_hold_rateallTop 70 sniper current holding ratiolock_percentallLiquidity lock percentage
Dev Status
FieldDescriptioncreator_token_statusDev holding status: creator_hold (still holding) / creator_close (sold/closed)creator_closeBoolean shorthand for creator_token_status == creator_close``dev_token_burn_ratioRatio of dev's tokens that have been burned
Smart Money
FieldDescriptionsmart_degen_countNumber of smart money wallets holding the tokenrenowned_countNumber of renowned / KOL wallets holding the tokenbluechip_owner_percentageRatio of holders that are bluechip wallets (0–1)
Social
FieldDescriptiontwitter_usernameTwitter / X username (not a full URL — prepend https://x.com/ to get the link)websiteProject website URLtelegramTelegram URLcto_flagCommunity takeover flag ( 1 = CTO has occurred)
Dexscreener Marketing
FieldDescriptiondexscr_adDexscreener ad placed ( 1 = yes)dexscr_update_linkSocial links updated on Dexscreener ( 1 = yes)dexscr_trending_barPaid for Dexscreener trending bar ( 1 = yes)dexscr_boost_feeDexscreener boost amount paid (0 = none)
Full workflow for discovering market opportunities: 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
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
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
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.
Signal🟢 Pass🟡 Watch🔴 Skipsmart_degen_count≥ 31–20rug_ratio< 0.10.1–0.3> 0.3creator_token_status``creator_close—creator_hold``is_wash_trading``false—true → skip immediatelytop_10_holder_rate< 0.200.20–0.50> 0.50liquidity> $50k$10k–$50k< $10khas_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
Use field combinations to determine what stage a token is in. This affects how signals should be interpreted.
Indicators:
creation_timestamp < 1 hour agohot_level low or just starting to risesmart_degen_count = 0, renowned_count = 0Interpretation: 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.
Indicators:
smart_degen_count ≥ 3 AND risingswaps_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.
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 decliningInterpretation: 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.
Indicators:
holder_count decliningrat_trader_amount_rate high (insider/sneak trading dominating)smart_degen_count = 0 or clearly decliningInterpretation: Avoid new entries entirely. If still holding, consider exiting. The opportunity has likely passed.
market trenches Parameters#Intent → --type mapping (always specify --type explicitly):
User intent--type value"new tokens", "just launched", "newly created", "latest tokens"new_creation"about to graduate", "near completion", "bonding curve almost full"near_completion"graduated tokens", "already on DEX", "open market tokens"completedNo specific stage mentionedomit --type (returns all three)ParameterRequiredDescription--chainYessol / bsc / base``--typeNoCategories to query, repeatable: new_creation / near_completion / completed (default: all three)--launchpad-platformNoLaunchpad platform filter, repeatable (default: all platforms for the chain)--limitNoMax results per category, max 80 (default: 80)--filter-presetNoNamed server-side filter preset: safe / smart-money / strict``--sort-byNoClient-side sort per category: smart_degen_count / renowned_count / volume_24h / volume_1h / swaps_24h / swaps_1h / rug_ratio / holder_count / usd_market_cap / created_timestamp``--directionNoSort direction: asc / desc (default: desc; asc for rug_ratio)--min-* / --max-*NoServer-side filter range flags — see Filter Fields Reference below
Presets are applied server-side: the API filters tokens before returning results.
PresetServer-side filters appliedsafe``max_rug_ratio=0.3 + max_bundler_rate=0.3 + max_insider_ratio=0.3``smart-money``min_smart_degen_count=1``strict``max_rug_ratio=0.3 + max_bundler_rate=0.3 + max_insider_ratio=0.3 + min_smart_degen_count=1 + min_volume_24h=1000
Preset + explicit flag interaction: Explicit filter flags always override preset values. For example, --filter-preset safe --max-rug-ratio 0.1 applies the safe preset but overrides rug_ratio threshold to 0.1.
All filter flags are sent as part of the API request body (server-side) — the server filters tokens before returning results. Use --limit 80 (the default maximum) to maximise the pool.
Response fields: data.new_creation, data.pump, data.completed — each is an array of RankItem (same fields as market trending rank items). Important: data.pump in the response corresponds to --type near_completion in the request. The API always returns this category under the key pump, not near_completion.
All filter flags are sent as part of the API request body — the server filters tokens before returning results. Flags follow the naming convention --min-{field} / --max-{field}.
Flag pairTypeDescription--min-volume-24h / --max-volume-24hfloat24h trading volume (USD)--min-net-buy-24h / --max-net-buy-24hfloat24h net buy volume (USD)--min-swaps-24h / --max-swaps-24hint24h total swap count--min-buys-24h / --max-buys-24hint24h buy count--min-sells-24h / --max-sells-24hint24h sell count--min-visiting-count / --max-visiting-countintVisitor count--min-progress / --max-progressfloatBonding curve progress (0–1)--min-marketcap / --max-marketcapfloatMarket cap (USD)--min-liquidity / --max-liquidityfloatLiquidity (USD)--min-created / --max-createddurationToken age — unit suffix recommended: seconds ( 30s, 10s) or minutes ( 0.5m, 1m, 5m, 30m). Bare numbers (e.g. 5) are treated as minutes with a warning.--min-holder-count / --max-holder-countintHolder count--min-top-holder-rate / --max-top-holder-ratefloatTop-10 holder concentration (0–1)--min-rug-ratio / --max-rug-ratiofloatRug pull risk score (0–1)--min-bundler-rate / --max-bundler-ratefloatBundle-bot trading ratio (0–1)--min-insider-ratio / --max-insider-ratiofloatInsider trading ratio (0–1)--min-entrapment-ratio / --max-entrapment-ratiofloatEntrapment/Phishing trading ratio (0–1)--min-private-vault-hold-rate / --max-private-vault-hold-ratefloatPrivate vault holding ratio (0–1)--min-top70-sniper-hold-rate / --max-top70-sniper-hold-ratefloatTop-70 sniper holding ratio (0–1)--min-bot-count / --max-bot-countintBot wallet count--min-bot-degen-rate / --max-bot-degen-ratefloatBot-degen wallet ratio (0–1)--min-fresh-wallet-rate / --max-fresh-wallet-ratefloatFresh wallet ratio (0–1)--min-total-fee / --max-total-feefloatTotal fee--min-smart-degen-count / --max-smart-degen-countintSmart-money holder count--min-renowned-count / --max-renowned-countintKOL / renowned wallet count--min-creator-balance-rate / --max-creator-balance-ratefloatCreator holding ratio (0–1)--min-creator-created-count / --max-creator-created-countintCreator's total token creation count--min-creator-created-open-count / --max-creator-created-open-countintCreator's graduated token count--min-creator-created-open-ratio / --max-creator-created-open-ratiofloatCreator's graduation ratio (0–1)--min-x-follower / --max-x-followerintTwitter / X follower count--min-twitter-rename-count / --max-twitter-rename-countintTwitter rename count--min-tg-call-count / --max-tg-call-countintTelegram call count
bash
# Apply the safe preset (server-side)
gmgn-cli market trenches --chain sol --type new_creation --filter-preset safe
# Require at least 1 smart money holder (server-side)
gmgn-cli market trenches --chain sol --type new_creation --min-smart-degen-count 1
# Safe preset + require smart money + sort by smart degen count (server-side filter, client-side sort)
gmgn-cli market trenches --chain sol --type new_creation \
--filter-preset safe --min-smart-degen-count 1 --sort-by smart_degen_count
# Strict preset — safe + smart money + min $1k volume (server-side)
gmgn-cli market trenches --chain sol --type new_creation --type near_completion \
--filter-preset strict --sort-by smart_degen_count
# Manual range filters (all sent server-side)
gmgn-cli market trenches --chain sol --type new_creation \
--max-rug-ratio 0.3 --max-bundler-rate 0.3 --max-insider-ratio 0.3 \
--min-smart-degen-count 1 --min-volume-24h 1000
# Filter by token age: only tokens created within the last 30 minutes
gmgn-cli market trenches --chain sol --type new_creation --max-created 30m
# Filter by market cap range
gmgn-cli market trenches --chain sol --type new_creation \
--min-marketcap 10000 --max-marketcap 500000
market trenches Response Fields#Basic Info
FieldDescriptionaddressToken contract addresssymbol / nameToken symbol and namelaunchpad_platformLaunch platform (e.g. Pump.fun, letsbonk)exchangeCurrent exchange (e.g. pump_amm, raydium)usd_market_capMarket cap in USDliquidityLiquidity in USDtotal_supplyTotal token supplycreated_timestampCreation time (Unix seconds)open_timestampOpen market listing time (Unix seconds, completed only)complete_timestampBonding curve completion time (Unix seconds)complete_cost_timeTime from creation to completion in seconds
Trading Data
FieldDescriptionswaps_1m / swaps_1h / swaps_24hSwap count per time windowvolume_1h / volume_24hTrading volume in USDbuys_24h / sells_24hBuy / sell count in 24hnet_buy_24hNet buy volume in 24hholder_countNumber of token holders
Security & Risk
FieldChainsDescriptionrenounced_mintSOLWhether mint authority is renounced (SOL-specific concept; always false on EVM chains)renounced_freeze_accountSOLWhether freeze authority is renounced (SOL-specific concept; always false on EVM chains)burn_statusallLiquidity burn statusrug_ratioallRug pull risk ratiotop_10_holder_rateallTop 10 holders concentration ratiorat_trader_amount_rateallInsider / sneak trading volume ratiobundler_trader_amount_rateallBundle trading volume ratiois_wash_tradingallWhether wash trading is detectedsniper_countallNumber of sniper walletssuspected_insider_hold_rateallSuspected insider holding ratioopen_sourceallWhether contract source code is verified ( "yes" / "no" / "unknown")owner_renouncedallWhether contract ownership is renounced ( "yes" / "no" / "unknown")is_honeypotBSC / BaseWhether token is a honeypot ( "yes" / "no"); returns empty string on SOL (not applicable)buy_taxallBuy tax ratio (e.g. 0.03 = 3%)dev_team_hold_rateallDev team holding ratio
Dev Holdings
FieldDescriptioncreator_token_statusDev holding status (e.g. creator_hold, creator_close)creator_balance_rateDev holding ratio as a proportion of total supply
Smart Money
FieldDescriptionsmart_degen_countNumber of smart money holdersrenowned_countNumber of renowned wallet holders (KOL)
Social Media
FieldDescriptiontwitterTwitter / X linktelegramTelegram linkwebsiteWebsite linkinstagramInstagram linktiktokTikTok linkhas_at_least_one_socialWhether any social media link existsx_user_followerTwitter follower countcto_flagWhether community takeover (CTO) has occurred
Dexscreener Marketing
FieldDescriptiondexscr_adWhether a Dexscreener ad has been placeddexscr_update_linkWhether social links have been updated on Dexscreenerdexscr_trending_barWhether paid for Dexscreener trending bar placementdexscr_boost_feeAmount 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.
bash
# Quick safe screen — exclude rugs, wash trading, and bundlers
gmgn-cli market trenches --chain sol --type new_creation \
--filter-preset safe --raw
# Smart money screen — only tokens with smart money or KOL presence
gmgn-cli market trenches --chain sol \
--type new_creation --type near_completion \
--filter-preset smart-money \
--sort-by smart_degen_count --raw
# Strict screen — safe + smart money + minimum volume, sorted by smart degens
gmgn-cli market trenches --chain sol --type completed \
--filter-preset strict --sort-by smart_degen_count --raw
# Custom filter — no wash trading, rug_ratio <= 0.2, at least 1 smart degen
gmgn-cli market trenches --chain sol \
--type new_creation --type near_completion \
--exclude-wash-trading --max-rug-ratio 0.2 --min-smart-degen 1 \
--sort-by smart_degen_count --raw
# BSC — safe screen on new tokens from fourmeme
gmgn-cli market trenches --chain bsc --type new_creation \
--launchpad-platform fourmeme --launchpad-platform fourmeme_agent \
--filter-preset safe --sort-by volume_1h --raw
# Sort by rug_ratio ascending (safest first), no other filters
gmgn-cli market trenches --chain sol --type completed \
--sort-by rug_ratio --raw
# Find tokens with many holders and strong 1h swap activity
gmgn-cli market trenches --chain sol --type completed \
--min-holders 100 --min-swaps 50 \
--sort-by swaps_1h --raw
bash
# All three categories at once
gmgn-cli market trenches --chain sol --raw \
--type new_creation --type near_completion --type completed \
--launchpad-platform Pump.fun --launchpad-platform pump_mayhem --launchpad-platform pump_mayhem_agent --launchpad-platform pump_agent --launchpad-platform letsbonk --launchpad-platform bonkers --launchpad-platform bags \
--limit 80
# New creation only
gmgn-cli market trenches --chain sol --raw \
--type new_creation \
--launchpad-platform Pump.fun --launchpad-platform pump_mayhem --launchpad-platform pump_mayhem_agent --launchpad-platform pump_agent --launchpad-platform letsbonk --launchpad-platform bonkers --launchpad-platform bags \
--limit 80
# Near completion only
gmgn-cli market trenches --chain sol --raw \
--type near_completion \
--launchpad-platform Pump.fun --launchpad-platform pump_mayhem --launchpad-platform pump_mayhem_agent --launchpad-platform pump_agent --launchpad-platform letsbonk --launchpad-platform bonkers --launchpad-platform bags \
--limit 80
# Completed (open market) only
gmgn-cli market trenches --chain sol --raw \
--type completed \
--launchpad-platform Pump.fun --launchpad-platform pump_mayhem --launchpad-platform pump_mayhem_agent --launchpad-platform pump_agent --launchpad-platform letsbonk --launchpad-platform bonkers --launchpad-platform bags \
--limit 80
bash
# All three categories at once
gmgn-cli market trenches --chain bsc --raw \
--type new_creation --type near_completion --type completed \
--launchpad-platform fourmeme --launchpad-platform fourmeme_agent --launchpad-platform bn_fourmeme --launchpad-platform four_xmode_agent \
--launchpad-platform cubepeg --launchpad-platform likwid --launchpad-platform goplus_creator --launchpad-platform goplus_skills --launchpad-platform openfour \
--launchpad-platform flap --launchpad-platform flap_stocks --launchpad-platform flap_aioracle --launchpad-platform clanker --launchpad-platform lunafun \
--limit 80
# New creation only
gmgn-cli market trenches --chain bsc --raw \
--type new_creation \
--launchpad-platform fourmeme --launchpad-platform fourmeme_agent --launchpad-platform bn_fourmeme --launchpad-platform four_xmode_agent \
--launchpad-platform cubepeg --launchpad-platform likwid --launchpad-platform goplus_creator --launchpad-platform goplus_skills --launchpad-platform openfour \
--launchpad-platform flap --launchpad-platform flap_stocks --launchpad-platform flap_aioracle --launchpad-platform clanker --launchpad-platform lunafun \
--limit 80
# Near completion only
gmgn-cli market trenches --chain bsc --raw \
--type near_completion \
--launchpad-platform fourmeme --launchpad-platform fourmeme_agent --launchpad-platform bn_fourmeme --launchpad-platform four_xmode_agent \
--launchpad-platform cubepeg --launchpad-platform likwid --launchpad-platform goplus_creator --launchpad-platform goplus_skills --launchpad-platform openfour \
--launchpad-platform flap --launchpad-platform flap_stocks --launchpad-platform flap_aioracle --launchpad-platform clanker --launchpad-platform lunafun \
--limit 80
# Completed (open market) only
gmgn-cli market trenches --chain bsc --raw \
--type completed \
--launchpad-platform fourmeme --launchpad-platform fourmeme_agent --launchpad-platform bn_fourmeme --launchpad-platform four_xmode_agent \
--launchpad-platform cubepeg --launchpad-platform likwid --launchpad-platform goplus_creator --launchpad-platform goplus_skills --launchpad-platform openfour \
--launchpad-platform flap --launchpad-platform flap_stocks --launchpad-platform flap_aioracle --launchpad-platform clanker --launchpad-platform lunafun \
--limit 80
bash
# All three categories at once
gmgn-cli market trenches --chain base --raw \
--type new_creation --type near_completion --type completed \
--launchpad-platform clanker --launchpad-platform bankr --launchpad-platform flaunch --launchpad-platform zora --launchpad-platform zora_creator --launchpad-platform baseapp --launchpad-platform basememe --launchpad-platform virtuals_v2 --launchpad-platform klik \
--limit 80
# New creation only
gmgn-cli market trenches --chain base --raw \
--type new_creation \
--launchpad-platform clanker --launchpad-platform bankr --launchpad-platform flaunch --launchpad-platform zora --launchpad-platform zora_creator --launchpad-platform baseapp --launchpad-platform basememe --launchpad-platform virtuals_v2 --launchpad-platform klik \
--limit 80
# Near completion only
gmgn-cli market trenches --chain base --raw \
--type near_completion \
--launchpad-platform clanker --launchpad-platform bankr --launchpad-platform flaunch --launchpad-platform zora --launchpad-platform zora_creator --launchpad-platform baseapp --launchpad-platform basememe --launchpad-platform virtuals_v2 --launchpad-platform klik \
--limit 80
# Completed (open market) only
gmgn-cli market trenches --chain base --raw \
--type completed \
--launchpad-platform clanker --launchpad-platform bankr --launchpad-platform flaunch --launchpad-platform zora --launchpad-platform zora_creator --launchpad-platform baseapp --launchpad-platform basememe --launchpad-platform virtuals_v2 --launchpad-platform klik \
--limit 80
market kline — Price Summary#After fetching candles, present a brief price analysis. Do not dump raw candle arrays.
text
{symbol} — {resolution} chart ({from} → {to})
Open: ${open of first candle} | Close: ${close of last candle} | Range: ${min low} – ${max high}
Total volume: ${sum of all volume fields} USD
Trend: [brief description — e.g. "steady uptrend", "sharp drop then recovery", "sideways"]
market trending — Top Tokens Table#Present the top results (default: top 10, or as requested) as a table:
text
# | Symbol | Price | MCap | Volume ({interval}) | 1h Chg | SM | Liq | Platform | Signal
Where Signal = quality flag derived from the token's data:
smart_degen_count ≥ 3 AND rug_ratio < 0.2 AND is_wash_trading = falserug_ratio > 0.3 OR is_wash_trading = true OR is_honeypot = 1Then 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#Present each category separately with a header:
text
🆕 New Creation ({count} tokens)
# | Symbol | Created | Liquidity | Swaps (1h) | Smart Degens | Social
⏳ Near Completion ({count} tokens)
# | Symbol | Market Cap | Swaps (1h) | Smart Degens | Social
✅ Graduated ({count} tokens)
# | Symbol | Market Cap | Volume (1h) | Smart Degens | Social
market signal Parameters#Chains: sol / bsc only. Maximum 50 results per group — use multiple groups via --groups to cover different signal types in a single request.
Single-group (individual flags):
Do not pass signal types 14, 15, or 16 in signal_type / --signal-type / --groups JSON — OpenAPI returns 400 if any group includes them. Omitting --signal-type (empty filter) still queries all types upstream; responses may still include 14–16 in that case.
OptionRequiredDescription--chainYessol / bsc``--signal-typeNoSignal type(s), repeatable (1–18, default: all). See Signal Types below.--mc-minNoMin market cap at trigger time (USD)--mc-maxNoMax market cap at trigger time (USD)--trigger-mc-minNoMin market cap at signal trigger moment (USD)--trigger-mc-maxNoMax market cap at signal trigger moment (USD)--total-fee-minNoMin total fees paid (USD)--total-fee-maxNoMax total fees paid (USD)--min-create-or-open-tsNoMin token creation or open timestamp (Unix seconds string)--max-create-or-open-tsNoMax token creation or open timestamp (Unix seconds string)
Multi-group override:
Pass --groups '<json_array>' to query multiple filter groups in a single request. The upstream executes all groups in parallel and merges results sorted by trigger_at descending. When --groups is present, all individual flags above are ignored.
bash
gmgn-cli market signal --chain sol \
--groups '[{"signal_type":[12,13]},{"signal_type":[6,7],"mc_min":50000}]'
ValueNameDescription1SignalType1General signal (K-line price spike)2SignalTypeDexAdDex ad placement3SignalTypeDexUpdateLinkDex social link updated4SignalTypeDexTrendingBarDex trending bar5SignalTypeDexBoostDex Boost6SignalTypePriceUpPrice spike7SignalTypePriceATHAll-time high price8SignalTypeMcpKeyLevelMarket cap key level9SignalTypeLiveLive stream10SignalTypeBundlerSellBundler sell11SignalTypeCtoCommunity takeover (CTO)12SignalTypeSmartDegenBuySmart money buy13SignalTypePlatformCallPlatform call14SignalTypeLargeAmountBuyLarge amount buy15SignalTypeMultiBuyMultiple buys16SignalTypeMultiLargeBuyMultiple large buys17SignalTypeBagsClaimsBags Claim18SignalTypePumpClaimsPump Claim
market signal Response Fields#Each item in the response array is one signal event:
FieldTypeDescriptionidstringSignal event IDtoken_addressstringToken contract addresssignal_typenumberSignal type (1–18, see Signal Types above)trigger_atnumberUnix timestamp (seconds) when the signal was triggeredtrigger_mcnumberMarket cap at signal trigger time (USD)first_trigger_mcnumberMarket cap at the very first trigger for this token (USD)market_capnumberCurrent market cap (USD)athnumberAll-time high market cap (USD)signal_timesnumberTotal number of times this signal has triggered for this tokensignal_times_by_typeobjectSignal trigger count broken down by typecur_dataobjectReal-time token stats at query time (see below)dataobjectFull upstream snapshot at trigger time (chain-specific, raw passthrough)
cur_data fields:
FieldTypeDescriptiontop_10_holder_ratenumberTop 10 holder concentration ratio (0–1)holder_countnumberCurrent holder countliquiditynumberCurrent liquidity (USD)
bash
# All signals on SOL (no --signal-type: upstream returns all types, including 14–16 if present)
gmgn-cli market signal --chain sol --raw
# Smart money buys only (type 12)
gmgn-cli market signal --chain sol --signal-type 12 --raw
# Price spikes + ATH (types 6 and 7) with market cap filter
gmgn-cli market signal --chain sol \
--signal-type 6 --signal-type 7 \
--mc-min 50000 --mc-max 5000000 --raw
# Smart money buys on BSC
gmgn-cli market signal --chain bsc --signal-type 12 --raw
# Multi-group: parallel groups (do not use signal_type 14–16 — API returns 400)
gmgn-cli market signal --chain sol \
--groups '[{"signal_type":[12]},{"signal_type":[6,7]}]' --raw
# Multi-group: combine signal type filter with market cap range per group
gmgn-cli market signal --chain sol \
--groups '[{"signal_type":[12,13],"mc_min":100000},{"signal_type":[6,7],"mc_min":50000,"mc_max":1000000}]' --raw
market kline: --from and --to are Unix timestamps in seconds — CLI converts to milliseconds automaticallymarket trending: --filter and --platform are repeatable flags--raw to get single-line JSON for further processing0x + 40 hex digits). The CLI enforces this at runtime.