Commander.js removes hyphens before digits (e.g. -24h → 24h) but does not
uppercase them. The previous regex only handled -[a-z] patterns, leaving
a residual hyphen: minVolume-24h instead of minVolume24h.
This caused all 24h-suffixed filter flags to be silently ignored:
--min-volume-24h, --max-volume-24h, --min-net-buy-24h, --min-swaps-24h,
--min-buys-24h, --min-sells-24h.
Fix: add .replace(/-(\d)/g, '$1') to strip hyphens before digit sequences.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
These fields were removed from the TokenStatData struct in the openapi-service
and are no longer returned in the token info response.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AI models may use incorrect currency addresses from training data (e.g.
So11111111111111111111111111111111111111111 vs the correct ...112), causing
silent failures or misleading "jupiter has no route" errors. Added a warning
above the table and wrapped all addresses in backticks for clarity.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add ETH chain support to all P0 commands across CLI and SKILL.md docs:
Commands with ETH support added:
- token info/security/pool/holders/traders
- market kline/trending
- portfolio info/holdings/activity/stats/token-balance
- track follow-wallet
- swap, order quote/get
P1/P2 commands remain sol/bsc/base only:
- track kol/smartmoney (P1)
- multi-swap, order strategy create/list/cancel (P1)
- portfolio created-tokens (P2)
Also adds ETH chain currencies, explorer links, and gas price bounds
to gmgn-swap SKILL.md.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- parseDuration: bare numbers now default to minutes (e.g. "5" → "5m") instead of hard error
- Print a warning to stderr so users know the implicit conversion is happening
- Update SKILL.md: document unit suffix recommendation and bare-number fallback behavior
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bare numbers like 0.5 were silently accepted but caused inconsistent
server-side filtering. This change:
- Adds a parseDuration() validator that rejects values without a unit
- Accepts seconds (e.g. 30s) and minutes (e.g. 0.5m / 1m / 5m)
- Prints a clear error message when a bare number is passed
- Updates desc strings to document the required unit format
- Adds a new TrenchesFieldType 'duration' to distinguish these fields
GET /v1/trade/follow_wallet requires X-Signature (critical auth) but was
called via normalRequest (API Key only), causing HTTP 401 AUTH_INVALID
with "missing signature".
- OpenApiClient: getFollowWallet now calls criticalRequest; criticalRequest
queryExtra type widened to accept string[] to support the --filter option
- signer: buildMessage handles string[] values as sorted repeated k=v pairs,
consistent with buildUrl / URLSearchParams serialization
- config: update PRIVATE_KEY_REQUIRED_MSG to include follow-wallet
- SKILL.md: prerequisites note GMGN_PRIVATE_KEY for follow-wallet; first-time
setup now saves private key to ~/.config/gmgn/.env and removes /tmp copy;
Notes section corrected to reflect split auth modes
- CLAUDE.md: Auth Modes table updated — follow-wallet moved to Critical row
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Align SKILL with OpenAPI validation: signal_type must not include 14, 15,
or 16 (400 BAD_REQUEST). Update examples and clarify behavior when
--signal-type is omitted.
Made-with: Cursor
- Add POST /v1/market/token_signal client method and TokenSignalGroup interface
- Add market signal sub-command with individual flags for single-group queries
- Support --groups <json> override for multi-group parallel queries
- Document max 50 results per group limit
- Update SKILL.md, cli-usage.md, and README with signal types, response fields, and examples
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Previous description omitted portfolio created-tokens (dev wallet token
history, ATH market cap, graduation status) and token-balance sub-commands.
Added "tokens created by a developer wallet (with ATH market cap and DEX
graduation status)" and corresponding trigger phrases so agents match
queries like "what tokens has this dev launched" or "highest ATH token
this dev ever created".
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Shorten all 6 descriptions to 60-80 words with high-value terms in the
first 50 words (highest embedding weight). Add "crypto", "meme coin",
"meme token" where missing. Remove redundant chain-name repetition in
"Use when" sections. Keeps discriminating boundary hints (e.g. gmgn-track
→ gmgn-portfolio redirect for single-wallet queries).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Surface key features upfront: buying/selling meme coins, multi-wallet
trading, trailing stop loss, and trailing take profit — so clawhub.ai
skill search matches more user intents precisely.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Rewrite description fields across all 6 skills to follow a consistent
"Get [capabilities] via GMGN API. Use when user asks for [intents]."
pattern, aligned with how Openclaw agents search clawhub.ai. Adds
natural-language intent keywords (price, market cap, holder list,
Smart Money, KOL trades, copy-trading, etc.) so skills surface higher
in skill-search results.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Clarify `inner_count` description: add "(NOT graduated)" to distinguish from `open_count`
- Add explicit note that total created = `inner_count + open_count` (tokens array is capped at 100 and may be truncated)
- Add routing guidance for dev token queries: direct AI to use `portfolio created-tokens` when user asks about tokens a dev created
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>