146 Commits

Author SHA1 Message Date
gina888666 56648c5286 fix(holder-analysis): add robinhood to known chains to skip auto-detection
When CHAIN is explicitly set to 'robinhood', the auto-detection logic
previously treated it as unknown and fell back to probing bsc/eth/base,
returning empty data and forcing slow inline workarounds.

Adding a KNOWN_CHAINS tuple that includes 'robinhood' (and 'sol') causes
the script to skip the probe entirely and query the specified chain directly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-27 20:30:10 +08:00
David Lau fa556acb93 docs(market): extend signal_type range to 21 and name new types
Backend now accepts signal_type 1-21. Add types 19 (PlatformCallV2),
20 (KOLBuy), 21 (BankerClaims) to the signal-types tables and update the
1-18 -> 1-21 range references.

- src/commands/market.ts: --signal-type help text 1-18 -> 1-21
- docs/cli-usage.md: param note + signal-types table rows 19/20/21
- skills/gmgn-market/SKILL.md: param note, response-field note, signal-types table

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 12:23:36 +08:00
David Lau 748ec55e6e docs(gmgn-market): add robinhood to market signal Parameters chain line
Missed one stale "sol / bsc only" reference in the Parameters section;
signal supports sol / bsc / robinhood.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 19:53:25 +08:00
David Lau e68e889c3c feat(chains): support robinhood on kol, smartmoney, signal and cooking
- Remove the robinhood-rejection guards in kol, smartmoney, signal and
  cooking create-token so the CLI matches the backend, which now accepts
  robinhood on these endpoints
- Update --chain / --dex / --raised-token help text and error messages
- cooking: robinhood launchpad uses trench / pons DEXes, native raised
  token only
- Sync SKILL.md files, cli-usage.md and both Readmes with the new chain
  support

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 19:53:25 +08:00
Mila e9c8b0a9b5 Add gmgn-wallet-score skill for wallet copy-trade scoring
Adds a new skill that scores any wallet address across three angles —
profitability (track-record score), copy-tradeability (score + a
latency/slippage/gas backtest), and Dev reputation for token-creator
wallets — plus trading-style tags, computed deterministically from
GMGN portfolio data. Wires it into CLAUDE.md's skill routing and the
Readme skill tables/install instructions, and refreshes the stale
plugin metadata descriptions/keywords to reflect all 8 current skills.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-22 12:07:22 +08:00
gina888666 1c618a4883 fix(gmgn-holder-analysis): fix duplicate output and simplify entry cost section
- Fix output appearing twice by clarifying Output Rule in SKILL.md
- Simplify entry cost batch detail: replace per-wallet lists with
  selling/accumulating counts on the batch summary line

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-20 20:27:21 +08:00
davidsx f77da2a95e Merge pull request #180 from GMGNAI/fix-sanitize-token-metadata
fix(security): defend against prompt injection via token metadata
2026-07-20 19:27:07 +08:00
David Lau 06f5a70291 feat(cli): surface a notice when output sanitization strips metadata
Give operators/agents visibility into when the CLI neutralizes suspicious token
metadata in an API response.

- sanitizeForOutputWithCount returns the cleaned value plus the number of altered
  strings; sanitizeForOutput kept as a thin wrapper
- printResult prints "[gmgn-cli] Notice: neutralized N suspicious metadata value(s)"
  to stderr when anything was filtered (extra detail under GMGN_DEBUG); sanitized
  JSON still goes to stdout so piping is unaffected
- document the notice in the gmgn-token SKILL untrusted-data warning

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 19:24:50 +08:00
David Lau fdc7a3fb16 fix(security): defend against prompt injection via token metadata
Address HackenProof report GMGNWM-143, where attacker-controlled token metadata
could hijack an AI agent driving gmgn-cli into executing an unauthorized trade.
Move guardrails from overridable SKILL.md text into code.

- Add src/sanitize.ts: neutralize prompt-injection framing and hidden/control
  characters in API output (via printResult) and validate create-token metadata
- Add src/confirm.ts: code-enforced human confirmation for financial writes
  (swap, multi-swap, order strategy create, cooking create) — reads a typed
  "yes" from /dev/tty; automation requires GMGN_ALLOW_AUTOMATED_TRADES=1 + --yes
- Harden config.ts: tighten ~/.config/gmgn/.env to 0600 and warn if world-readable
- Update SKILL.md files, Readme.md and Readme.zh.md to document the gate,
  the --yes flag, and untrusted-metadata handling

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 19:24:50 +08:00
gina888666 7696a45a36 feat(gmgn-holder-analysis): extract script to file and enforce verbatim output
Two improvements:
1. Extract 700-line inline Python script to analyze.py — Claude no longer
   streams the entire script as text, reducing response time from ~2min to
   ~5s (API calls take ~3s, script execution <1s).
   Also adds full 3-way concurrency: holders + dev fetched in parallel, then
   created-tokens fires immediately when dev result arrives — saving ~1.2s vs
   prior serial approach. EVM addresses auto-detect chain (bsc→eth→base).

2. Add Output Rule section after the run command — Claude's reply MUST contain
   only the raw stdout verbatim, no summary or omission. Previously the CRITICAL
   note appeared before the command, so it was forgotten by reply time; moving
   it after (as the last thing Claude reads before replying) enforces compliance.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-20 16:22:24 +08:00
wuyanling 91489bda9d feat: add gmgn-holder-analysis skill
New skill for analyzing token holder chip structure.
Includes dump risk, dev wallet status, related funds,
quality signals, entry cost batches, buying power,
and AI recommendation. Supports zh/en bilingual output
via LANG env var. Uses pure Python subprocess + ThreadPoolExecutor,
no /tmp files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-16 20:39:41 +08:00
David Lau 2670188acb docs(market): hot-searches default set is 5 chains incl. robinhood
Update hot-searches default-set docs from 4 chains to 5
(sol/bsc/base/eth/robinhood) and fix two stale "7-chain" leftovers.

- skills/gmgn-market/SKILL.md, docs/cli-usage.md: 5-chain default
- src/commands/market.ts: update default-config comment

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-09 11:49:43 +08:00
David Lau 2d7d0043e6 feat(chain): add robinhood support; disable monad/megaeth/hyperevm/tron
Add robinhood as a supported chain across the CLI and skills, and stop
advertising chains that are not publicly supported yet.

robinhood:
- validate.ts: add to VALID_CHAINS and treat as EVM for address checks
- reject guards for commands that do not support it: track kol,
  track smartmoney, cooking create (mirrors market signal)
- --chain help updated for supported commands (token/portfolio/swap/
  market kline·trending·trenches·hot-searches/track follow-*/order get/
  gas-price); OpenApiClient chain comment
- docs: all SKILL.md, Readme.md, Readme.zh.md (split-out row for
  unsupported commands), cli-usage.md, plugin/marketplace descriptions

disable monad/megaeth/hyperevm/tron:
- comment monad out of VALID_CHAINS (kept for quick re-enable)
- strip these chains from all --chain help, SKILL.md, cli-usage.md
  (hot-searches default now 4 chains: sol/bsc/base/eth)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-08 22:48:54 +08:00
GMGN.AI b7b6250766 Merge pull request #166 from gina888666/feat/auto-config
feat(config): add gmgn-cli config command for API Key onboarding
2026-07-01 11:21:20 +08:00
gina888666 d56c904b26 docs(skills): fix Credential Model content in swap to match main verbatim
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 17:37:38 +08:00
gina888666 3ecd76c572 docs(skills): restore Credential Model to original position in cooking and swap
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 17:30:05 +08:00
gina888666 d0e9e42f17 docs(skills): remove Credential Model from token/market/portfolio/track (only cooking/swap had it on main)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 17:25:48 +08:00
gina888666 18a0bf98b1 docs(skills): restore Credential Model section to all 6 SKILL.md files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 17:18:31 +08:00
David Lau bdf1996e2f feat(market): hot-searches range filters, flattened params, long-form fields
- Add --min-*/--max-* range flags to `market hot-searches` (same metric names as
  market trending); flatten filter fields onto each param (no nested filter object)
- Document response as long-form RankItem fields (server maps shortcodes); drop the
  filter_id field from the documented response shape
- Sync SKILL.md, cli-usage.md, Readme.md, Readme.zh.md, and OpenApiClient types

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 16:02:59 +08:00
David Lau 36771529d7 feat(market): add hot-searches command for hot-search ranking
- Add `market hot-searches` CLI command for POST /v1/market/hot_searches
- Add getHotSearches() + HotSearchesParam/HotSearchesFilter to OpenApiClient
- Support --chain (repeatable), --interval, --limit, --filter, --params override
- Omitting --chain falls back to server default 7-chain config
- Validate --interval against 1m/5m/1h/6h/24h
- Sync SKILL.md, cli-usage.md, Readme.md, Readme.zh.md docs

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 11:22:27 +08:00
gina888666 88643ca05c feat(config): add --check flag and improve BEFORE RUNNING ANY COMMAND detection
- Add gmgn-cli config --check: pure local check for GMGN_API_KEY, exit 0 = found, exit 1 = not found
- Update BEFORE RUNNING ANY COMMAND in all 6 SKILL.md files to use --check instead of file path detection
- Add fallback instruction for outdated gmgn-cli versions (unknown option → prompt user to npm install -g gmgn-cli)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:39:57 +08:00
gina888666 d701420705 refactor(config): move setup flow into CLI, remove gmgn-config skill
- gmgn-cli config: add multi-language guidance (zh-CN/zh-TW/en) based on system locale
- gmgn-cli config --apply <key>: write GMGN_API_KEY + GMGN_PRIVATE_KEY to ~/.config/gmgn/.env and verify via track follow-wallet
- Delete skills/gmgn-config/SKILL.md — all logic now lives in CLI source
- Simplify BEFORE RUNNING ANY COMMAND in all 6 SKILL.md files to two CLI commands, no duplicated text
- Remove stale First-time setup sections (openssl-based) from all 6 SKILL.md files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:39:57 +08:00
gina888666 48a94a46a5 fix(gmgn-config): fix fixed guidance and verification messages in all languages
Add exact fixed messages for link guidance and verification results in
zh-CN, zh-TW, and English. Instruct Agent to output them verbatim in
the user's conversation language without paraphrasing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:39:57 +08:00
gina888666 ec35707d15 feat(config): extract setup flow into gmgn-config skill; simplify CLI output
- Add skills/gmgn-config/SKILL.md with complete setup flow: key pair
  generation, credential writing, and verification via track follow-wallet.
  Verification result is output in the user's conversation language.
- Simplify all 6 SKILL.md BEFORE RUNNING ANY COMMAND to one line that
  delegates to gmgn-config skill, removing duplicate logic.
- Remove locale detection from CLI — output only the link; Agent handles
  all user-facing guidance in the conversation language.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:39:57 +08:00
gina888666 cc2fc0ed00 fix(skills): replace python3/awk with node for .env config in all SKILL.md
Use node -e to write GMGN_API_KEY and GMGN_PRIVATE_KEY into .env —
node is guaranteed to be present since gmgn-cli requires Node.js.
Also clarify that the same config step applies when the user explicitly
runs gmgn-cli config and sends back an API Key.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:39:57 +08:00
gina888666 5453373ffa fix(skills): fix private key extraction command in BEFORE RUNNING ANY COMMAND
Replace awk+echo with python3+printf to correctly serialize the PEM
private key as a single-line \n-escaped value when writing to .env.
The awk approach produced multi-line output that broke .env parsing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:39:57 +08:00
gina888666 e8af4b88b5 feat(config): add gmgn-cli config command for API Key onboarding
Add a new `gmgn-cli config` command that automates Ed25519 key pair
generation for new users. The command reuses an existing keypair.pem if
present, or generates a new one, then outputs a pre-filled API Key
creation link with the public key embedded. Guidance text is output in
the user's system locale (zh-CN, zh-TW, or English).

All 6 SKILL.md files are updated with a BEFORE RUNNING ANY COMMAND
block that detects missing GMGN_API_KEY, triggers gmgn-cli config, and
instructs the Agent to write both GMGN_API_KEY and GMGN_PRIVATE_KEY
into ~/.config/gmgn/.env once the user provides their API Key.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:39:57 +08:00
David Lau ed58e67180 docs(market): address PR review — ETH trenches docs + created-unit clarity
ETH trenches/trending (SKILL.md, cli-usage.md):
- Add per-chain --launchpad-platform value tables incl. ETH for `market trenches`
- Add ETH trenches usage examples (all / new_creation / completed)
- Rename "Trending — ETH (No Platform Filter)" to "Trending — ETH by Launchpad
  Platform" and add --platform ETH examples (platform list is now supported)

min_created/max_created units (market trending):
- Clarify that the raw upstream rank interface accepts minutes only; the
  openapi-service does NOT forward this field — it evaluates the age window itself
  (cutoff = now - duration, native for m/h/d), so 6h/7d work via this CLI.
- Note a bare number with no unit suffix is rejected. Update --help text and
  code comment accordingly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 21:15:22 +08:00
David Lau ca55a80d12 feat(market): add min/max range filters to trending command
- Register dynamic --min-*/--max-* flags on `market trending`, mirroring the
  trenches pattern; forwarded as min_<metric>/max_<metric> query params to
  /v1/market/rank
- Add RANK_RANGE_FIELDS covering the 18 numeric metrics plus min/max-created
  token-age windows (m/h/d duration strings, passed through as-is)
- Document range filters and web-client filter aliases in SKILL.md, cli-usage.md,
  Readme.md and Readme.zh.md

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 20:30:25 +08:00
David Lau 4205bda0af feat(market): add eth chain support for trenches
- Add eth to TRENCHES_PLATFORMS and TRENCHES_QUOTE_ADDRESS_TYPES
- Allow --chain eth for market trenches
- Document eth platforms in CLI help, SKILL.md, and cli-usage.md

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 16:21:19 +08:00
David Lau 0b140b4a5f feat(market): support 30s kline resolution
- Add 30s to --resolution help text in market kline command
- Sync SKILL.md argument-hint and parameters table
- Sync docs/cli-usage.md resolution values

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 15:00:46 +08:00
GMGN.AI 22d2ad25d5 Merge pull request #167 from GMGNAI/feat-quote-exist-auth
docs(order-quote): order quote now uses normal auth, no private key needed
2026-06-24 16:21:20 +08:00
David Lau d0ca1b40ce docs(order-quote): order quote now uses normal auth, no private key needed
quote endpoint downgraded to exist auth (API Key only); from_address
no longer needs to match the key's bound wallet. Update all auth
references in cli-usage.md, SKILL.md, and CLAUDE.md.
2026-06-22 16:55:51 +08:00
gumponchain b6c4ff50f2 feat(bsc): add new BSC launchpad platforms
Add cubepeg, likwid, goplus_creator, goplus_skills, openfour after
four_xmode_agent; add flap_stocks and flap_aioracle after flap.
Updates both TRENCHES_PLATFORMS defaults and SKILL.md examples.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 11:47:18 +08:00
prodev-nova 3d11f8c6d6 docs(cooking): clarify Flap fee-share schema and add real-world examples
- Correct mkt_bps: it's the tax-recipient share (X handle in gift mode or
  split_conf addresses in split mode), not a generic "marketing" fund
- Make twitter_account / split_conf conditional-required based on recipient_type
  instead of always required
- Add two end-to-end Flap examples (split mode → BSC address, gift mode → X handle)
- Merge "Full worked examples" into the Usage Examples section

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 14:54:11 +08:00
GMGN.AI eda0ac9f52 Merge pull request #158 from GMGNAI/feat-add-follow-tokens-command
Feat add follow tokens command
2026-06-11 11:53:40 +08:00
prodev-nova 1964e927cd fix(cooking): remove deprecated --interval-seconds flag
The interval_seconds param is no longer used. Removed from the CLI
option, params assembly, CreateTokenParams, SKILL.md and cli-usage.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 21:03:23 +08:00
David Lau 0f3d550736 feat(track): add follow-token-groups subcommand
Adds `track follow-token-groups` command that calls
GET /v1/user/follow_token_groups to retrieve a wallet's token follow
group names (id, name, rank) for a given chain.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-05 17:08:44 +08:00
David Lau 73d81fa0b2 fix(docs): align slippage to integer 0–100 in all remaining files
Update Readme.md, Readme.zh.md, src/commands/swap.ts and cooking.ts
with integer 0–100 slippage examples (e.g. 30 = 30%) to match the
updated API validation and skill docs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 20:09:27 +08:00
David Lau 4ef54b0bcc fix(docs): update strategy examples slippage to integer and add sell-param
- Change example slippage values from 0.01 to 30 (integer 0-100 scale)
- Add --sell-param option doc (required for smart_trade)
- Add --buy-param option doc
- Clarify --slippage description as integer 0-100

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 19:40:37 +08:00
David Lau dd41e38755 feat(track): add follow-tokens subcommand
Adds gmgn-cli track follow-tokens to query a wallet's followed token
list on a given chain via GET /v1/user/follow_tokens.

- Add getFollowTokens() to OpenApiClient (authExist)
- Add track follow-tokens command with --chain, --wallet (required),
  --group-id, --interval, --order-by, --direction, --limit, --cursor,
  --search optional flags
- Update SKILL.md: sub-commands table, rate limit table (weight 3),
  usage examples, options table, response fields
- Update docs/cli-usage.md and Readme.md / Readme.zh.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 18:37:43 +08:00
GMGN.AI ddc025bb97 Merge pull request #152 from prodev-nova/feat/cooking
docs(cooking): worked examples, platform matrix, TradeParam, anti-mev-mode fix
2026-06-04 17:11:17 +08:00
GMGN.AI f96519941e Merge pull request #151 from GMGNAI/feat/smart-trade-order-strategy
feat(swap): add smart_trade order type to order strategy create
2026-06-04 17:04:37 +08:00
prodev-nova fd8a1c4d2a fix(cooking): anti-mev-mode values off / normal / secure
Correct the --anti-mev-mode enum to off / normal / secure
(across cooking.ts, SKILL.md, cli-usage.md, and the TradeParam examples).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 17:00:23 +08:00
prodev-nova 0282a9a09b docs(cooking): add worked examples, platform matrix, TradeParam; fix anti-mev-mode values
- Fix --anti-mev-mode values: off / jito / 0slot (was normal / secure)
- Add platform capability matrix (per-platform fields, bundle/sniper
  wallet limits, cashback/mayhem support)
- Add Quote Token conversion guidance for --raised-token launches
- Add full TradeParam field table for --buy/sell-trade-config
- Add two full worked CLI examples (Pump bundle+sniper+autosell+buyback,
  FourMeme fee-split + USDT raise token)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 16:34:27 +08:00
David Lau 17d7de841e feat(swap): add smart_trade order type to order strategy create
- Add --order-type smart_trade and --sub-order-type mix_trade support
- Make --check-price optional (required for limit_order, omitted for smart_trade)
- Add --open-price, --quote-investment, --condition-orders options
- Update StrategyCreateParams interface: check_price optional, add condition_orders/quote_investment
- Update SKILL.md and cli-usage.md docs with smart_trade examples and parameter table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 14:27:01 +08:00
prodev-nova 134a11593c fix(cooking): correct pump fee-share provider values
The pump_fee_share_list `provider` field rejected "wallet" with
"unknown provider: wallet". Valid values are solana / twitter / github.

- OpenApiClient: update PumpFeeShareInfo provider comment
- SKILL.md / cli-usage.md: provider enum solana / twitter / github,
  username is a SOL address when provider = solana

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 20:50:54 +08:00
David Lau a161bd733d fix(portfolio): rename activity type values to camelCase
- Rename transfer_in/transfer_out → transferIn/transferOut in portfolio activity --type filter
- Update SKILL.md and portfolio.ts help text to reflect new enum values

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 16:27:53 +08:00
prodev-nova c6fae6afe7 docs(cooking): use "exist auth" not "normal auth" for cooking stats
Address review feedback on PR #148: cooking stats uses exist auth
(authExistRequest), matching the CLI client and project terminology.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 14:50:49 +08:00
prodev-nova ec5719ce12 feat(cooking): complete create params, fix Flap split & pump provider
- Add advanced create_token params: description, fee, dev_max_fee_per_gas,
  raised_token, anti_mev_mode, dev_wallet_bps, source, approve_vision
- Add fee-share configs: pump_fee_share_list, bags_fee_share_list,
  flap_rate_conf (+ V6 buy/sell_tax_rate), fourmeme_rate_conf
- Add multi-wallet buy: buy_wallets, snip_buy_wallets, interval_seconds
- Add CondMarket TradeParam (buy/sell_trade_config) and auto-sell sell_configs
- Pump modes: --is-mayhem / --is-cashback / --is-buy-back (Agent Auto Buyback)
- Fix Flap split_conf field: split_bps -> bps
- Pump fee-share provider: github / wallet only (drop twitter)
- Drop is_revoke_fee_auth and is_agent/agent_bps
- Sync SKILL.md and cli-usage.md with all flags, JSON schemas,
  guided launch flow (platform-aware advanced options) and percentage-based
  fee-share UX

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 14:04:35 +08:00