diff --git a/docs/cli-usage.md b/docs/cli-usage.md index 667e97c..f180fb6 100644 --- a/docs/cli-usage.md +++ b/docs/cli-usage.md @@ -139,6 +139,8 @@ npx gmgn-cli market trending \ **`base` platforms:** `clanker` / `bankr` / `flaunch` / `zora` / `zora_creator` / `baseapp` / `basememe` / `virtuals_v2` / `klik` +**`eth` platforms:** `trench` / `clanker` / `klik` / `livo` / `stroid` / `pool_uniswap_v2` / `pool_uniswap_v3` / `printr` + --- ## portfolio holdings @@ -289,7 +291,7 @@ npx gmgn-cli market trenches --chain [--type ] [--launchpad-pla | Option | Required | Description | |--------|----------|-------------| -| `--chain` | Yes | `sol` / `bsc` / `base` | +| `--chain` | Yes | `sol` / `bsc` / `base` / `eth` | | `--type` | No | Categories to query, repeatable: `new_creation` / `near_completion` / `completed` (default: all three) | | `--launchpad-platform` | No | Launchpad platform filter, repeatable (default: all platforms for the chain) | | `--limit` | No | Max results per category, max 80 (default: 80) | diff --git a/skills/gmgn-market/SKILL.md b/skills/gmgn-market/SKILL.md index a76259b..a3c496f 100644 --- a/skills/gmgn-market/SKILL.md +++ b/skills/gmgn-market/SKILL.md @@ -1,7 +1,7 @@ --- name: gmgn-market description: Get crypto and meme token price charts (K-line, candlestick, OHLCV), trending meme coin rankings by volume, and newly launched tokens on launchpads (pump.fun, fourmeme, letsbonk, Raydium, etc.) via GMGN API on Solana, BSC, Base, or Ethereum. Use when user asks for price chart, trending tokens, what's pumping, hot coins, new launches, token signals, or wants to discover early-stage opportunities. -argument-hint: "kline --chain --address --resolution <30s|1m|5m|15m|1h|4h|1d> [--from ] [--to ] | trending --chain --interval <1m|5m|1h|6h|24h> | trenches --chain | signal --chain " +argument-hint: "kline --chain --address --resolution <30s|1m|5m|15m|1h|4h|1d> [--from ] [--to ] | trending --chain --interval <1m|5m|1h|6h|24h> | trenches --chain | signal --chain " metadata: cliHelp: "gmgn-cli market --help" --- @@ -52,7 +52,7 @@ Use the `gmgn-cli` tool to query K-line data for a token, browse trending tokens ## Supported Chains -`sol` / `bsc` / `base` / `eth` (kline / trending only; trenches: `sol` / `bsc` / `base`; signal: `sol` / `bsc` only) +`sol` / `bsc` / `base` / `eth` (kline / trending / trenches; signal: `sol` / `bsc` only) ## Prerequisites @@ -144,7 +144,7 @@ The response is an object with a `list` array. Each element in `list` is one can | `--order-by ` | 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 ` | Sort direction (default `desc`) | | `--filter ` | 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 ` | 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) | +| `--platform ` | 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**: `trench` / `clanker` / `klik` / `livo` / `stroid` / `pool_uniswap_v2` / `pool_uniswap_v3` / `printr` | ## Usage Examples @@ -496,7 +496,7 @@ Use field combinations to determine what stage a token is in. This affects how s | Parameter | Required | Description | |-----------|----------|-------------| -| `--chain` | Yes | `sol` / `bsc` / `base` | +| `--chain` | Yes | `sol` / `bsc` / `base` / `eth` | | `--type` | No | Categories to query, repeatable: `new_creation` / `near_completion` / `completed` (default: all three) | | `--launchpad-platform` | No | Launchpad platform filter, repeatable (default: all platforms for the chain) | | `--limit` | No | Max results per category, max 80 (default: 80) | diff --git a/src/client/OpenApiClient.ts b/src/client/OpenApiClient.ts index cbb756d..d9f395a 100644 --- a/src/client/OpenApiClient.ts +++ b/src/client/OpenApiClient.ts @@ -820,12 +820,17 @@ const TRENCHES_PLATFORMS: Record = { "clanker", "bankr", "flaunch", "zora", "zora_creator", "baseapp", "basememe", "virtuals_v2", "klik", ], + eth: [ + "trench", "clanker", "klik", "livo", "stroid", + "pool_uniswap_v2", "pool_uniswap_v3", "printr", + ], }; const TRENCHES_QUOTE_ADDRESS_TYPES: Record = { sol: [4, 5, 3, 1, 13, 0], bsc: [6, 7, 1, 16, 8, 3, 9, 10, 2, 17, 18, 0], base: [11, 3, 12, 13, 0], + eth: [20, 11, 8, 3, 12, 1, 0], }; function buildTrenchesBody(chain: string, types?: string[], platforms?: string[], limit?: number, filters?: Record): Record { diff --git a/src/commands/market.ts b/src/commands/market.ts index 912d632..32cabbb 100644 --- a/src/commands/market.ts +++ b/src/commands/market.ts @@ -57,7 +57,7 @@ export function registerMarketCommands(program: Command): void { .option("--order-by ", "Sort field: default / volume / swaps / marketcap / holder_count / price / change1h / ... (see docs for full list)") .option("--direction ", "Sort direction: asc / desc") .option("--filter ", "Filter tags, repeatable. sol: renounced / frozen / has_social / not_wash_trading / ... evm: not_honeypot / verified / renounced / locked / ... (see docs for full list)") - .option("--platform ", "Platform filter, repeatable. sol: Pump.fun / letsbonk / moonshot_app / ... bsc: fourmeme / four_xmode_agent / cubepeg / likwid / goplus_creator / goplus_skills / openfour / flap / flap_stocks / flap_aioracle / clanker / ... base: clanker / flaunch / zora / ... (see docs for full list)") + .option("--platform ", "Platform filter, repeatable. sol: Pump.fun / letsbonk / moonshot_app / ... bsc: fourmeme / four_xmode_agent / cubepeg / likwid / goplus_creator / goplus_skills / openfour / flap / flap_stocks / flap_aioracle / clanker / ... base: clanker / flaunch / zora / ... eth: trench / clanker / klik / livo / stroid / pool_uniswap_v2 / pool_uniswap_v3 / printr (see docs for full list)") .option("--raw", "Output raw JSON") .action(async (opts) => { validateChain(opts.chain); @@ -76,7 +76,7 @@ export function registerMarketCommands(program: Command): void { const trenchesCmd = market .command("trenches") .description("Get Trenches token data (new creation, near completion, completed)") - .requiredOption("--chain ", "Chain: sol / bsc / base") + .requiredOption("--chain ", "Chain: sol / bsc / base / eth") .option("--type ", "Categories to query, repeatable: new_creation / near_completion / completed (default: all three)") .option("--launchpad-platform ", "Launchpad platform filter, repeatable (default: all platforms for the chain)") .option("--limit ", "Max results per category, max 80 (default: 80)", parseInt)