MCPInstall

gmgn-cooking

[FINANCIAL EXECUTION] Create and launch meme coins and crypto tokens on launchpads (Pump.fun, FourMeme, Bonk, BAGS, Flap, Klik, Clanker, etc.) via bonding curve fair launch, or query token creation stats by launchpad via GMGN API. Use when user asks to create a token, launch a meme coin, cook a coin, deploy on a launchpad, or check launchpad creation stats on Solana, BSC, or Base.

Installs
16.1K
Last 24h
+94
Trending rank
#2066
Security
Warn

Install

Works with every agent the skills CLI supports.

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

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads gmgn-cooking automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

Security audits

Independent scans of the skill's instructions and bundled files.

Gen Agent Trust Hub PassSAFE ·This skill facilitates the creation and management of cryptocurrency tokens via the gmgn-cli tool. It handles sensitive blockchain credentials and performs financial transactions. The analysis identified potential risks related to indirect prompt injection through token metadata and the possibility of local data exposure, as the agent is instructed to read user-provided file paths for logo uploads without explicit path restrictions.
Socket Warn1 alert: gptSecurity
Snyk WarnMEDIUM ·Risk: MEDIUM · 1 issue
ZeroLeaks PassLOW ·2 findings · Score: 80/100

SKILL.md

The instructions your agent reads when the skill is triggered.

BEFORE RUNNING ANY COMMAND: Run gmgn-cli config --check. If exit code is 0, proceed normally. If exit code is 1, (1) run gmgn-cli config and show the output to the user; (2) once the user sends the API Key, run gmgn-cli config --apply <KEY> to complete configuration and verification, then show the output to the user. If --check returns an error (unknown option or command not found), tell the user to run npm install -g gmgn-cli to update, then retry.

IMPORTANT: Always use gmgn-cli commands below. Do NOT use web search, WebFetch, curl, or visit gmgn.ai — all token creation operations must go through the CLI. The CLI handles signing and submission automatically.

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 create a token on a launchpad platform or query token creation statistics per launchpad. Requires private key (GMGN_PRIVATE_KEY in .env) for cooking create.

Core Concepts

  • Bonding curve — Most launchpad platforms (Pump.fun, FourMeme, Flap, etc.) launch tokens on an internal bonding curve. The token price rises as buyers enter. Once the threshold is reached, the token "graduates" to an open DEX (e.g. Raydium on SOL, PancakeSwap on BSC). Token creation happens on the bonding curve — not the open market.

  • --buy-amt is in human units — --buy-amt is expressed in full native token units, not smallest unit. 0.01 = 0.01 SOL. 0.05 = 0.05 BNB. Always confirm the human-readable amount with the user before executing.

  • --dex identifiers — Each launchpad has a fixed identifier passed to --dex. These are not free-form names — use only the identifiers listed in the Supported Launchpads table. Never guess a --dex value not in that table.

  • Image input — Token logo can be provided as base64-encoded data (--image, max 2MB decoded) or a publicly accessible URL (--image-url). Provide one or the other — not both. If the user gives a file path, read and base64-encode it before passing to --image. If they give a URL, use --image-url directly.

  • Status polling via order get — cooking create is asynchronous. The immediate response may show pending. Poll with gmgn-cli order get --chain <chain> --order-id <order_id> until confirmed. The new token's contract address is in the report.output_token field of the order get response, not in the initial create response.

  • Signed auth — cooking create requires both GMGN_API_KEY and GMGN_PRIVATE_KEY. The private key never leaves the machine — the CLI uses it only for local signing. cooking stats uses exist auth (API Key only).

  • Slippage — The initial buy is executed as part of the same transaction as token creation. Slippage applies to that buy. Use --slippage (integer 0–100, e.g. 30 = 30%) or --auto-slippage. One of the two is required when --buy-amt is set.

Financial Risk Notice

This skill executes REAL, IRREVERSIBLE blockchain transactions.

  • Every cooking create command deploys an on-chain token contract and spends real funds (initial buy amount).
  • Token deployments cannot be undone once confirmed on-chain.
  • Only use this skill with funds you are willing to spend. Initial buy amounts are non-refundable.

Sub-commands

Sub-commandDescription
cooking statsGet token creation count statistics grouped by launchpad platform (exist auth)
cooking createDeploy a new token on a launchpad platform (signed auth)

Supported Chains

sol / bsc / base / robinhood

Supported Launchpads by Chain

Chain--dex valuesRaise token (--raised-token)
solpump, bonk, bagspump: "" (SOL) or USDC; bonk: "" (SOL) or USD1; bags: "" (SOL only)
bscfourmeme, flapfourmeme: "" (BNB), USD1, USDT; flap: "" (BNB only)
baseklik, clanker"" only (quote token fixed to WETH)
robinhoodtrench, pons"" only (native token)

When the user names a platform colloquially (e.g. "pump.fun", "four.meme"), map it to the correct --dex identifier from this table before running the command.

Anti-MEV (--anti-mev) is only supported on sol. Passing it on bsc or base will return a 400 error.

Quote Token conversion (when --raised-token is set)

--buy-amt is always in native token units (SOL / BNB / ETH), even when raising with a quote token like USDC / USD1 / USDT. If the user states the amount in the quote token, convert it to native yourself before passing it:

buy_amt_in_native = quote_amount × quote_price / native_price

This conversion applies to --buy-amt, and the buy_amt field inside --buy-wallets and --snip-buy-wallets. It does not apply to --sell-configs (check_price there is always a USD market cap, not a token amount). Round to the chain's native decimals. When --raised-token is empty/native, no conversion is needed.

Prerequisites

  • cooking stats: Only GMGN_API_KEY required
  • cooking create: Both GMGN_API_KEY and GMGN_PRIVATE_KEY must be configured in ~/.config/gmgn/.env. The private key must correspond to the wallet bound to the API Key.
  • gmgn-cli installed globally — if missing, run: npm install -g gmgn-cli

IMPORTANT — Credential lookup order: gmgn-cli loads ~/.config/gmgn/.env first, then overlays any .env found in the current working directory (project-level overrides global). If credentials appear missing or wrong, check whether a .env in the workspace directory is shadowing the global config:

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

If a local .env exists but lacks GMGN_API_KEY / GMGN_PRIVATE_KEY, either add them to that file or remove it so the global config is used.

Rate Limit Handling

All cooking routes use GMGN's plan-based leaky bucket: Free 5/5, Plus 20/20, Pro 50/50 (rate/capacity). Sustained throughput is roughly tier rate ÷ weight requests/second.

CommandWeight
cooking create5
cooking stats1

When a request returns 429:

  • On RATE_LIMIT_EXCEEDED, tell the user exactly: 已达到当前套餐的限频上限,点击 https://gmgn.ai/ai?chain=bsc&tab=paid_plans 升级套餐,获得更高速率限制. Show this upgrade guidance at most once per user task. Do not repeat it for subsequent RATE_LIMIT_BANNED responses during the same cooldown.

  • Read X-RateLimit-Reset from the response headers — Unix timestamp for when the limit resets.

  • If the response body contains 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.

  • cooking create is a real transaction: never loop or auto-resubmit after a 429. Wait until the reset time before retrying.

  • For RATE_LIMIT_EXCEEDED or RATE_LIMIT_BANNED, repeated requests during cooldown extend the ban by 5 seconds each time, up to 5 minutes.

  • On RATE_LIMIT_BANNED_MAX, the ban has hit the 5-minute ceiling because requests kept arriving during the cooldown. Stop all GMGN calls for this task (not just the failing one) and tell the user the exact reset time; any request before reset_at resets the ban to 5 minutes again.

  • On 403 PLAN_UPGRADE_REQUIRED, the endpoint costs more rate-limit weight than the user's plan capacity, so it can never succeed on this plan — do not retry or wait. Tell the user the endpoint is unavailable on their current plan and show the upgrade_message from the response (it contains the upgrade link https://gmgn.ai/ai?chain=bsc&tab=paid_plans).

Credential Model

  • GMGN_PRIVATE_KEY is used exclusively for local message signing — the private key never leaves the machine. The CLI computes an Ed25519 signature in-process and transmits only the base64-encoded result in the X-Signature request header.
  • GMGN_API_KEY is transmitted in the X-APIKEY header over HTTPS.
  • Neither credential is ever passed as a command-line argument.

cooking stats Usage

gmgn-cli cooking stats [--raw]

cooking stats Response Fields

FieldTypeDescription
launchpadstringLaunchpad identifier (e.g. pump, bonk, fourmeme)
token_countintNumber of tokens created via GMGN on that launchpad

cooking create Parameters

ParameterRequiredDescription
--chainYesChain: sol / bsc / base / robinhood
--dexYesLaunchpad platform identifier — see Supported Launchpads table. Never guess this value.
--fromYesWallet address (must match API Key binding)
--nameYesToken full name (e.g. Doge Killer). Max 100 chars; rejected if it contains control characters or prompt-injection framing.
--symbolYesToken ticker symbol (e.g. DOGEK). Max 100 chars; rejected if it contains control characters or prompt-injection framing.
--buy-amtYesInitial buy amount in human-readable native token units (e.g. 0.01 = 0.01 SOL). This is NOT in smallest unit.
--imageNo*Token logo as base64-encoded data (max 2MB decoded). Mutually exclusive with --image-url. One of the two is required.
--image-urlNo*Token logo as a publicly accessible URL. Mutually exclusive with --image. One of the two is required.
--slippageNo*Slippage tolerance as an integer 0–100, e.g. 30 = 30%. Mutually exclusive with --auto-slippage — provide one or the other.
--auto-slippageNo*Enable automatic slippage. Mutually exclusive with --slippage.
--descriptionNoToken description / project pitch. Max 500 chars; rejected if it contains control characters or prompt-injection framing.
--websiteNoProject website URL. Must be a valid http(s) URL.
--twitterNoTwitter / X URL. Must be a valid http(s) URL.
--telegramNoTelegram group URL. Must be a valid http(s) URL.
--feeNoBase gas / fee
--priority-feeNoPriority fee in SOL (SOL only)
--tip-feeNoTip fee (SOL in SOL / BSC in BNB; ignored on BASE)
--gas-priceNoGas price in wei (EVM chains: BSC / BASE)
--max-fee-per-gasNoMax fee per gas in wei (EVM only)
--max-priority-fee-per-gasNoMax priority fee per gas in wei (EVM only)
--anti-mevNoEnable anti-MEV protection (SOL only; rejected on BSC / BASE)
--anti-mev-modeNoAnti-MEV mode: off / normal / secure (SOL only)
--raised-tokenNoRaise token symbol. pump: USDC; bonk: USD1; fourmeme: USDT / USD1; omit or "" for native
--dev-wallet-bpsNoDev wallet fee share in basis points (100 = 1%)
--dev-gasNoDev gas amount
--dev-priorityNoDev priority fee
--dev-tipNoDev tip fee
--dev-max-fee-per-gasNoDev tx feeCap in wei (EVM EIP-1559)
--approve-visionNoApprove vision version: v1 / v2 (default: v2)
--sourceNoTraffic source identifier
--is-mayhemNoEnable Mayhem mode (Pump.fun only)
--is-cashbackNoEnable Cashback (Pump.fun only)
--is-buy-backNoEnable Agent Auto Buyback (Pump.fun only)
--pump-fee-share-listNoPump.fun fee share list as JSON array: [{"provider":"twitter","username":"<handle>","basic_points":<n>}] (Pump.fun only)
--flap-rate-confNoFlap rate config as JSON object (Flap only)
--fourmeme-rate-confNoFourMeme rate config as JSON object (FourMeme only)
--bags-fee-share-listNoBAGS fee share list as JSON array: [{"provider":"twitter","username":"<handle>","basic_points":<n>}] (BAGS only)
--bonk-modelNoBonk model identifier (bonk DEX only)
--buy-walletsNoMulti-wallet buy config as JSON array: [{"from_address":"<addr>","buy_amt":"<n>"}]
--snip-buy-walletsNoSnipe-buy wallet config as JSON array: [{"from_address":"<addr>","buy_amt":"<n>"}]
--buy-trade-configNoBuy-side trade config for CondMarket orders as JSON (TradeParam) — see Advanced API Fields
--sell-trade-configNoSell-side trade config for auto-sell / pending_sell as JSON (TradeParam) — see Advanced API Fields
--sell-configsNoAuto-sell strategy list as JSON array (CookingSellConfig[]) — see Auto-Sell Configuration

* --image or --image-url: provide exactly one. --slippage or --auto-slippage: provide exactly one.

Advanced API Fields

The structured flags (--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) each accept a JSON string. This section documents the exact JSON schema for each.

Platform capability matrix

Which advanced features each platform supports. Do not send a field a platform does not support.

Platform--dexChainPlatform-specific fieldsBundle (--buy-wallets)Sniper (--snip-buy-wallets)CashbackMayhem
Pump.funpumpSOL--pump-fee-share-list / --dev-wallet-bps / --is-buy-back✅ up to 12 wallets✅ up to 10✅✅
BonkbonkSOL--bonk-model❌✅ up to 10❌❌
BAGSbagsSOL--bags-fee-share-list / --dev-wallet-bps❌✅ up to 10❌❌
FourMemefourmemeBSC--fourmeme-rate-conf✅ up to 3 wallets✅ up to 10❌❌
FlapflapBSC--flap-rate-conf❌✅ up to 10❌❌
KlikklikBase—❌✅ up to 10❌❌
ClankerclankerBase—❌✅ up to 10❌❌
  • --is-cashback / --is-mayhem are Pump.fun only — other platforms reject them.
  • Bundle/auto-sell (--sell-configs) and sniper (--snip-buy-wallets) are available where the matrix shows ✅.

Basis-points rule: any field named *_bps / basic_points is in basis points (100 = 1%). Where a section says the shares must sum, all entries must add up to exactly 10000 (FourMeme uses whole percents summing to 100 instead — see below).

Always talk to the user in percentages, never basis points. When asking for or confirming any share, fee, or split, phrase it as a percentage (e.g. "What % goes to this wallet?" → user says "50%"). Convert to the field's unit yourself when building the JSON — never ask the user for a raw bps number:

User says*_bps field (×100)FourMeme *_rate field (×1)
5%5005
50%500050
100%10000100

Never set a fee-share split without the user's explicit instruction — it permanently routes token revenue to the listed accounts.

Pump.fun (--dex pump)

is_mayhem, is_cashback, is_buy_back use their matching CLI flags (--is-mayhem, --is-cashback, --is-buy-back). pump_fee_share_list is passed via --pump-fee-share-list.

FieldCLI flagDescription
pump_fee_share_list--pump-fee-share-list <json>Fee-share list — see JSON schema below
is_buy_back--is-buy-backEnable Agent Auto Buyback

JSON schema for --pump-fee-share-list — array of objects:

FieldTypeRequiredDescription
providerstringYessolana / twitter / github
usernamestringYesPlatform username; a SOL address when provider = solana
basic_pointsintYesShare in bps — all entries must sum to 10000

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

Bonk (--dex bonk)

dev_wallet_bps → --dev-wallet-bps, bonk_model → --bonk-model. No additional structured fields.

BAGS (--dex bags)

dev_wallet_bps → --dev-wallet-bps. bags_fee_share_list is passed via --bags-fee-share-list.

JSON schema for --bags-fee-share-list — array of objects:

FieldTypeRequiredDescription
providerstringYestwitter / solana / kick / github
usernamestringYesPlatform username
basic_pointsintYesShare in bps — combined with dev_wallet_bps, all must sum to 10000

Flap (--dex flap)

flap_rate_conf is passed via --flap-rate-conf.

JSON schema for --flap-rate-conf — single object:

FieldTypeRequiredDescription
buy_tax_rateintConditionalV6 separate buy tax rate in bps, e.g. 1% → 100. Use together with sell_tax_rate.
sell_tax_rateintConditionalV6 separate sell tax rate in bps
tax_rateintConditionalV5 unified tax rate in bps, e.g. 5% → 500. Use instead of buy_tax_rate + sell_tax_rate.
mkt_bpsintYesTax recipient share — the slice of the collected tax routed to the recipient(s): the X handle when recipient_type = gift, or the split_conf addresses when recipient_type = split. This is NOT a generic "marketing" fund.
deflation_bpsintYesBurn (supply-reduction) share
dividend_bpsintYesDividend (holder-reward) share
lp_bpsintYesLiquidity share
recipient_typestringYesgift (route the recipient share to an X handle) / split (route it to specific addresses)
twitter_accountstringConditionalX / Twitter handle that receives the recipient share — required when recipient_type = gift; leave "" when split.
split_confarrayConditionalRecipient address split list — required when recipient_type = split; leave [] when gift.
minimum_share_balanceintYesMin holding to qualify for dividends — minimum 10000 tokens
beneficiarystringNoLegacy single fee-recipient address. Omit when using recipient_type + twitter_account / split_conf.

split_conf entries: { "recipient": "<address>", "bps": <n> } — all bps must sum to 10000.

  • Tax distribution: whenever the tax rate > 0, mkt_bps + deflation_bps + dividend_bps + lp_bps must sum to 10000. mkt_bps is the recipient's cut; the other three are burn / dividend / liquidity.
  • Recipient routing: set recipient_type = gift + twitter_account to send the recipient cut to an X handle, OR recipient_type = split + split_conf to send it to one or more addresses. Fill only the field that matches the chosen mode; leave the other empty ("" / []).
  • Use tax_rate for V5 (unified rate); use buy_tax_rate + sell_tax_rate for V6 (separate rates).
  • When lp_bps > 0: minimum_share_balance must be > 0.

FourMeme (--dex fourmeme)

fourmeme_rate_conf is passed via --fourmeme-rate-conf.

fourmeme_user_login_sign, is_approve_allowance, is_raised_swap are broker/jobs internal fields — the public API does not accept them, so there is no flag. The multi-quote raise-token retry is handled server-side automatically (poll order get); the caller never sets these.

JSON schema for --fourmeme-rate-conf — single object:

FieldTypeRequiredDescription
fee_planboolNoEnable the fee plan
recipient_addressstringYesFee recipient address
fee_rateintYesFee rate, e.g. 5% → 5 (whole percent, not bps)
burn_rateintYesBurn share
divide_rateintYesDividend share
liquidity_rateintYesLiquidity share
recipient_rateintYesRecipient share
min_sharingintYesMinimum sharing threshold

When fee_rate > 0: burn_rate + divide_rate + liquidity_rate + recipient_rate must sum to 100. When recipient_rate > 0: min_sharing must be > 0.

Auto-Sell Configuration

sell_configs is passed via --sell-configs as a JSON array. It schedules conditional sell orders to execute automatically once the token launch succeeds. Omit entirely for a standard launch with no auto-sell.

--sell-configs is a JSON array of CookingSellConfig objects:

FieldTypeRequiredDescription
sell_typestringYesdelay_sell / limit_order
delay_secint64ConditionalSeconds after buy to trigger; required when sell_type = delay_sell
delay_mili_secint64NoMilliseconds after buy to trigger; takes precedence over delay_sec
sell_ratiostringYesFraction to sell — "1" = 100%, "0.5" = 50%
check_pricestringConditionalMarket cap in USD to trigger sell; required when sell_type = limit_order
wallet_addresses[]stringYesWallets this strategy applies to (empty array = inert)

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

The buy/sell execution params for these CondMarket orders (slippage, fees, anti-MEV) can be tuned separately via --buy-trade-config / --sell-trade-config (TradeParam JSON). They do not affect the main creation tx, and fall back to the outer-level transaction flags when omitted.

  • check_price is total market cap in USD — e.g. "50000" triggers at a $50,000 market cap.
  • wallet_addresses may mix from_address and buy_wallets entries. The server creates signal_cooking for snipe wallets and pending_sell for main/bundle wallets automatically.
  • A wallet can carry multiple strategies (e.g. delay-sell 50%, then limit-sell the rest); each applies independently.

TradeParam (--buy-trade-config / --sell-trade-config)

These tune the execution params for the CondMarket buy/sell orders (bundle buys, sniper buys, and auto-sell). They do not affect the main creation transaction (the dev tx uses the outer-level --dev-* flags). When omitted, they fall back to the outer-level transaction flags.

--buy-trade-config / --sell-trade-config each accept a single JSON object:

FieldTypeDescription
slippagenumberSlippage; only sent when truthy
feestringBase gas / fee; only sent when truthy
priority_feestringPriority fee; only sent when truthy
tip_feestringSOL Jito tip; only sent when truthy
gas_pricestringGas price in wei (EVM); only sent when truthy
max_priority_fee_per_gasstringEVM EIP-1559; only sent when truthy
max_fee_per_gasstringEVM EIP-1559; only sent when truthy
auto_slippageboolAlways sent
is_anti_mevboolAlways sent
anti_mev_modestringoff / normal / secure; always sent

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

A standard launch with no buyConfig sends {"is_anti_mev":false,"anti_mev_mode":"off"} and an empty buy_wallets list.

cooking create Response Fields

FieldTypeDescription
statusstringpending / confirmed / failed
hashstringTransaction hash (may be empty while pending)
order_idstringOrder ID — pass to gmgn-cli order get to poll for final status
error_codestringError code on failure
error_statusstringError description on failure

Status Polling

Token creation is asynchronous. If the initial cooking create response shows status: pending:

  1. Poll with gmgn-cli order get every 2 seconds, up to 30 seconds:
    gmgn-cli order get --chain <chain> --order-id <order_id>
    
  2. The new token's contract / mint address is in the report.output_token field of the order get response (only present when state = 30 and status = "successful") — it is NOT returned by cooking create directly.
  3. Stop polling once status is confirmed, failed, or expired.
  4. On confirmed: display output_token as the token address and include the block explorer link.
  5. On failed / expired: report the error_status and do not retry automatically.

Usage Examples

Examples run shortest-first: basic single-launch commands, then full end-to-end configurations. Every JSON flag below is a valid payload shape — copy and adapt.

# 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>"]}]'

These mirror real launch configurations end-to-end.

Pump.fun (SOL) — Bundle + Sniper + Auto-Sell + Agent Auto Buyback

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 is the Agent Auto Buyback mode (the backend also sets the agent fee internally).
  • buy_amt values in --buy-wallets / --snip-buy-wallets are in native SOL.
  • Bundle wallets ≤ 12, sniper wallets ≤ 10 on Pump.fun (see capability matrix).

FourMeme (BSC) — user fee split + raise token 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 is already converted to native BNB from the USDT amount the user wanted (see Quote Token conversion). Do the conversion before building the command.
  • --gas-price 1000000000 is wei (1 Gwei).
  • In --fourmeme-rate-conf, recipient_rate + burn_rate + divide_rate + liquidity_rate must sum to 100.

Flap (BSC) — split mode: route the recipient cut to a BSC address

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 → the recipient cut goes to split_conf addresses; twitter_account is left "".
  • mkt_bps:10000 means the entire tax (1% buy / 1% sell) goes to the recipient — deflation_bps + dividend_bps + lp_bps are all 0, and the four still sum to 10000.
  • split_conf has one address taking all 10000 bps (100%). Multiple addresses are allowed as long as their bps sum to 10000.

Flap (BSC) — gift mode: route the recipient cut to an X handle, split the rest across burn / dividend / 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 → the recipient cut goes to the twitter_account X handle; split_conf is left [].
  • Tax distribution: mkt_bps:5000 (50% to the handle) + deflation_bps:2700 (27% burn) + dividend_bps:1800 (18% dividend) + lp_bps:500 (5% LP) = 10000.
  • lp_bps > 0, so minimum_share_balance must be > 0 (10000 here).

Output Format

Post-create Receipt

After polling confirms a successful deployment:

✅ 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}

Block explorer links:

ChainExplorer
solhttps://solscan.io/tx/<hash>
bschttps://bscscan.com/tx/<hash>
basehttps://basescan.org/tx/<hash>

Guided Launch Flow

When a user says they want to launch / create / deploy a token but has not provided all required information, collect information one required field at a time — never bundle multiple required fields into a single question. The user should be able to reply with a single value, not a labeled list.

Ask each required field as a short, direct question. Wait for the answer before moving to the next. Optional fields are grouped into one question after all required fields are collected.

Step 1 — Chain & Platform

Ask: "Which chain and platform?"

Show the options concisely:

ChainPlatform--dex
SolanaPump.funpump
SolanaBonkbonk
SolanaBAGSbags
BSCFourMemefourmeme
BSCFlapflap
BaseKlikklik
BaseClankerclanker

If the user is unsure, recommend: Pump.fun (SOL) or FourMeme (BSC).

The chosen platform determines which advanced options are available later in Step 7 (e.g. Mayhem/Cashback/Agent Auto Buyback on Pump.fun, fee-share splits on BAGS/Flap/FourMeme). Note the platform now; do not ask about advanced options yet.

Step 2 — Token Name

Ask: "Token name?"

Wait for the user's reply (e.g. Doge Killer).

Step 3 — Token Symbol

Ask: "Ticker symbol?"

Wait for the user's reply (e.g. DOGEK). Typically 3–8 uppercase characters.

Step 4 — Logo

Ask: "Logo image? (file path or URL — skip to launch without one)"

  • File path → silently run base64 -i <path> and pass the result to --image. Do not mention "base64" to the user.
  • URL → use --image-url directly.
  • Skip / none → proceed without a logo. Note that most platforms accept this, but it reduces visibility.

Step 5 — Initial Buy Amount

Ask: "How much {SOL / BNB / ETH} for the initial buy?"

Pass the user's answer directly to --buy-amt — already in full token units (e.g. 0.01 = 0.01 SOL). Do NOT convert to lamports or wei.

Step 6 — Optional Details (single question)

Ask all optional fields together in one message:

"Any optional extras? (skip any you don't need)"

  • Description — one-line pitch shown on the launchpad
  • Twitter — Twitter / X URL
  • Telegram — Telegram group URL
  • Website — project website URL

The user can reply with just the ones they have, or say "skip" / "none" to proceed.

Step 7 — Platform Modes, Fees & Auto-Sell (platform-dependent)

After the basics are collected, ask once whether the user wants any advanced options for the platform they chose. Default everyone to a plain fair launch — only configure these when the user explicitly asks. Tailor the question to the selected platform; do not list options that don't apply to it.

Ask: "Want any advanced options, or launch with defaults? (reply 'defaults' to skip)" — then offer the relevant subset.

Phrase the question around the platform the user picked — only ask about modes that exist on that platform. For example, on Pump.fun ask specifically:

  • "Enable Cashback mode?" (--is-cashback)
  • "Enable Agent Auto Buyback mode?" (--is-buy-back)
  • "Enable Mayhem mode?" (--is-mayhem)
  • "Set up a fee-share split?" (--pump-fee-share-list)
  • "Want me to remember these advanced settings for your next launch?" — if yes, save them to memory so future launches can pre-fill the same choices.

Bonk / BAGS / Flap / FourMeme have no mode toggles — for those, skip the mode questions and only ask about fee-share split and auto-sell.

The relevant options per platform:

  • Pump.fun modes — Mayhem (--is-mayhem), Cashback (--is-cashback), Agent Auto Buyback (--is-buy-back).
  • Fee-share split — 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). See Advanced API Fields for JSON schemas. Warn the user this permanently routes token revenue to the listed accounts. Always ask the user for shares as percentages — convert to bps yourself. Shares must add up to 100%.
  • Auto-sell — --sell-configs (JSON): delay-sell (sell a fraction N seconds after the buy) and/or limit-sell (sell once market cap hits a USD target). See Auto-Sell Configuration. Include the sell ratio and trigger in the execution output.

If the user says "defaults" / "skip" / "none", proceed with none of these set.

Step 8 — Execute

Once all required information is collected, execute the request directly. Include any advanced options from Step 7 in the execution output.


Execution Guidelines

  • [REQUIRED] --dex validation — Before running, look up the user's named platform in the Supported Launchpads table and resolve to the correct --dex identifier. Never guess or pass a freeform platform name. If the chain/platform combination is not in the table, tell the user it is unsupported.
  • Slippage requirement — Either --slippage or --auto-slippage must be provided. If the user did not specify, suggest --auto-slippage for volatile new tokens or ask for a preference.
  • Image handling — If the user provides a file path, run base64 -i <path> and pass the result to --image. If they provide a URL, use --image-url. If neither is provided, request one — most platforms require a logo.
  • Fee-share / bps inputs — Always collect shares as percentages, then convert to basis points yourself (50% → 5000). Never ask for a raw bps value.
  • Address validation — Validate --from wallet address format before submitting:
    • sol: base58, 32–44 characters
    • bsc / base: 0x + 40 hex digits
  • Chain-wallet compatibility — SOL addresses are incompatible with EVM chains and vice versa. Warn the user and abort if the address format does not match the chain.
  • Order polling — After cooking create, if status is pending, poll order get every 2 seconds up to 30 seconds. The token address is in report.output_token. Do not report success until status is confirmed.
  • Credential sensitivity — GMGN_API_KEY and GMGN_PRIVATE_KEY can execute real transactions. Never log, display, or expose these values.

Notes

  • cooking create uses signed auth (API Key + signature) — CLI handles signing automatically.
  • cooking stats uses exist auth (API Key only — no private key needed).
  • The new token's mint address is in report.output_token from gmgn-cli order get, not in the initial cooking create response.
  • Use --raw on any command to get single-line JSON for further processing.

References

SkillDescription
gmgn-swapContains order get command used for polling token creation status
gmgn-tokenToken security check, info, holders, and traders — useful after launch to monitor your token
gmgn-marketmarket trenches for tracking bonding curve progress; market trending to see if your token is gaining traction
gmgn-trackSmart money and KOL trade tracking — monitor whether smart wallets are buying your token after launch
gmgn-portfolioWallet holdings and P&L — check your own wallet balance before deciding on --buy-amt

FAQ

What does the gmgn-cooking skill do?

[FINANCIAL EXECUTION] Create and launch meme coins and crypto tokens on launchpads (Pump.fun, FourMeme, Bonk, BAGS, Flap, Klik, Clanker, etc.) via bonding curve fair launch, or query token creation stats by launchpad via GMGN API. Use when user asks to create a token, launch a meme coin, cook a coin, deploy on a launchpad, or check launchpad creation stats on Solana, BSC, or Base.

How do I install gmgn-cooking?

Run npx skills add https://github.com/gmgnai/gmgn-skills --skill gmgn-cooking in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/gmgn-cooking/ (personal) or .claude/skills/gmgn-cooking/ (project).

Which AI agents can use gmgn-cooking?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is gmgn-cooking safe to install?

Security partners have reviewed it: Gen Agent Trust Hub passed; Socket flagged items to review; Snyk flagged items to review; ZeroLeaks passed. As with any skill, read the SKILL.md and bundled scripts before installing.

Who maintains gmgn-cooking?

It is published by gmgnai in gmgnai/gmgn-skills. It has 16,141 recorded installs.

More from gmgnai/gmgn-skills

View all →

gmgn-market

gmgnai/gmgn-skills

Get crypto and meme token price charts (K-line, candlestick, OHLCV), trending meme coin rankings by volume, newly launched tokens on launchpads (pump.fun, fourmeme, letsbonk, Raydium, etc.), the hot-search ranking (most-searched tokens), and search for a specific token or wallet by name, symbol, contract address, wallet address, or ENS via GMGN API on Solana, BSC, Base, or Ethereum. Use when user asks for price chart, trending tokens, what's pumping, hot coins, most searched tokens, new launches, token signals, wants to look up / find / search a specific token or wallet by name or address, or wants to discover early-stage opportunities.

Business & Finance18K installs

gmgn-token

gmgnai/gmgn-skills

Research any crypto or meme token by address — real-time price, market cap, liquidity, holder list, trader list, top Smart Money and KOL positions, security audit (honeypot, rug pull risk, dev wallet, renounced status), social links (Twitter/X, website) via GMGN API on Solana, BSC, Base, or Ethereum. Use when user asks about a token's price, safety, holders, traders, smart money exposure, or wants due diligence before buying.

Security18K installs

gmgn-portfolio

gmgnai/gmgn-skills

Analyze one or many crypto wallets by address — holdings, batch realized/unrealized P&L, win rate, trading history, performance stats, specific token balance, and tokens created by a developer wallet (with ATH market cap and DEX graduation status) via GMGN API on Solana, BSC, Base, or Ethereum. Use when user asks about wallet holdings, P&L (including comparing up to 100 wallets), win rate, what tokens a dev has launched, the highest ATH token a dev ever created, or wants a wallet report to decide whether to copy-trade or follow.

Business & Finance17.7K installs

gmgn-track

gmgnai/gmgn-skills

Get real-time crypto buy/sell activity from Smart Money wallets, KOL influencer wallets, and personally followed wallets via GMGN API — alpha signals, whale tracking, meme token copy-trading ideas on Solana, BSC, Base, or Ethereum. Also query which tokens a wallet has followed (bookmarked) on GMGN. Use when user asks what smart money or KOLs are buying, wants whale alerts, on-chain alpha, copy-trade signals, or wants to check a wallet's followed tokens. (For a specific wallet address's portfolio, use gmgn-portfolio.)

Marketing & SEO17.3K installs

gmgn-swap

gmgnai/gmgn-skills

[FINANCIAL EXECUTION] Buy and sell meme coins and crypto tokens on Solana, BSC, Base, or Ethereum — single swap, multi-wallet batch trading, limit orders, stop loss, take profit, trailing stop loss, trailing take profit via GMGN API. Use when user asks to buy, sell, or swap a token, trade from multiple wallets, set a limit order, stop loss, take profit, or check order status. This skill SUBMITS the trade — it is the only skill holding a private key, and every buy still ends here. It is not the entry point for a buy that has not been vetted yet: 「帮我买 200u 的 PENGU」, "buy me $500 of BONK", 「帮我买点 dogwifhat」, 「XX 能不能买」 start at gmgn-token-buy, which resolves the name to the one right contract among its copycats, gates volume / depth / security, sizes slippage and gas, then hands the confirmed parameters back here to execute. Come straight here for a buy only once the contract is settled AND the user says they do not want a pre-buy check ("skip the security check", "I already checked", 「直接买」

Business & Finance17.1K installs

gmgn-holder-analysis

gmgnai/gmgn-skills

Token holder chip analysis — deep analysis of holder structure including chip distribution, entry cost, whale/dev/KOL behavior, risk wallets (rat traders, bundlers, snipers), related wallets, smart money signals, and an AI rating based purely on token structure. Use when user asks about holder analysis, 筹码分析, 持仓分析, chip structure, who is holding, or whether a token is safe to buy based on its holder composition.

10.4K installs

Popular marketing & seo skills

View category →

reddit-automation

flowkit-labs/skills

Find Reddit threads where people are genuinely asking for what you offer, then draft short, genuinely helpful replies — disclosing your affiliation honestly and naming your product only when it truly answers the question. Two moves: discovery — scan the right subreddits for real needs (recommendation asks, expressed pain, competitor mentions) and rank the few threads where you can actually help; drafting — write from real experience, respect each community's self-promo rules, and keep a human in the loop to review and post. This markets on Reddit the honest way: contribute value, disclose who you are, never astroturf. Distilled from the playbook behind doany.ai's Reddit agent. Triggers on "find reddit opportunities", "reddit marketing", "reddit automation", "reply on reddit for my product", "reddit community engagement", "reddit lead gen", or any ask to turn Reddit threads into genuine, disclosed marketing replies.

Marketing & SEO1.1M installs

twitter-automation

101-skills/superpowers

Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet

Marketing & SEO880K installs

twitter-automation

magentosh/superpowers

Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet

Marketing & SEO771.7K installs

twitter-automation

qu-skills/superpowers

Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet

Marketing & SEO564.3K installs

product-launch-video

heygen-com/hyperframes

Turn a product or marketing URL, pasted script, or brief into a product launch / promo video — SaaS promos, feature reveals, product demos, app and company launches. Use when the user wants to market, launch, promote, or reveal a product; the default for any commercial URL. Site tours / showcases of a website route here too — the brief carries the show-it-as-is intent. Unclear → /hyperframes.

Marketing & SEO538.7K installs

twitter-automation

skills-shell/superpowers

Automate Twitter/X with posting, engagement, and user management via inference.sh CLI. Apps: x/post-tweet, x/post-create (with media), x/post-like, x/post-retweet, x/dm-send, x/user-follow. Capabilities: post tweets, schedule content, like posts, retweet, send DMs, follow users, get profiles. Use for: social media automation, content scheduling, engagement bots, audience growth, X API. Triggers: twitter api, x api, tweet automation, post to twitter, twitter bot, social media automation, x automation, tweet scheduler, twitter integration, post tweet, twitter post, x post, send tweet

Marketing & SEO453.7K installs