gmgn-cooking について
gmgn-cookingは、gmgn-cliでトークンを作成し、ローンチパッドの統計を照会するスキルです。対応するプラットフォームやチェーン、パラメーターを示し、作成時には取り消せないオンチェーンコントラクトがデプロイされ、資金が使われることを明記します。
主な機能
- 01対応ローンチパッドでのトークン作成
- 02プラットフォーム別の作成統計照会
- 03複数チェーンと各ローンチパッドへの対応
- 04初回購入・スリッページ・画像の設定
- 05作成注文の追跡とコントラクトアドレス取得
活用シーン
- 01各ローンチパッドの作成数を確認
- 02指定プラットフォームでトークンをデプロイ
- 03トークン作成時に初回購入を設定
- 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 コマンドを必ず使用してください。Web 検索、WebFetch、curl、gmgn.ai へのアクセスは行わないでください。トークンの作成操作はすべて CLI 経由で行う必要があります。CLI が署名と送信を自動的に処理します。
重要:フィールド名や値を推測しないでください。フィールドの意味が不明な場合は、使用する前に以下の「レスポンスフィールド」セクションを確認してください。
⚠️ IPv6 はサポートされていません:認証情報が正しく見えるのに 401 または 403 エラーが発生した場合は、すぐに IPv6 を確認してください。(1)すべてのネットワークインターフェースと IPv6 アドレスを一覧表示します。macOS では ifconfig | grep inet6、Linux では ip addr show | grep inet6 を実行します。(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 | ローンチパッドプラットフォーム別のトークン作成数の統計を取得します(認証が存在する場合) |
cooking create | ローンチパッドプラットフォームで新しいトークンを発行します(署名認証) |
対応チェーン
sol / bsc / base / robinhood
チェーン別の対応ローンチパッド
| チェーン | --dex の値 | 調達トークン(--raised-token) |
|---|---|---|
sol | pump、bonk、bags | pump:""(SOL)または USDC;bonk:""(SOL)または USD1;bags:""(SOL のみ) |
bsc | fourmeme、flap | fourmeme:""(BNB)、USD1、USDT;flap:""(BNB のみ) |
base | klik、clanker | "" のみ(クオートトークンは WETH に固定) |
robinhood | trench、pons | "" のみ(ネイティブトークン) |
ユーザーがプラットフォームを通称(例:「pump.fun」、「four.meme」)で指定した場合、コマンドの実行前に、この表にある正しい --dex 識別子に対応づけてください。
アンチ MEV(--anti-mev)に対応しているのは sol のみです。bsc または base で指定すると、400 エラーが返されます。
クオートトークンの換算(--raised-token を指定する場合)
--buy-amt は、クオートトークン(USDC/USD1/USDT など)で調達する場合でも、常にネイティブトークン単位(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:GMGN_API_KEYとGMGN_PRIVATE_KEYの両方を~/.config/gmgn/.envに設定する必要があります。秘密鍵は、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 が含まれていない場合は、そのファイルに追加するか、ファイルを削除してグローバル設定が使われるようにしてください。
レート制限への対応
すべての cooking ルートでは、GMGN のプランに基づくリーキーバケット方式が使用されます。Free は 5/5、Plus は 20/20、Pro は 50/50 です(レート/容量)。持続的なスループットは、およそ tier rate ÷ weight リクエスト/秒です。
| コマンド | 重み |
|---|---|
cooking create | 5 |
cooking stats | 1 |
リクエストが 429 を返した場合:
-
RATE_LIMIT_EXCEEDEDの場合は、ユーザーに次の内容をそのまま伝えてください:已达到当前套餐的限频上限,点击 https://gmgn.ai/ai?chain=bsc&tab=paid_plans 升级套餐,获得更高速率限制。このアップグレード案内は、ユーザーのタスクごとに最大 1 回だけ表示してください。同じクールダウン中に後続のRATE_LIMIT_BANNEDが発生しても、繰り返し表示しないでください。 -
レスポンスヘッダーから
X-RateLimit-Resetを読み取ります。これは制限がリセットされる時刻を示す Unix タイムスタンプです。 -
レスポンス本文に
reset_atが含まれる場合(例:{"code":429,"error":"RATE_LIMIT_BANNED","message":"...","reset_at":1775184222})、reset_atを抽出します。これは BAN が解除される時刻を示す Unix タイムスタンプです(通常は 5 分後)。現地時刻に変換して、ユーザーが正確にいつ再試行できるか伝えてください。 -
cooking createは実際のトランザクションです。429の後、決してループしたり自動で再送信したりしないでください。再試行する前に、リセット時刻まで待機してください。 -
RATE_LIMIT_EXCEEDEDまたはRATE_LIMIT_BANNEDの場合、クールダウン中にリクエストを繰り返すたびに BAN は 5 秒延長され、最大 5 分になります。 -
RATE_LIMIT_BANNED_MAXの場合、クールダウン中にリクエストが続いたため、BAN が 5 分の上限に達しています。このタスクでは、問題が発生したリクエストだけでなく、GMGN へのすべての呼び出しを停止し、正確なリセット時刻をユーザーに伝えてください。reset_atより前にリクエストすると、BAN は再び 5 分にリセットされます。 -
403 PLAN_UPGRADE_REQUIREDの場合、エンドポイントのレート制限ウェイトがユーザーのプラン容量を超えているため、このプランでは成功することはありません。再試行したり、待機したりしないでください。エンドポイントが現在のプランでは利用できないことをユーザーに伝え、レスポンスのupgrade_messageを表示してください(アップグレードリンクhttps://gmgn.ai/ai?chain=bsc&tab=paid_plansが含まれています)。
認証情報のモデル
GMGN_PRIVATE_KEYはローカルでのメッセージ署名にのみ使用されます。秘密鍵がマシンの外部に送信されることはありません。CLI はプロセス内で Ed25519 署名を計算し、結果を Base64 でエンコードしたものだけをX-Signatureリクエストヘッダーで送信します。GMGN_API_KEYは HTTPS 経由でX-APIKEYヘッダーに設定して送信されます。- どちらの認証情報も、コマンドライン引数として渡されることはありません。
cooking stats の使用方法
gmgn-cli cooking stats [--raw]
cooking stats のレスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
launchpad | string | Launchpad の識別子(例:pump、bonk、fourmeme) |
token_count | int | この Launchpad で GMGN 経由で作成されたトークンの数 |
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 | いいえ* | Base64 エンコードされたトークンのロゴデータ(デコード後の最大サイズは 2MB)。--image-url とは同時に指定できません。どちらか一方が必須です。 |
--image-url | いいえ* | 誰でもアクセスできる 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 | いいえ | 基本ガス代/手数料 |
--priority-fee | いいえ | SOL で指定する優先手数料(SOL のみ) |
--tip-fee | いいえ | チップ手数料(SOL では SOL、BSC では BNB。BASE では無視されます) |
--gas-price | いいえ | wei で指定するガス価格(EVM チェーン:BSC / BASE) |
--max-fee-per-gas | いいえ | wei で指定するガスあたりの最大手数料(EVM のみ) |
--max-priority-fee-per-gas | いいえ | wei で指定するガスあたりの最大優先手数料(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 | いいえ | 開発者ウォレットの手数料分配率(100 = 1%) |
--dev-gas | いいえ | 開発者のガス量 |
--dev-priority | いいえ | 開発者の優先手数料 |
--dev-tip | いいえ | 開発者のチップ手数料 |
--dev-max-fee-per-gas | いいえ | wei で指定する開発者の tx feeCap(EVM EIP-1559) |
--approve-vision | いいえ | 承認バージョン:v1 / v2(デフォルト:v2) |
--source | いいえ | トラフィックソース識別子 |
--is-mayhem | いいえ | Mayhem モードを有効にします(Pump.fun のみ) |
--is-cashback | いいえ | Cashback を有効にします(Pump.fun のみ) |
--is-buy-back | いいえ | Agent Auto Buyback を有効にします(Pump.fun のみ) |
--pump-fee-share-list | いいえ | JSON 配列で指定する Pump.fun の手数料分配リスト:[{"provider":"twitter","username":"<handle>","basic_points":<n>}](Pump.fun のみ) |
--flap-rate-conf | いいえ | JSON オブジェクトで指定する Flap のレート設定(Flap のみ) |
--fourmeme-rate-conf | いいえ | JSON オブジェクトで指定する FourMeme のレート設定(FourMeme のみ) |
--bags-fee-share-list | いいえ | JSON 配列で指定する BAGS の手数料分配リスト:[{"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 | いいえ | JSON(TradeParam)で指定する CondMarket 注文の買い側取引設定 — Advanced API Fields を参照してください |
--sell-trade-config | いいえ | JSON(TradeParam)で指定する自動売却/pending_sell の売り側取引設定 — Advanced API Fields を参照してください |
--sell-configs | いいえ | JSON 配列(CookingSellConfig[])で指定する自動売却戦略リスト — Auto-Sell Configuration を参照してください |
* --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 | チェーン | プラットフォーム固有のフィールド | バンドル(--buy-wallets) | スナイパー(--snip-buy-wallets) | キャッシュバック | Mayhem |
|---|---|---|---|---|---|---|---|
| Pump.fun | pump | SOL | --pump-fee-share-list / --dev-wallet-bps / --is-buy-back | ✅ 最大 12 ウォレット | ✅ 最大 10 | ✅ | ✅ |
| Bonk | bonk | SOL | --bonk-model | ❌ | ✅ 最大 10 | ❌ | ❌ |
| BAGS | bags | SOL | --bags-fee-share-list / --dev-wallet-bps | ❌ | ✅ 最大 10 | ❌ | ❌ |
| FourMeme | fourmeme | BSC | --fourmeme-rate-conf | ✅ 最大 3 ウォレット | ✅ 最大 10 | ❌ | ❌ |
| Flap | flap | BSC | --flap-rate-conf | ❌ | ✅ 最大 10 | ❌ | ❌ |
| Klik | klik | Base | — | ❌ | ✅ 最大 10 | ❌ | ❌ |
| Clanker | clanker | Base | — | ❌ | ✅ 最大 10 | ❌ | ❌ |
--is-cashback/--is-mayhemは Pump.fun 専用です — 他のプラットフォームでは拒否されます。- バンドル/自動売却(
--sell-configs)とスナイパー(--snip-buy-wallets)は、マトリクスで ✅ が表示されている場合に利用できます。
ベーシスポイントのルール: *_bps / basic_points という名前のフィールドはすべてベーシスポイント単位です(100 = 1%)。あるセクションでシェアの合計が必要とされている場合、すべてのエントリの合計がちょうど 10000 になる必要があります(FourMeme では代わりに整数のパーセントを使用し、合計が 100 になります — 以下を参照してください)。
ユーザーには常にパーセントで伝え、ベーシスポイントでは決して伝えないでください。 シェア、手数料、分配を求めたり確認したりするときは、必ずパーセントで表現してください(例: 「このウォレットには何%が割り当てられますか?」 → ユーザーが 「50%」 と答える)。JSON を構築する際は、ご自身でそのフィールドの単位に変換してください — ユーザーに生の bps 数値を尋ねてはいけません:
| ユーザーの発言 | *_bps フィールド(×100) | FourMeme *_rate フィールド(×1) |
|---|---|---|
5% | 500 | 5 |
50% | 5000 | 50 |
100% | 10000 | 100 |
ユーザーの明示的な指示なしに手数料分配を設定しないでください — トークンの収益が挙げられたアカウントへ恒久的に流れることになります。
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 Auto Buyback を有効にします |
--pump-fee-share-list の JSON スキーマ — オブジェクトの配列:
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
provider | string | はい | solana / twitter / github |
username | string | はい | プラットフォームのユーザー名。provider = solana の場合は SOL アドレス |
basic_points | int | はい | bps 単位のシェア — すべてのエントリの合計が 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 スキーマ — オブジェクトの配列:
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
provider | string | はい | twitter / solana / kick / github |
username | string | はい | プラットフォームのユーザー名 |
basic_points | int | はい | bps 単位のシェア — dev_wallet_bps と合算して、すべての合計が 10000 になる必要があります |
Flap(--dex flap)
flap_rate_conf は --flap-rate-conf で渡します。
--flap-rate-conf の JSON スキーマ — 単一オブジェクト:
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
buy_tax_rate | int | 条件付き | V6 の個別買い税率(bps)。例:1% → 100。sell_tax_rate と併用します。 |
sell_tax_rate | int | 条件付き | V6 の個別売り税率(bps) |
tax_rate | int | 条件付き | V5 の統一税率(bps)。例:5% → 500。buy_tax_rate + sell_tax_rate の代わりに使用します。 |
mkt_bps | int | はい | 税の受取先への配分 — 徴収した税のうち、受取先(recipient_type = gift の場合は X ハンドル、recipient_type = split の場合は split_conf のアドレス)に振り分ける割合です。一般的な「マーケティング」資金ではありません。 |
deflation_bps | int | はい | バーン(供給量削減)分 |
dividend_bps | int | はい | 配当(保有者への報酬)分 |
lp_bps | int | はい | 流動性分 |
recipient_type | string | はい | gift(受取先への配分を X ハンドルに振り分ける)/split(特定のアドレスに振り分ける) |
twitter_account | string | 条件付き | 受取先への配分を受け取る X/Twitter ハンドル — recipient_type = gift の場合は必須。split の場合は "" のままにします。 |
split_conf | array | 条件付き | 受取先アドレスの分割リスト — recipient_type = split の場合は必須。gift の場合は [] のままにします。 |
minimum_share_balance | int | はい | 配当の対象となる最低保有量 — 最低 10000 トークン |
beneficiary | string | いいえ | 旧形式の単一手数料受取先アドレス。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は受取先の取り分で、残りの 3 項目はバーン/配当/流動性への配分です。- 受取先の振り分け: 受取先への配分を X ハンドルに送るには
recipient_type = gift+twitter_accountを設定し、1 つ以上のアドレスに送るには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はブローカー/ジョブの内部フィールドです。公開 API では受け付けられないため、フラグはありません。複数のクォートを使用した raise-token の再試行はサーバー側で自動的に処理されます(order getをポーリングしてください)。呼び出し元がこれらを設定することはありません。
--fourmeme-rate-conf の JSON スキーマ — 単一オブジェクト:
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
fee_plan | bool | いいえ | 手数料プランを有効にします |
recipient_address | string | はい | 手数料の受取先アドレス |
fee_rate | int | はい | 手数料率。例:5% → 5(bps ではなく整数のパーセント) |
burn_rate | int | はい | バーン分 |
divide_rate | int | はい | 配当分 |
liquidity_rate | int | はい | 流動性分 |
recipient_rate | int | はい | 受取先への配分 |
min_sharing | int | はい | 最低配分しきい値 |
fee_rate > 0の場合、burn_rate + divide_rate + liquidity_rate + recipient_rateの合計は 100 でなければなりません。recipient_rate > 0の場合、min_sharingは 0 より大きくなければなりません。
自動売却の設定
sell_configs は JSON 配列として --sell-configs で渡します。トークンのローンチが成功すると、自動で実行される条件付き売り注文をスケジュールします。自動売却なしの標準ローンチでは、省略してください。
--sell-configs には、CookingSellConfig オブジェクトの JSON 配列を指定します。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
sell_type | string | はい | delay_sell / limit_order |
delay_sec | int64 | 条件付き | 買い付け後、売却を実行するまでの秒数。sell_type = delay_sell の場合は必須です |
delay_mili_sec | int64 | いいえ | 買い付け後、売却を実行するまでのミリ秒数。delay_sec より優先されます |
sell_ratio | string | はい | 売却する割合 — "1" = 100%、"0.5" = 50% |
check_price | string | 条件付き | 売却を実行する市場価格(USD)。sell_type = limit_order の場合は必須です |
wallet_addresses | []string | はい | この戦略を適用するウォレット(空の配列の場合は機能しません) |
例:--sell-configs '[{"sell_type":"delay_sell","delay_sec":60,"sell_ratio":"0.5","wallet_addresses":["<addr>"]}]'
これらの CondMarket 注文(スリッページ、手数料、anti-MEV)の買い付け/売却の実行パラメーターは、--buy-trade-config / --sell-trade-config(TradeParam JSON)で個別に調整できます。メインの作成トランザクションには影響しません。省略した場合は、外側のトランザクションフラグが適用されます。
check_priceは USD 建ての時価総額です — たとえば"50000"の場合、時価総額が 50,000 ドルに達すると実行されます。wallet_addressesにはfrom_addressとbuy_walletsのエントリーを混在させることができます。サーバーは、スナイパーウォレット向けのsignal_cookingと、メイン/バンドルウォレット向けのpending_sellを自動で作成します。- 1 つのウォレットに複数の戦略を設定できます(例:50%を遅延売却し、残りを指値売却)。それぞれ独立して適用されます。
TradeParam(--buy-trade-config / --sell-trade-config)
これらは、CondMarket の買い注文/売り注文(バンドル買い、スナイパーによる買い、自動売却)の実行パラメーターを調整します。メインの作成トランザクションには影響しません(dev tx には外側の --dev-* フラグが使われます)。省略した場合は、外側のトランザクションフラグが適用されます。
--buy-trade-config / --sell-trade-config には、それぞれ単一の JSON オブジェクトを指定します。
| フィールド | 型 | 説明 |
|---|---|---|
slippage | number | スリッページ。値が truthy の場合のみ送信されます |
fee | string | 基本ガス代/手数料。値が truthy の場合のみ送信されます |
priority_fee | string | 優先手数料。値が truthy の場合のみ送信されます |
tip_fee | string | SOL の Jito チップ。値が truthy の場合のみ送信されます |
gas_price | string | ガス価格(wei、EVM)。値が truthy の場合のみ送信されます |
max_priority_fee_per_gas | string | EVM EIP-1559。値が truthy の場合のみ送信されます |
max_fee_per_gas | string | EVM EIP-1559。値が truthy の場合のみ送信されます |
auto_slippage | bool | 常に送信されます |
is_anti_mev | bool | 常に送信されます |
anti_mev_mode | string | off / 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 のレスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
status | string | pending / confirmed / failed |
hash | string | トランザクションハッシュ(pending の間は空の場合があります) |
order_id | string | 注文 ID — 最終ステータスを確認するには gmgn-cli order get に渡します |
error_code | string | 失敗時のエラーコード |
error_status | string | 失敗時のエラーの説明 |
ステータスのポーリング
トークンの作成は非同期です。最初の cooking create の応答で status: pending と表示された場合:
gmgn-cli order getを2 秒ごとに、最大 30 秒間ポーリングします:gmgn-cli order get --chain <chain> --order-id <order_id>- 新しいトークンのコントラクト/ミントアドレスは、
order getの応答のreport.output_tokenフィールドにあります(state = 30かつstatus = "successful"の場合にのみ存在します)。cooking createから直接返されることはありません。 statusがconfirmed、failed、またはexpiredになったら、ポーリングを停止します。confirmedの場合:output_tokenをトークンアドレスとして表示し、ブロックエクスプローラーのリンクを含めます。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) — バンドル + スナイパー + 自動売却 + エージェントの自動買い戻し
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はエージェントの自動買い戻しモードです(バックエンドでもエージェント手数料が内部で設定されます)。--buy-wallets/--snip-buy-walletsのbuy_amt値は、ネイティブ SOL 単位です。- Pump.fun では、バンドルウォレットは最大 12 個、スナイパーウォレットは最大 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となり、4 つの値の合計は 10000 になります。split_confには、10000bps(100%)を受け取るアドレスを 1 つ指定します。複数のアドレスも指定できますが、その場合も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(LP に 5%)= 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}
ブロックエクスプローラーのリンク:
| チェーン | エクスプローラー |
|---|---|
| sol | https://solscan.io/tx/<hash> |
| bsc | https://bscscan.com/tx/<hash> |
| base | https://basescan.org/tx/<hash> |
ガイド付きローンチフロー
ユーザーがトークンをローンチ/作成/デプロイしたいと伝えたものの、必要な情報がすべて揃っていない場合は、必須項目を一度に 1 つずつ確認します。複数の必須項目を 1 つの質問にまとめてはいけません。ユーザーが項目名付きのリストではなく、1 つの値だけで回答できるようにします。
必須項目はそれぞれ、短く直接的な質問で確認します。回答を待ってから次の項目に進みます。任意項目は、必須項目をすべて確認した後に、1 つの質問にまとめます。
ステップ 1 — チェーンとプラットフォーム
質問します:「チェーンとプラットフォームはどれですか?」
選択肢を簡潔に表示します:
| チェーン | プラットフォーム | --dex |
|---|---|---|
| Solana | Pump.fun | pump |
| Solana | Bonk | bonk |
| Solana | BAGS | bags |
| BSC | FourMeme | fourmeme |
| BSC | Flap | flap |
| Base | Klik | klik |
| Base | Clanker | clanker |
迷っている場合は、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 — 任意の詳細情報(1つの質問)
すべての任意項目をまとめて、1つのメッセージで質問します:
「追加したい情報はありますか?(不要なものはスキップしてください)」
- 説明 — ローンチパッドに表示される 1 行の紹介文
- Twitter — Twitter / X の URL
- Telegram — Telegram グループの URL
- ウェブサイト — プロジェクトのウェブサイト URL
ユーザーは用意できている項目だけを返すか、「スキップ」/「なし」と答えて進められます。
ステップ 7 — プラットフォームのモード、手数料、Auto-Sell(プラットフォーム依存)
基本情報を収集したら、選択したプラットフォームの高度なオプションを使うかどうか、一度だけユーザーに尋ねます。全員にデフォルトのシンプルなフェアローンチを設定し、ユーザーが明示的に希望した場合にのみ、これらのオプションを設定します。選択したプラットフォームに合わせて質問を調整し、そのプラットフォームで利用できないオプションは提示しないでください。
次のように尋ねます。「高度なオプションを設定しますか?それともデフォルトでローンチしますか?(スキップする場合は「defaults」と返信してください)」 — その後、該当する項目だけを提示します。
質問はユーザーが選んだプラットフォームに合わせ、そのプラットフォームで利用できるモードについてのみ尋ねてください。 たとえば、Pump.fun では次の項目を具体的に尋ねます。
- 「Cashback モードを有効にしますか?」(
--is-cashback) - 「Agent Auto Buyback モードを有効にしますか?」(
--is-buy-back) - 「Mayhem モードを有効にしますか?」(
--is-mayhem) - 「手数料の分配を設定しますか?」(
--pump-fee-share-list) - 「次回のローンチに向けて、これらの高度な設定を記憶しておきますか?」 — はいの場合は、今後のローンチで同じ選択肢を事前入力できるよう、メモリに保存します。
Bonk/BAGS/Flap/FourMeme にはモード切り替えがありません。これらのプラットフォームではモードについて尋ねず、手数料の分配と Auto-Sell のみを尋ねます。
プラットフォームごとの関連オプションは次のとおりです。
- 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 スキーマについては高度な API フィールドを参照してください。記載されたアカウントにトークン収益が恒久的に送られることを、必ずユーザーに警告してください。 分配率は必ずパーセンテージでユーザーに尋ね、bps への変換は自分で行います。合計は 100% になる必要があります。 - Auto-Sell —
--sell-configs(JSON):delay-sell(購入から N 秒後に一部を売却)および/または limit-sell(時価総額が USD の目標値に達したときに売却)。Auto-Sell の設定を参照してください。実行結果には売却比率とトリガーを含めます。
ユーザーが「defaults」/「skip」/「none」と答えた場合、これらのオプションはどれも設定せずに進めます。
ステップ 8 — 実行
必要な情報をすべて収集したら、リクエストを直接実行します。ステップ 7 の高度なオプションを実行結果に含めます。
実行ガイドライン
- [必須]
--dexの検証 — 実行前に、ユーザーが指定したプラットフォームを対応ローンチパッドの表で確認し、正しい--dex識別子を特定します。推測したり、任意のプラットフォーム名を渡したりしないでください。チェーンとプラットフォームの組み合わせが表にない場合は、未対応であることをユーザーに伝えます。 - スリッページの要件 —
--slippageまたは--auto-slippageのどちらかを指定する必要があります。ユーザーが指定していない場合は、変動の大きい新規トークンには--auto-slippageを提案するか、希望を尋ねます。 - 画像の扱い — ユーザーがファイルパスを指定した場合は、
base64 -i <path>を実行し、その結果を--imageに渡します。URL を指定した場合は--image-urlを使用します。どちらも指定されていない場合は、画像の提供を依頼します。ほとんどのプラットフォームでロゴが必要です。 - 手数料の分配/bps の入力 — 分配率は必ずパーセンテージで収集し、bps への変換は自分で行います(50% →
5000)。生の bps 値を尋ねてはいけません。 - アドレスの検証 — 送信前に
--fromのウォレットアドレス形式を検証します。sol:base58、32~44 文字bsc/base:0x+ 40 桁の 16 進数
- チェーンとウォレットの互換性 — SOL アドレスは EVM チェーンでは使用できず、その逆も同様です。アドレス形式がチェーンと一致しない場合は、ユーザーに警告して中止します。
- 注文のポーリング —
cooking createの後、statusがpendingの場合は、30 秒間を上限に 2 秒ごとにorder getをポーリングします。トークンアドレスはreport.output_tokenにあります。statusがconfirmedになるまで、成功したと報告してはいけません。 - 認証情報の機密性 —
GMGN_API_KEYとGMGN_PRIVATE_KEYを使うと、実際のトランザクションを実行できます。これらの値をログに記録、表示、公開してはいけません。
メモ
cooking createは署名付き認証(API Key + signature)を使用します。CLI が自動的に署名を処理します。cooking statsは存在認証(API Key のみ。秘密鍵は不要)を使用します。- 新しいトークンのミントアドレスは、最初の
cooking createのレスポンスではなく、gmgn-cli order getのreport.output_tokenにあります。 - 以降の処理に使える単一行の JSON を取得するには、任意のコマンドで
--rawを使用します。
参考資料
| スキル | 説明 |
|---|---|
| gmgn-swap | トークン作成状況のポーリングに使用する order get コマンドが含まれています |
| gmgn-token | トークンのセキュリティチェック、情報、保有者、トレーダーを確認できます。ローンチ後のトークンの監視に役立ちます |
| gmgn-market | ボンディングカーブの進捗を追跡する market trenches、トークンが注目を集めているかを確認する market trending |
| gmgn-track | スマートマネーや KOL の取引を追跡できます。ローンチ後にスマートウォレットがトークンを購入しているかを監視できます |
| gmgn-portfolio | ウォレットの保有資産と損益を確認できます。--buy-amt を決める前に、自分のウォレット残高を確認できます |