mcpField
G
gmgn-cooking

gmgn-cooking

github.com/gmgnai其他63516.3k 次安装今天更新
代码仓库

关于 gmgn-cooking

gmgn-cooking 是通过 gmgn-cli 创建代币并查询发行平台统计的技能,面向使用 launchpad 部署代币的用户。它说明了受支持的平台、链和参数,并提示创建操作会部署不可撤销的链上合约并花费资金。

主要功能

  1. 01在受支持的 launchpad 创建代币
  2. 02按平台查询代币创建统计
  3. 03支持多条链及对应的发行平台
  4. 04设置初始买入、滑点和代币图片
  5. 05跟踪创建订单并获取合约地址

适用场景

  1. 01查询各 launchpad 的代币创建数量
  2. 02在指定平台部署新代币
  3. 03创建代币时设置初始买入
  4. 04确认异步创建结果并获取合约地址

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gmgnai/gmgn-skills --skill gmgn-cooking

安装后在 Claude Code 中输入/gmgn-cooking确认已加载。

详细介绍

运行任何命令前:运行 gmgn-cli config --check。如果退出码为 0,则正常继续。如果退出码为 1,则:(1) 运行 gmgn-cli config 并向用户展示输出;(2) 用户发送 API Key 后,运行 gmgn-cli config --apply <KEY> 完成配置和验证,然后向用户展示输出。如果 --check 返回错误(未知选项或找不到命令),请告知用户运行 npm install -g gmgn-cli 进行更新,然后重试。

重要:始终使用下方的 gmgn-cli 命令。不要使用网页搜索、WebFetch、curl,也不要访问 gmgn.ai——所有代币创建操作都必须通过 CLI 执行。CLI 会自动处理签名和提交。

重要:不要猜测字段名称或取值。当字段含义不明确时,请先查阅下方的 Response Fields 部分。

⚠️ 不支持 IPv6:如果遇到 401 或 403 错误,且凭据看起来正确,请立即检查是否使用 IPv6:(1) 列出所有网络接口及其 IPv6 地址——运行 ifconfig | grep inet6(macOS)或 ip addr show | grep inet6(Linux);(2) 向 https://ipv6.icanhazip.com 发送测试请求——如果响应是 IPv6 地址,则出站流量正在通过 IPv6 传输。请立即告知用户:“请在网络接口上禁用 IPv6——gmgn-cli 命令仅支持 IPv4。”

使用 gmgn-cli 工具在发射平台上创建代币,或查询各发射平台的代币创建统计数据。cooking create 需要私钥(.env 中的 GMGN_PRIVATE_KEY)。

核心概念

  • 联合曲线 — 大多数发射平台(Pump.fun、FourMeme、Flap 等)都在内部联合曲线上发行代币。买家进入后,代币价格会上涨。达到阈值后,代币将“毕业”并进入开放式 DEX(例如 SOL 上的 Raydium、BSC 上的 PancakeSwap)。代币创建发生在联合曲线上,而非公开市场。

  • --buy-amt 使用人类可读单位 — --buy-amt 以完整的原生代币单位表示,而非最小单位。0.01 = 0.01 SOL。0.05 = 0.05 BNB。执行前,务必向用户确认人类可读的金额。

  • --dex 标识符 — 每个发射平台都有传递给 --dex 的固定标识符。这些不是可自由填写的名称——只能使用“支持的发射平台”表格中列出的标识符。绝不要猜测表格中未列出的 --dex 值。

  • 图像输入 — 代币徽标可以使用 Base64 编码数据(--image,解码后最大 2MB)或可公开访问的 URL(--image-url)。二选一,不可同时提供。如果用户提供文件路径,请读取文件并将其编码为 Base64,然后传给 --image。如果用户提供 URL,直接使用 --image-url。

  • 通过 order get 轮询状态 — cooking create 是异步操作。初始响应可能显示 pending。使用 gmgn-cli order get --chain <chain> --order-id <order_id> 进行轮询,直到状态变为 confirmed。新代币的合约地址位于 order get 响应的 report.output_token 字段中,而不在初始创建响应中。

  • 签名认证 — cooking create 需要 GMGN_API_KEY 和 GMGN_PRIVATE_KEY。私钥不会离开本机——CLI 仅使用它进行本地签名。cooking stats 使用 exist 认证(仅需 API Key)。

  • 滑点 — 初始买入与代币创建在同一笔交易中执行。滑点适用于该笔买入。使用 --slippage(整数,范围为 0–100,例如 30 = 30%)或 --auto-slippage。设置了 --buy-amt 时,必须提供其中一个。

财务风险提示

此技能会执行真实且不可逆的区块链交易。

  • 每条 cooking create 命令都会部署链上代币合约并花费真实资金(初始买入金额)。
  • 代币部署一旦在链上确认,便无法撤销。
  • 仅在愿意承担资金损失的情况下使用此技能。初始买入金额不可退款。

子命令

子命令描述
cooking stats获取按 launchpad 平台分组的代币创建数量统计(需要认证)
cooking create在 launchpad 平台上部署新代币(需要签名认证)

支持的链

sol / bsc / base / robinhood

各链支持的 Launchpad

链--dex 值募资代币(--raised-token)
solpump、bonk、bagspump:""(SOL)或 USDC;bonk:""(SOL)或 USD1;bags:仅 ""(SOL)
bscfourmeme、flapfourmeme:""(BNB)、USD1、USDT;flap:仅 ""(BNB)
baseklik、clanker仅 ""(报价代币固定为 WETH)
robinhoodtrench、pons仅 ""(原生代币)

当用户用俗称提及平台时(例如“pump.fun”“four.meme”),请在运行命令前将其映射为此表中的正确 --dex 标识符。

反 MEV(--anti-mev)仅支持 sol。在 bsc 或 base 上传入该参数会返回 400 错误。

报价代币换算(设置 --raised-token 时)

即使使用 USDC / USD1 / USDT 等报价代币进行募资,--buy-amt 也始终以原生代币单位(SOL / BNB / ETH)计。如果用户提供的是报价代币金额,请先自行换算为原生代币金额,再传入:

buy_amt_in_native = quote_amount × quote_price / native_price

此换算适用于**--buy-amt 以及 --buy-wallets 和 --snip-buy-wallets 中的 buy_amt 字段**。不适用于 --sell-configs(其中的 check_price 始终表示 USD 市值,而非代币金额)。按链的原生精度进行舍入。若 --raised-token 为空或为原生代币,则无需换算。

前置条件

  • cooking stats:仅需 GMGN_API_KEY
  • cooking create:必须在 ~/.config/gmgn/.env 中配置 GMGN_API_KEY 和 GMGN_PRIVATE_KEY。私钥必须对应绑定到 API Key 的钱包。
  • 全局安装 gmgn-cli — 若未安装,请运行:npm install -g gmgn-cli

重要 — 凭据查找顺序: gmgn-cli 会先加载 ~/.config/gmgn/.env,然后覆盖其中的值:使用当前工作目录中找到的任何 .env 文件(项目级配置优先于全局配置)。如果凭据缺失或不正确,请检查工作区目录中的 .env 是否覆盖了全局配置:

ls -la .env 2>/dev/null && echo "WARNING: local .env is overriding ~/.config/gmgn/.env"

如果本地 .env 存在但缺少 GMGN_API_KEY / GMGN_PRIVATE_KEY,请将它们添加到该文件,或删除该文件以使用全局配置。

速率限制处理

所有烹饪路由都使用 GMGN 基于套餐的漏桶限流:Free 5/5、Plus 20/20、Pro 50/50(速率/容量)。持续吞吐量约为每秒 套餐速率 ÷ 权重 个请求。

命令权重
cooking create5
cooking stats1

请求返回 429 时:

  • 遇到 RATE_LIMIT_EXCEEDED 时,向用户原样告知:已达到当前套餐的限频上限,点击 https://gmgn.ai/ai?chain=bsc&tab=paid_plans 升级套餐,获得更高速率限制。每个用户任务最多显示一次此升级提示。同一冷却期间后续出现 RATE_LIMIT_BANNED 时,不要重复提示。

  • 从响应标头中读取 X-RateLimit-Reset——这是限制重置时间的 Unix 时间戳。

  • 如果响应正文包含 reset_at(例如,{"code":429,"error":"RATE_LIMIT_BANNED","message":"...","reset_at":1775184222}),提取 reset_at——这是封禁解除时间的 Unix 时间戳(通常为 5 分钟后)。将其转换为本地时间,并准确告知用户何时可以重试。

  • cooking create 是一笔真实交易:收到 429 后,绝不要循环重试或自动重新提交。请等到重置时间后再重试。

  • 对于 RATE_LIMIT_EXCEEDED 或 RATE_LIMIT_BANNED,冷却期间的重复请求每次都会将封禁时间延长 5 秒,最长可达 5 分钟。

  • 遇到 RATE_LIMIT_BANNED_MAX 时,由于冷却期间请求仍不断到达,封禁时间已达到 5 分钟上限。请停止此任务中的所有 GMGN 调用(而不只是失败的调用),并准确告知用户重置时间;任何在 reset_at 之前发出的请求都会使封禁时间再次重置为 5 分钟。

  • 遇到 403 PLAN_UPGRADE_REQUIRED 时,端点所需的速率限制权重高于用户套餐容量,因此该套餐下永远无法成功——不要重试或等待。告知用户当前套餐无法使用此端点,并显示响应中的 upgrade_message(其中包含升级链接 https://gmgn.ai/ai?chain=bsc&tab=paid_plans)。

凭证模型
  • GMGN_PRIVATE_KEY 仅用于本地消息签名——私钥绝不会离开本机。CLI 在进程内计算 Ed25519 签名,并仅在 X-Signature 请求标头中传输 Base64 编码结果。
  • GMGN_API_KEY 通过 HTTPS 在 X-APIKEY 标头中传输。
  • 两种凭证都不会作为命令行参数传递。

cooking stats 用法

gmgn-cli cooking stats [--raw]
cooking stats 响应字段
字段类型描述
launchpadstringLaunchpad 标识符(例如 pump、bonk、fourmeme)
token_countint通过 GMGN 在该 Launchpad 上创建的代币数量

cooking create 参数

参数必填说明
--chain是链:sol / bsc / base / robinhood
--dex是Launchpad 平台标识符——请参阅支持的 Launchpad 表。切勿猜测此值。
--from是钱包地址(必须与 API Key 绑定)
--name是代币全名(例如 Doge Killer)。最多 100 个字符;若包含控制字符或提示词注入格式,则会被拒绝。
--symbol是代币代码(例如 DOGEK)。最多 100 个字符;若包含控制字符或提示词注入格式,则会被拒绝。
--buy-amt是初始买入金额,单位为易读的原生代币单位(例如 0.01 = 0.01 SOL)。此处不是最小单位。
--image否*代币 Logo 的 base64 编码数据(解码后最多 2MB)。不能与 --image-url 同时使用。必须提供其中一项。
--image-url否*可公开访问的代币 Logo URL。不能与 --image 同时使用。必须提供其中一项。
--slippage否*滑点容差,取值为 0–100 的整数,例如 30 = 30%。不能与 --auto-slippage 同时使用——二选一。
--auto-slippage否*启用自动滑点。不能与 --slippage 同时使用。
--description否代币描述 / 项目介绍。最多 500 个字符;若包含控制字符或提示词注入格式,则会被拒绝。
--website否项目网站 URL。必须是有效的 http(s) URL。
--twitter否Twitter / X URL。必须是有效的 http(s) URL。
--telegram否Telegram 群组 URL。必须是有效的 http(s) URL。
--fee否基础 Gas / 手续费
--priority-fee否SOL 优先费(仅限 SOL)
--tip-fee否小费(SOL 链上为 SOL / BSC 链上为 BNB;BASE 上会忽略)
--gas-price否以 wei 为单位的 Gas 价格(EVM 链:BSC / BASE)
--max-fee-per-gas否以 wei 为单位的每单位 Gas 最高费用(仅限 EVM)
--max-priority-fee-per-gas否以 wei 为单位的每单位 Gas 最高优先费(仅限 EVM)
--anti-mev否启用反 MEV 保护(仅限 SOL;在 BSC / BASE 上会被拒绝)
--anti-mev-mode否反 MEV 模式:off / normal / secure(仅限 SOL)
--raised-token否募资代币代码。pump:USDC;bonk:USD1;fourmeme:USDT / USD1;省略或设为 "" 表示使用原生代币
--dev-wallet-bps否Dev 钱包手续费分成,单位为基点(100 = 1%)
--dev-gas否Dev Gas 金额
--dev-priority否Dev 优先费
--dev-tip否Dev 小费
--dev-max-fee-per-gas否Dev 交易 feeCap,单位为 wei(EVM EIP-1559)
--approve-vision否批准的 Vision 版本:v1 / v2(默认:v2)
--source否流量来源标识符
--is-mayhem否启用 Mayhem 模式(仅限 Pump.fun)
--is-cashback否启用 Cashback(仅限 Pump.fun)
--is-buy-back否启用 Agent 自动回购(仅限 Pump.fun)
--pump-fee-share-list否Pump.fun 手续费分成列表,格式为 JSON 数组:[{"provider":"twitter","username":"<handle>","basic_points":<n>}](仅限 Pump.fun)
--flap-rate-conf否Flap 费率配置,格式为 JSON 对象(仅限 Flap)
--fourmeme-rate-conf否FourMeme 费率配置,格式为 JSON 对象(仅限 FourMeme)
--bags-fee-share-list否BAGS 手续费分成列表,格式为 JSON 数组:[{"provider":"twitter","username":"<handle>","basic_points":<n>}](仅限 BAGS)
--bonk-model否Bonk 模型标识符(仅限 bonk DEX)
--buy-wallets否多钱包买入配置,格式为 JSON 数组:[{"from_address":"<addr>","buy_amt":"<n>"}]
--snip-buy-wallets否狙击买入钱包配置,格式为 JSON 数组:[{"from_address":"<addr>","buy_amt":"<n>"}]
--buy-trade-config否CondMarket 订单的买入侧交易配置,格式为 JSON(TradeParam)——请参阅高级 API 字段
--sell-trade-config否自动卖出 / pending_sell 的卖出侧交易配置,格式为 JSON(TradeParam)——请参阅高级 API 字段
--sell-configs否自动卖出策略列表,格式为 JSON 数组(CookingSellConfig[])——请参阅自动卖出配置
* --image 或 --image-url:必须且只能提供一个。--slippage 或 --auto-slippage:必须且只能提供一个。

高级 API 字段

结构化标志(--pump-fee-share-list、--bags-fee-share-list、--flap-rate-conf、--fourmeme-rate-conf、--buy-wallets、--snip-buy-wallets、--buy-trade-config、--sell-trade-config、--sell-configs)均接受一个 JSON 字符串。本节说明每个字段的确切 JSON 架构。

平台功能矩阵

各平台支持的高级功能。请勿发送平台不支持的字段。

平台--dex链平台专属字段Bundle(--buy-wallets)狙击(--snip-buy-wallets)返现Mayhem
Pump.funpumpSOL--pump-fee-share-list / --dev-wallet-bps / --is-buy-back✅ 最多 12 个钱包✅ 最多 10 个✅✅
BonkbonkSOL--bonk-model❌✅ 最多 10 个❌❌
BAGSbagsSOL--bags-fee-share-list / --dev-wallet-bps❌✅ 最多 10 个❌❌
FourMemefourmemeBSC--fourmeme-rate-conf✅ 最多 3 个钱包✅ 最多 10 个❌❌
FlapflapBSC--flap-rate-conf❌✅ 最多 10 个❌❌
KlikklikBase—❌✅ 最多 10 个❌❌
ClankerclankerBase—❌✅ 最多 10 个❌❌
  • --is-cashback / --is-mayhem 仅适用于 Pump.fun——其他平台会拒绝这些标志。
  • Bundle/自动卖出(--sell-configs)和狙击(--snip-buy-wallets)仅在矩阵标有 ✅ 的平台上可用。

**基点规则:**名称为 *_bps / basic_points 的字段均以基点为单位(100 = 1%)。若某节要求份额总和必须达到指定值,则所有条目相加后必须恰好为 10000(FourMeme 改用整数百分比,合计为 100;见下文)。

**与用户沟通时始终使用百分比,绝不要使用基点。**询问或确认任何份额、费用或分配比例时,都要用百分比表述(例如 “分配给这个钱包的比例是多少?” → 用户回答 "50%")。构建 JSON 时自行转换为字段所需的单位——绝不要向用户索要原始基点数值:

用户提供*_bps 字段(×100)FourMeme *_rate 字段(×1)
5%5005
50%500050
100%10000100

未经用户明确指示,绝不要设置费用分成;这会将代币收入永久分配给列出的账户。

Pump.fun(--dex pump)

is_mayhem、is_cashback、is_buy_back 使用对应的 CLI 标志(--is-mayhem、--is-cashback、--is-buy-back)。pump_fee_share_list 通过 --pump-fee-share-list 传递。

字段CLI 标志描述
pump_fee_share_list--pump-fee-share-list <json>费用分成列表——参见下方 JSON 架构
is_buy_back--is-buy-back启用 Agent 自动回购

--pump-fee-share-list 的 JSON 架构——对象数组:

字段类型必填描述
providerstring是solana / twitter / github
usernamestring是平台用户名;当 provider = solana 时填写 SOL 地址
basic_pointsint是以基点表示的份额——所有条目合计必须为 10000

示例:--pump-fee-share-list '[{"provider":"twitter","username":"handle","basic_points":10000}]'

Bonk(--dex bonk)

dev_wallet_bps → --dev-wallet-bps,bonk_model → --bonk-model。没有其他结构化字段。

BAGS(--dex bags)

dev_wallet_bps → --dev-wallet-bps。bags_fee_share_list 通过 --bags-fee-share-list 传递。

--bags-fee-share-list 的 JSON 架构——对象数组:

字段类型必填描述
providerstring是twitter / solana / kick / github
usernamestring是平台用户名
basic_pointsint是以基点表示的份额——与 dev_wallet_bps 相加后,合计必须为 10000
Flap(--dex flap)

flap_rate_conf 通过 --flap-rate-conf 传入。

--flap-rate-conf 的 JSON 架构——单个对象:

字段类型必填描述
buy_tax_rateint有条件V6 单独买入税率,单位为基点,例如 1% → 100。与 sell_tax_rate 配合使用。
sell_tax_rateint有条件V6 单独卖出税率,单位为基点
tax_rateint有条件V5 统一税率,单位为基点,例如 5% → 500。替代 buy_tax_rate + sell_tax_rate 使用。
mkt_bpsint是税款接收方份额——收取的税款中分配给接收方的部分:当 recipient_type = gift 时发送给 X 账号;当 recipient_type = split 时发送给 split_conf 中的地址。这不是通用的“营销”资金。
deflation_bpsint是销毁(减少供应量)份额
dividend_bpsint是分红(持有者奖励)份额
lp_bpsint是流动性份额
recipient_typestring是gift(将接收方份额发送给 X 账号)/ split(将其发送给指定地址)
twitter_accountstring有条件接收方份额的 X / Twitter 账号——当 recipient_type = gift 时必填;使用 split 时留空 ""。
split_confarray有条件接收方地址分配列表——当 recipient_type = split 时必填;使用 gift 时留空 []。
minimum_share_balanceint是符合分红资格的最低持有量——至少 10000 个代币
beneficiarystring否旧版单一费用接收方地址。使用 recipient_type + twitter_account / split_conf 时省略。

split_conf 条目:{ "recipient": "<address>", "bps": <n> }——所有 bps 之和必须为 10000。

  • **税款分配:**只要税率 > 0,mkt_bps + deflation_bps + dividend_bps + lp_bps 之和就必须为 10000。mkt_bps 是接收方的份额;其余三项分别用于销毁 / 分红 / 流动性。
  • **接收方路由:**设置 recipient_type = gift + twitter_account,将接收方份额发送给 X 账号;或者设置 recipient_type = split + split_conf,将其发送给一个或多个地址。只填写与所选模式对应的字段;另一个字段留空("" / [])。
  • V5 使用 tax_rate(统一税率);V6 使用 buy_tax_rate + sell_tax_rate(单独税率)。
  • 当 lp_bps > 0 时:minimum_share_balance 必须 > 0。
FourMeme(--dex fourmeme)

fourmeme_rate_conf 通过 --fourmeme-rate-conf 传入。

fourmeme_user_login_sign、is_approve_allowance、is_raised_swap 是 broker/jobs 的内部字段——公共 API 不接受这些字段,因此没有对应的 flag。多报价 raise-token 重试会由服务端自动处理(轮询 order get);调用方无需设置这些字段。

--fourmeme-rate-conf 的 JSON 架构——单个对象:

字段类型必填描述
fee_planbool否启用费用计划
recipient_addressstring是费用接收方地址
fee_rateint是费用率,例如 5% → 5(整数百分比,不是基点)
burn_rateint是销毁份额
divide_rateint是分红份额
liquidity_rateint是流动性份额
recipient_rateint是接收方份额
min_sharingint是最低分配门槛

当 fee_rate > 0 时:burn_rate + divide_rate + liquidity_rate + recipient_rate 之和必须为 100。当 recipient_rate > 0 时:min_sharing 必须 > 0。

自动卖出配置

sell_configs 通过 --sell-configs 传入,值为 JSON 数组。它会安排条件卖出订单,并在代币上线成功后自动执行。若为不带自动卖出的标准上线,请完全省略此项。

--sell-configs 接受 CookingSellConfig 对象组成的 JSON 数组:

字段类型必填描述
sell_typestring是delay_sell / limit_order
delay_secint64条件必填买入后触发前等待的秒数;当 sell_type = delay_sell 时必填
delay_mili_secint64否买入后触发前等待的毫秒数;优先级高于 delay_sec
sell_ratiostring是卖出比例——"1" = 100%,"0.5" = 50%
check_pricestring条件必填触发卖出的美元计价市值;当 sell_type = limit_order 时必填
wallet_addresses[]string是此策略适用的钱包(空数组 = 不执行)

示例:--sell-configs '[{"sell_type":"delay_sell","delay_sec":60,"sell_ratio":"0.5","wallet_addresses":["<addr>"]}]'

这些 CondMarket 订单(滑点、费用、反 MEV)的买入/卖出执行参数可通过 --buy-trade-config / --sell-trade-config(TradeParam JSON)单独调整。它们不会影响主创建交易;若省略,则回退到外层交易标志。

  • check_price 是美元计价的总市值——例如,"50000" 表示在市值达到 50,000 美元时触发。
  • wallet_addresses 可以混合使用 from_address 和 buy_wallets 中的条目。服务会自动为狙击钱包创建 signal_cooking,并为主钱包/捆绑钱包创建 pending_sell。
  • 一个钱包可以配置多个策略(例如,延迟卖出 50%,然后限价卖出其余部分);每个策略独立生效。
TradeParam(--buy-trade-config / --sell-trade-config)

这些参数用于调整 CondMarket 买入/卖出订单的执行参数(捆绑买入、狙击买入和自动卖出)。它们不会影响主创建交易(dev 交易使用外层的 --dev-* 标志)。若省略,则回退到外层交易标志。

--buy-trade-config / --sell-trade-config 均接受单个 JSON 对象:

字段类型描述
slippagenumber滑点;仅在值为真时发送
feestring基础 gas/费用;仅在值为真时发送
priority_feestring优先费用;仅在值为真时发送
tip_feestringSOL Jito 小费;仅在值为真时发送
gas_pricestringGas 价格,单位为 wei(EVM);仅在值为真时发送
max_priority_fee_per_gasstringEVM EIP-1559;仅在值为真时发送
max_fee_per_gasstringEVM EIP-1559;仅在值为真时发送
auto_slippagebool始终发送
is_anti_mevbool始终发送
anti_mev_modestringoff / normal / secure;始终发送

示例:--buy-trade-config '{"slippage":50,"auto_slippage":false,"priority_fee":"0.0005","tip_fee":"0.0001","is_anti_mev":true,"anti_mev_mode":"secure"}'

不带 buyConfig 的标准上线会发送 {"is_anti_mev":false,"anti_mev_mode":"off"},并传入空的 buy_wallets 列表。

cooking create 响应字段

字段类型描述
statusstringpending / confirmed / failed
hashstring交易哈希(状态为 pending 时可能为空)
order_idstring订单 ID——传给 gmgn-cli order get 以查询最终状态
error_codestring失败时的错误代码
error_statusstring失败时的错误描述

状态轮询

代币创建是异步的。如果初始 cooking create 响应显示 status: pending:

  1. 每 2 秒使用 gmgn-cli order get 轮询一次,最多轮询 30 秒:
    gmgn-cli order get --chain <chain> --order-id <order_id>
    
  2. 新代币的合约 / 铸币地址位于 order get 响应的 report.output_token 字段中(仅当 state = 30 且 status = "successful" 时存在)——cooking create 不会直接返回该地址。
  3. 当 status 为 confirmed、failed 或 expired 时,停止轮询。
  4. 状态为 confirmed 时:将 output_token 显示为代币地址,并附上区块浏览器链接。
  5. 状态为 failed / expired 时:报告 error_status,不要自动重试。

使用示例

示例按从简到繁排列:先是基础的单次启动命令,再到完整的端到端配置。以下每个 JSON 参数都是有效的负载格式,可直接复制并按需调整。

# Get token creation statistics per launchpad
gmgn-cli cooking stats

# Create a token on Pump.fun (SOL) — with URL image
gmgn-cli cooking create \
  --chain sol \
  --dex pump \
  --from <wallet_address> \
  --name "My Token" \
  --symbol MAT \
  --buy-amt 0.01 \
  --image-url https://example.com/logo.png \
  --slippage 30 \
  --priority-fee 0.001

# Create a token on FourMeme (BSC) — base64 image + USD1 raise token
gmgn-cli cooking create \
  --chain bsc \
  --dex fourmeme \
  --from <wallet_address> \
  --name "Four Token" \
  --symbol FOUR \
  --buy-amt 0.05 \
  --image "$(base64 -i /path/to/logo.png)" \
  --auto-slippage \
  --raised-token USD1

# Create a token on Bonk (SOL) with anti-MEV
gmgn-cli cooking create \
  --chain sol \
  --dex bonk \
  --from <wallet_address> \
  --name "Bonk Token" \
  --symbol BNKT \
  --buy-amt 0.01 \
  --image-url https://example.com/logo.png \
  --auto-slippage \
  --anti-mev

# Create on Pump.fun with auto-sell: sell 50% 60s after buy
gmgn-cli cooking create \
  --chain sol \
  --dex pump \
  --from <wallet_address> \
  --name "My Token" \
  --symbol MAT \
  --buy-amt 0.01 \
  --image-url https://example.com/logo.png \
  --auto-slippage \
  --sell-configs '[{"sell_type":"delay_sell","delay_sec":60,"sell_ratio":"0.5","wallet_addresses":["<wallet_address>"]}]'

这些示例完整对应实际的端到端启动配置。

Pump.fun(SOL)— Bundle + Sniper + 自动卖出 + Agent 自动回购

gmgn-cli cooking create \
  --chain sol \
  --dex pump \
  --from DevWallet... \
  --name "Demo Coin" \
  --symbol DEMO \
  --buy-amt 0.5 \
  --image-url https://cdn.example.com/coin.png \
  --twitter https://x.com/handle/status/123 \
  --priority-fee 0.0005 \
  --tip-fee 0.0001 \
  --is-buy-back \
  --buy-trade-config '{"slippage":50,"auto_slippage":false,"priority_fee":"0.0005","tip_fee":"0.0001","is_anti_mev":true,"anti_mev_mode":"secure"}' \
  --buy-wallets '[{"from_address":"Wallet1...","buy_amt":"0.1"},{"from_address":"Wallet2...","buy_amt":"0.1"}]' \
  --snip-buy-wallets '[{"from_address":"Sniper1...","buy_amt":"0.05"}]' \
  --sell-configs '[{"sell_type":"delay_sell","sell_ratio":"1","wallet_addresses":["Wallet1..."],"delay_mili_sec":5000}]'
  • --is-buy-back 是 Agent 自动回购模式(后端也会在内部设置 Agent 费用)。
  • --buy-wallets / --snip-buy-wallets 中的 buy_amt 数值以原生 SOL 计。
  • 在 Pump.fun 上,Bundle 钱包最多 12 个,Sniper 钱包最多 10 个(参见功能矩阵)。

FourMeme(BSC)— 用户费用拆分 + 使用 USDT 作为募集代币

gmgn-cli cooking create \
  --chain bsc \
  --dex fourmeme \
  --from 0xDev... \
  --name "Demo BSC" \
  --symbol DBSC \
  --buy-amt 0.0123 \
  --image-url https://cdn.example.com/coin.png \
  --raised-token USDT \
  --website https://demo.com \
  --gas-price 1000000000 \
  --auto-slippage \
  --fourmeme-rate-conf '{"fee_rate":1,"recipient_rate":50,"burn_rate":20,"divide_rate":20,"liquidity_rate":10,"min_sharing":100000,"recipient_address":"0xDev..."}'
  • --buy-amt 0.0123 已从用户希望使用的 USDT 金额换算为原生 BNB(参见报价代币换算)。构建命令前请先完成换算。
  • --gas-price 1000000000 的单位为 wei(1 Gwei)。
  • 在 --fourmeme-rate-conf 中,recipient_rate + burn_rate + divide_rate + liquidity_rate 的总和必须为 100。

Flap(BSC)— split 模式:将接收方份额转给 BSC 地址

gmgn-cli cooking create \
  --chain bsc \
  --dex flap \
  --from 0x1f8d977b6843e1bbcb306c4a3664c9fb0277979d \
  --name "refer" \
  --symbol refer \
  --buy-amt 2 \
  --image-url https://gmgn.ai/external-res-va/11ad7747dcefcfaae87d3f53a4d7330d_v2l.webp \
  --website https://www.refercoins.bond/ \
  --twitter https://x.com/referdotfun \
  --dev-gas 50000000 \
  --auto-slippage \
  --flap-rate-conf '{"buy_tax_rate":100,"sell_tax_rate":100,"mkt_bps":10000,"deflation_bps":0,"dividend_bps":0,"lp_bps":0,"minimum_share_balance":10000,"recipient_type":"split","twitter_account":"","split_conf":[{"recipient":"0x1f8d977b6843e1bbcb306c4a3664c9fb0277979d","bps":10000}]}'
  • recipient_type: split → 接收方份额转给 split_conf 中的地址;twitter_account 留空为 ""。
  • mkt_bps:10000 表示全部税费(买入 1% / 卖出 1%)都归接收方——deflation_bps + dividend_bps + lp_bps 均为 0,四项总和仍须为 10000。
  • split_conf 中的一个地址获得全部 10000 bps(100%)。也可使用多个地址,只要其 bps 总和为 10000 即可。

Flap(BSC)— gift 模式:将接收方份额转给 X 用户名,并将剩余部分分配给销毁 / 分红 / LP

gmgn-cli cooking create \
  --chain bsc \
  --dex flap \
  --from 0x1f8d977b6843e1bbcb306c4a3664c9fb0277979d \
  --name "refer" \
  --symbol refer \
  --buy-amt 2 \
  --image-url https://gmgn.ai/external-res-va/11ad7747dcefcfaae87d3f53a4d7330d_v2l.webp \
  --website https://www.refercoins.bond/ \
  --twitter https://x.com/referdotfun \
  --dev-gas 50000000 \
  --auto-slippage \
  --flap-rate-conf '{"buy_tax_rate":100,"sell_tax_rate":100,"mkt_bps":5000,"deflation_bps":2700,"dividend_bps":1800,"lp_bps":500,"minimum_share_balance":10000,"recipient_type":"gift","twitter_account":"handleName","split_conf":[]}'
  • recipient_type: gift → 接收方份额转给 twitter_account 中的 X 用户名;split_conf 留空为 []。
  • 税费分配:mkt_bps:5000(50% 给该用户名)+ deflation_bps:2700(27% 销毁)+ dividend_bps:1800(18% 分红)+ lp_bps:500(5% LP)= 10000。
  • lp_bps > 0,因此 minimum_share_balance 必须大于 0(此处为 10000)。

输出格式

创建后的回执

轮询确认部署成功后:

✅ Token Created

Token:    {--name} ({--symbol})
Address:  {report.output_token from order get}
Chain:    {chain}
Platform: {--dex}
Tx:       {explorer link for hash}
Order ID: {order_id}

区块浏览器链接:

链浏览器
solhttps://solscan.io/tx/<hash>
bschttps://bscscan.com/tx/<hash>
basehttps://basescan.org/tx/<hash>

启动引导流程

当用户表示想要启动 / 创建 / 部署代币,但尚未提供所有必填信息时,应每次只收集一个必填字段——绝不要在同一个问题中询问多个必填字段。用户应能只回复一个值,而不必填写带标签的列表。

将每个必填字段作为简短、直接的问题提出。等待用户回答后再询问下一个字段。收集完所有必填字段后,再用一个问题询问可选字段。

步骤 1 — 链与平台

询问:“使用哪条链和哪个平台?”

简洁地展示选项:

链平台--dex
SolanaPump.funpump
SolanaBonkbonk
SolanaBAGSbags
BSCFourMemefourmeme
BSCFlapflap
BaseKlikklik
BaseClankerclanker

如果用户不确定,推荐:Pump.fun(SOL) 或 FourMeme(BSC)。

所选平台决定了步骤 7 中可用的高级选项(例如 Pump.fun 上的 Mayhem/Cashback/Agent Auto Buyback,以及 BAGS/Flap/FourMeme 上的费用分成)。现在记下平台;暂时不要询问高级选项。

步骤 2 — 代币名称

询问:“代币名称?”

等待用户回复(例如 Doge Killer)。

步骤 3 — 代币符号

询问:“代币代码?”

等待用户回复(例如 DOGEK)。通常为 3–8 个大写字符。

步骤 4 — 徽标

询问:“徽标图片?(文件路径或 URL — 不需要的话可跳过,直接发布)”

  • 文件路径 → 静默运行 base64 -i <path>,并将结果传给 --image。不要向用户提及“base64”。
  • URL → 直接使用 --image-url。
  • 跳过 / 无 → 不使用徽标继续操作。请说明,大多数平台都接受这种方式,但会降低曝光度。
步骤 5 — 初始买入金额

询问:“初始买入使用多少 {SOL / BNB / ETH}?”

将用户的回答直接传给 --buy-amt — 单位已经是完整代币单位(例如 0.01 = 0.01 SOL)。不要转换为 lamports 或 wei。

步骤 6 — 可选详情(单个问题)

在一条消息中询问所有可选字段:

“还需要添加哪些可选信息?(不需要的可以跳过)”

  • 描述 — 启动平台上展示的一句话介绍
  • Twitter — Twitter / X 网址
  • Telegram — Telegram 群组网址
  • 网站 — 项目网站网址

用户可以只回复已有的信息,也可以回复“跳过”/“都不需要”以继续。

第 7 步 — 平台模式、费用和自动卖出(取决于平台)

收集完基本信息后,只询问一次用户是否希望为所选平台启用高级选项。默认采用普通公平发行——只有用户明确提出要求时才进行配置。根据所选平台调整问题;不要列出不适用的选项。

询问:“想启用任何高级选项,还是使用默认设置发行?(回复 ‘defaults’ 可跳过)”——然后提供相关选项。

围绕用户选择的平台提问——只询问该平台支持的模式。 例如,对于 Pump.fun,具体询问:

  • “启用 Cashback 模式?”(--is-cashback)
  • “启用 Agent Auto Buyback 模式?”(--is-buy-back)
  • “启用 Mayhem 模式?”(--is-mayhem)
  • “设置费用分成?”(--pump-fee-share-list)
  • “要我记住这些高级设置,以供下次发行使用吗?”——如果用户回答是,请将其保存到记忆中,以便今后发行时预填相同选项。

Bonk / BAGS / Flap / FourMeme 没有模式开关——对于这些平台,跳过模式相关问题,只询问费用分成和自动卖出。

各平台的相关选项:

  • Pump.fun 模式 — Mayhem(--is-mayhem)、Cashback(--is-cashback)、Agent Auto Buyback(--is-buy-back)。
  • 费用分成 — Pump.fun(--pump-fee-share-list)、BAGS(--dev-wallet-bps + --bags-fee-share-list)、Bonk(--dev-wallet-bps)、Flap(--flap-rate-conf)、FourMeme(--fourmeme-rate-conf)。JSON schema 见 Advanced API Fields。提醒用户,代币收入会永久分配给所列账户。 始终让用户以百分比提供份额——由你自行换算为 bps。份额总和必须为 100%。
  • 自动卖出 — --sell-configs(JSON):延迟卖出(买入后 N 秒卖出一定比例)和/或限价卖出(市值达到 USD 目标时卖出)。参见 Auto-Sell Configuration。在执行结果中注明卖出比例和触发条件。

如果用户说“defaults” / “skip” / “none”,则不设置这些选项,直接继续。

第 8 步 — 执行

收集完所有必需信息后,直接执行请求。在执行结果中包含第 7 步的任何高级选项。


执行指南

  • [必需] 验证 --dex — 执行前,在 Supported Launchpads 表中查找用户指定的平台,并解析为正确的 --dex 标识符。切勿猜测或传入自由格式的平台名称。如果表中没有对应的链/平台组合,请告知用户该组合不受支持。
  • 滑点要求 — 必须提供 --slippage 或 --auto-slippage。如果用户未指定,对于波动较大的新代币,建议使用 --auto-slippage,或询问用户的偏好。
  • 图片处理 — 如果用户提供文件路径,运行 base64 -i <path>,并将结果传给 --image。如果用户提供 URL,则使用 --image-url。如果两者都未提供,请向用户索要——大多数平台都需要 Logo。
  • 费用分成/bps 输入 — 始终以百分比收集份额,然后自行换算为基点(50% → 5000)。切勿询问原始 bps 数值。
  • 地址验证 — 提交前验证 --from 钱包地址格式:
    • sol:base58,32–44 个字符
    • bsc / base:0x + 40 位十六进制数字
  • 链与钱包兼容性 — SOL 地址与 EVM 链不兼容,反之亦然。如果地址格式与链不匹配,请警告用户并中止。
  • 订单轮询 — 执行 cooking create 后,如果 status 为 pending,每隔 2 秒轮询一次 order get,最多持续 30 秒。代币地址位于 report.output_token。只有当 status 为 confirmed 时,才报告成功。
  • 凭据敏感性 — GMGN_API_KEY 和 GMGN_PRIVATE_KEY 可用于执行真实交易。切勿记录、显示或泄露这些值。

注意事项

  • cooking create 使用 签名认证(API Key + 签名)——CLI 会自动处理签名。
  • cooking stats 使用现有认证(仅 API Key——无需私钥)。
  • 新代币的铸造地址位于 gmgn-cli order get 的 report.output_token 中,而不在初始 cooking create 响应中。
  • 对任意命令使用 --raw,即可获取单行 JSON,以便进一步处理。

参考资料

技能描述
gmgn-swap包含用于轮询代币创建状态的 order get 命令
gmgn-token代币安全检查、信息、持有者和交易者——适合在发布后监控代币
gmgn-market使用 market trenches 跟踪联合曲线进度;使用 market trending 查看代币是否开始受到关注
gmgn-track智能资金和 KOL 交易跟踪——监控发布后是否有智能钱包买入代币
gmgn-portfolio钱包持仓和盈亏——决定 --buy-amt 前,先检查自己的钱包余额

评论

支持 Markdown