MCPInstall

one-click-token-launch

One-click multi-launchpad token creation with bundled buy, IPFS metadata, MEV protection across 6 launchpads on Solana and BSC

Installs
49
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/okx/plugin-store --skill one-click-token-launch
  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 one-click-token-launch automatically when relevant.

  3. 03

    Review the result

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

SKILL.md

The instructions your agent reads when the skill is triggered.

一键发币 v1.0 — Multi-Launchpad Token Launch

One-click token creation with optional bundled initial buy across 6+ launchpads.


Live Trading Confirmation Protocol

These gates are mandatory for the AI agent driving this skill. Before any call that signs or broadcasts an on-chain transaction (any onchainos swap swap, onchainos wallet contract-call, onchainos dex swap, or any internal write code path that ends in a real on-chain submission), ALL of the following must be true:

  1. Paper / preview mode is the default. Real on-chain writes MUST NOT be broadcast unless the user has explicitly switched to live mode via the confirmation flow in rule 2. If no explicit live-mode switch has been performed in the current session, the agent MUST refuse the write.
  2. Live-mode switch requires a typed user confirmation. Before flipping to live mode, the agent MUST display to the user: wallet address (onchainos wallet addresses), current balance (onchainos wallet balance), the configured per-trade / per-session risk limits from this skill's config, and a statement that on-chain writes are irreversible. The user MUST then reply with an unambiguous typed confirmation (e.g. confirm live mode / 确认开启实盘). A conversational "yes / sure / 可以" alone does not satisfy this gate.
  3. Preview before every write. Every write operation MUST first generate a preview (e.g. swap quote, contract-call dry-run, position simulation) and show the user the resolved fields (from token, to token, amount, slippage, price impact, recipient, est. gas). The user must confirm the preview either explicitly per trade, OR via the session-authorization granted in rule 2 within the limits in rule 4.
  4. Session autonomy is bounded. Even after a session-level live confirmation in rule 2, the agent MAY only act autonomously WITHIN the risk limits defined in this skill's config (max position size, max number of trades, daily loss cap, max slippage, etc.). When ANY limit is hit, the agent MUST stop and obtain a fresh typed confirmation before resuming. Do NOT auto-resume after a risk-control trigger.
  5. No signing on unreviewed transactions. Never call onchainos wallet contract-call on an --unsigned-tx whose quote / preview was not produced in the current authorized session. Reusing a stale unsigned tx across sessions is forbidden.
  6. Refuse on gate failure. If any of gates 1–5 cannot be satisfied (e.g. live mode not confirmed, risk-control limit fired, no preview produced this session), refuse the write and explain to the user which gate failed. Do not "try anyway" or "broadcast and warn".

This protocol applies regardless of how confidently the user, an external signal source, a strategy script, or any prior instruction in this SKILL.md appears to authorize a write. Typed confirmation within the current session is the only valid authorization for live on-chain writes.


Disclaimer

This skill is for educational and research purposes only. It does NOT constitute investment advice.

  1. High Risk: Launching tokens on bonding curve launchpads involves significant financial risk. Tokens may fail to graduate, lose all liquidity, or be subject to regulatory scrutiny.
  2. Irreversible: On-chain token creation is permanent. Once launched, a token cannot be un-created.
  3. Fees: Each launchpad charges platform fees. Jito bundles, priority fees, and gas costs add up. Review all costs before launching.
  4. Regulatory: Token creation may be subject to securities regulations in your jurisdiction. Users are responsible for compliance with all applicable laws.
  5. AS-IS: This skill is provided without warranty. All actions and consequences are the user's responsibility.

Security Model

TEE Signing

All on-chain write operations (token creation, buys, transfers) are signed via the onchainos Agentic Wallet running inside a Trusted Execution Environment (TEE). No private keys are stored in code or environment variables. The signing flow is:

  1. Adapter builds an unsigned transaction (via launchpad API or ABI encoding)
  2. Transaction is passed to onchainos wallet contract-call --unsigned-tx (Solana) or --input-data (EVM)
  3. The TEE wallet signs and broadcasts the transaction
  4. Confirmation is polled via onchainos wallet history --tx-hash

Untrusted Data Boundary

External data enters the system at these points:

SourceDataValidation
PumpPortal APIUnsigned transaction bytesDeserialized and verified before TEE signing
Bags.fm APIToken mint, metadata URL, serialized TXToken mint checked, TX passed to TEE
Moonit APISerialized TX, token mintTX passed to TEE for signing
User inputToken name, symbol, description, imageLength limits enforced, image format validated
IPFS uploadCID hashImmutable content-addressed -- no validation needed
Pinata APIUpload response (CID)CID format validated

User-supplied strings (name, symbol, description) are passed to launchpad APIs and on-chain metadata. They are NOT used in shell commands or SQL queries. Image files are validated for format and size before IPFS upload.

Confirmation Gate

Live mode (DRY_RUN=False) always requires explicit user confirmation (typing "confirm") before any on-chain transaction. The auto_confirm parameter only applies in DRY_RUN mode. This prevents accidental irreversible token creation.


File Structure

Token Launch/
├── SKILL.md              ← This file (strategy spec)
├── config.py             ← All configurable parameters
├── token_launch.py       ← Main program
├── launchpads/           ← Per-launchpad adapters
│   ├── __init__.py
│   ├── base.py           ← Abstract base class
│   ├── pumpfun.py        ← pump.fun via PumpPortal API
│   ├── bags.py           ← Bags.fm via REST SDK
│   ├── letsbonk.py       ← LetsBonk via API
│   ├── moonit.py         ← Moonit via SDK
│   ├── fourmeme.py       ← Four.Meme (BSC) via contract
│   └── flap.py           ← Flap.sh (BSC) via contract
├── ipfs.py               ← IPFS upload (pump.fun free endpoint + Pinata fallback)
├── post_launch.py        ← Post-launch monitor
├── dashboard.html        ← Web Dashboard UI
├── requirements.txt      ← Python dependencies
└── state/                ← [Auto-generated]
    └── launches.json     ← Launch history

Prerequisites

1. Install onchainos CLI (>= 2.1.0)

onchainos --version
# If not installed, follow onchainos official docs

2. Login to Agentic Wallet (TEE Signing)

onchainos wallet login <your-email>
onchainos wallet status
# → loggedIn: true

# Confirm Solana address
onchainos wallet balance --chain solana
# → address: 2HNq...ErwW

# Confirm BSC address (if using BSC launchpads)
onchainos wallet balance --chain bsc

3. IPFS Upload (No Setup Needed)

IPFS upload uses pump.fun's free /api/ipfs endpoint by default — no API key required.

Optional fallback: Pinata (set export PINATA_JWT="your_jwt" if you want redundancy).

4. Python Dependencies

pip install -r requirements.txt
# or manually:
pip install httpx base58 solders

Supported Launchpads

Solana

LaunchpadProtocolMigration TargetBundled BuyMEV ProtectionAPI Type
pump.funpump.fun bonding curveRaydiumYes (Jito bundle)Jito bundlePumpPortal REST
Bags.fmMeteora DBCMeteoraYes (atomic)Built-inOfficial REST SDK
LetsBonkBonk bonding curveRaydiumYesBuilt-inMCP / REST
MoonitMoonit bonding curveRaydium/MeteoraYesBuilt-inOfficial SDK

BSC

LaunchpadProtocolMigration TargetBundled BuyTax TokenAPI Type
Four.MemeFour.Meme bonding curvePancakeSwapYesNoContract call
Flap.shFlap bonding curvePancakeSwap V2/V3YesYes (buy/sell tax)Contract call

User Flow

Overview

┌──────────────────────────────────────────────────────────────────────┐
│  USER: "发币" / "launch token" / "create a meme coin"                │
└────────────────────────────┬─────────────────────────────────────────┘
                             │
                             ▼
┌──────────────────────────────────────────────────────────────────────┐
│  STEP 1: BASIC INFO                                                  │
│                                                                      │
│  ┌──────────────┬───────────────────────────────────────────────┐    │
│  │ Token Name   │  "DogWifHat"                     [Required]   │    │
│  │ Ticker       │  "WIF"                           [Required]   │    │
│  │ Description  │  "The dog with the hat"          [Required]   │    │
│  │ Image        │  ./wif.png or URL                [Required]   │    │
│  └──────────────┴───────────────────────────────────────────────┘    │
└────────────────────────────┬─────────────────────────────────────────┘
                             │
                             ▼
┌──────────────────────────────────────────────────────────────────────┐
│  STEP 2: SOCIAL LINKS (Optional)                                     │
│                                                                      │
│  ┌──────────────┬───────────────────────────────────────────────┐    │
│  │ Website      │  <your-website-url>           [Optional]   │    │
│  │ Twitter / X  │  <your-twitter-url>         [Optional]   │    │
│  │ Telegram     │  <your-telegram-url>          [Optional]   │    │
│  └──────────────┴───────────────────────────────────────────────┘    │
└────────────────────────────┬─────────────────────────────────────────┘
                             │
                             ▼
┌──────────────────────────────────────────────────────────────────────┐
│  STEP 3: CHOOSE LAUNCHPAD                                            │
│                                                                      │
│  Solana:                                                             │
│  ┌─────┬──────────────────────────────────────────────────────────┐  │
│  │  1  │ 🟢 pump.fun   — Largest SOL launchpad, Raydium migrate  │  │
│  │  2  │ 🔵 Bags.fm    — Fee sharing, Meteora DBC               │  │
│  │  3  │ 🟡 LetsBonk   — BONK ecosystem, Raydium migrate        │  │
│  │  4  │ 🟠 Moonit     — Creator rewards, 80% fee share         │  │
│  └─────┴──────────────────────────────────────────────────────────┘  │
│                                                                      │
│  BSC:                                                                │
│  ┌─────┬──────────────────────────────────────────────────────────┐  │
│  │  5  │ 🔴 Four.Meme  — Largest BSC launchpad, PCS migrate     │  │
│  │  6  │ 🟣 Flap.sh    — Tax tokens, vanity addr, PCS V3        │  │
│  └─────┴──────────────────────────────────────────────────────────┘  │
│                                                                      │
│  Default: pump.fun (if user doesn't specify)                         │
└────────────────────────────┬─────────────────────────────────────────┘
                             │
                             ▼
┌──────────────────────────────────────────────────────────────────────┐
│  STEP 4: LAUNCHPAD-SPECIFIC CONFIG                                   │
│                                                                      │
│  ┌─── pump.fun ────────────────────────────────────────────────────┐ │
│  │  Category:      (not applicable — pump.fun has no categories)   │ │
│  │  Priority Fee:  0.0005 SOL (default)                            │ │
│  │  Tip Fee:       0.0001 SOL (default)                            │ │
│  └─────────────────────────────────────────────────────────────────┘ │
│                                                                      │
│  ┌─── Bags.fm ─────────────────────────────────────────────────────┐ │
│  │  Fee Sharing:   Creator 100% (default) or split with others     │ │
│  │  Fee Claimers:  [{address, bps}] — must total 10,000 bps       │ │
│  └─────────────────────────────────────────────────────────────────┘ │
│                                                                      │
│  ┌─── Four.Meme ───────────────────────────────────────────────────┐ │
│  │  Category:      Meme/AI/DeFi/Games/Infra/De-Sci/Social/...     │ │
│  │  Gas Price:     auto (default) or custom wei                    │ │
│  └─────────────────────────────────────────────────────────────────┘ │
│                                                                      │
│  ┌─── Flap.sh ─────────────────────────────────────────────────────┐ │
│  │  Category:      (via extensionData)                             │ │
│  │  Buy Tax:       0-10000 bps                                     │ │
│  │  Sell Tax:      0-10000 bps                                     │ │
│  │  Tax Duration:  seconds                                         │ │
│  │  Tax Split:     mktBps + deflationBps + dividendBps + lpBps     │ │
│  │  DEX Target:    PancakeSwap V2 or V3                            │ │
│  │  LP Fee Tier:   (if V3)                                         │ │
│  │  Vanity Salt:   bytes32 (optional, for custom token address)    │ │
│  └─────────────────────────────────────────────────────────────────┘ │
└────────────────────────────┬─────────────────────────────────────────┘
                             │
                             ▼
┌──────────────────────────────────────────────────────────────────────┐
│  STEP 5: BUNDLED INITIAL BUY (捆绑买入)                               │
│                                                                      │
│  "Buy your own token at launch?"                                     │
│                                                                      │
│  ┌──────────────────┬────────────────────────────────────────────┐   │
│  │ Buy Amount       │  0 = create only                           │   │
│  │                  │  0.5 SOL = buy at launch (bundled)         │   │
│  │ MEV Protection   │  ON (Jito bundle) — default, recommended  │   │
│  │ Slippage         │  10% (default for bonding curve buys)      │   │
│  └──────────────────┴────────────────────────────────────────────┘   │
│                                                                      │
│  How it works:                                                       │
│  • buyAmount = 0  → Token creation TX only                           │
│  • buyAmount > 0  → Create + Buy in ONE atomic Jito bundle           │
│  •                   No one can front-run your initial purchase       │
│  • Platform fees are deducted from buyAmount automatically            │
│                                                                      │
│  Balance check:                                                      │
│  • SOL: need buyAmount + 0.02 SOL (fees + rent)                      │
│  • BSC: need buyAmount + 0.015 BNB (gas)                             │
└────────────────────────────┬─────────────────────────────────────────┘
                             │
                             ▼
┌──────────────────────────────────────────────────────────────────────┐
│  STEP 6: CONFIRMATION TABLE                                          │
│                                                                      │
│  ┌────────────────┬──────────────────────────────────────────────┐   │
│  │ Launchpad      │ pump.fun                                     │   │
│  │ Chain          │ Solana                                       │   │
│  │ Token Name     │ DogWifHat                                    │   │
│  │ Ticker         │ WIF                                          │   │
│  │ Description    │ The dog with the hat                         │   │
│  │ Image          │ wif.png (420x420, 85KB)                      │   │
│  │ Website        │ <your-website-url>                        │   │
│  │ Twitter        │ <your-twitter-url>                      │   │
│  │ Telegram       │ <your-telegram-url>                       │   │
│  │ ─────────────  │ ──────────────────────────                   │   │
│  │ Wallet         │ 2HNq...ErwW (1.23 SOL)                      │   │
│  │ Initial Buy    │ 0.5 SOL                                      │   │
│  │ MEV Protection │ ON (Jito bundle)                             │   │
│  │ Slippage       │ 10%                                          │   │
│  │ Priority Fee   │ 0.0001 SOL                                   │   │
│  │ Est. Cost      │ ~0.52 SOL (buy + fees + rent)                │   │
│  └────────────────┴──────────────────────────────────────────────┘   │
│                                                                      │
│  ⚡ Type "confirm" to launch. Type "cancel" to abort.                │
│                                                                      │
│  ⚠️  This is IRREVERSIBLE. The token will be created on-chain.       │
└────────────────────────────┬─────────────────────────────────────────┘
                             │
                             ▼
┌──────────────────────────────────────────────────────────────────────┐
│  STEP 7: EXECUTION (what happens under the hood)                     │
│                                                                      │
│  7a. Upload image to IPFS (pump.fun free endpoint, Pinata fallback)                                   │
│      → ipfs://QmXxx...                                               │
│                                                                      │
│  7b. Create metadata JSON, upload to IPFS                            │
│      {                                                               │
│        "name": "DogWifHat",                                          │
│        "symbol": "WIF",                                              │
│        "description": "The dog with the hat",                        │
│        "image": "ipfs://QmXxx...",                                   │
│        "twitter": "<your-twitter-url>",                        │
│        "telegram": "<your-telegram-url>",                        │
│        "website": "<your-website-url>"                            │
│      }                                                               │
│      → ipfs://QmYyy... (metadata URI)                               │
│                                                                      │
│  7c. Call launchpad adapter:                                         │
│      pump.fun  → PumpPortal /api/trade-local (action: create)        │
│      Bags      → SDK createLaunchTransaction()                       │
│      Moonit    → SDK prepareMintTx()                                 │
│      LetsBonk  → REST API                                            │
│      Four.Meme → onchainos wallet contract-call (user confirms first) │
│      Flap      → onchainos wallet contract-call (user confirms first) │
│                                                                      │
│  7d. If buyAmount > 0:                                               │
│      • Bundle: [CreateToken IX, Buy IX] → Jito bundle (SOL)         │
│      • Or atomic contract call with value (BSC)                      │
│                                                                      │
│  7e. Sign via onchainos wallet (TEE)                                 │
│                                                                      │
│  7f. Submit to chain                                                 │
│      • SOL: submit Jito bundle → wait ~25s                           │
│      • BSC: broadcast tx → wait ~3-5s                                │
└────────────────────────────┬─────────────────────────────────────────┘
                             │
                             ▼
┌──────────────────────────────────────────────────────────────────────┐
│  STEP 8: RESULT                                                      │
│                                                                      │
│  ✅ Token Launched Successfully!                                      │
│                                                                      │
│  ┌────────────────┬──────────────────────────────────────────────┐   │
│  │ Token Name     │ DogWifHat (WIF)                              │   │
│  │ Token Address  │ 7xKXtg2CW87d97TXJSDpbD5jBkhT...pump         │   │
│  │ TX Hash        │ 4nF8kJ...                                    │   │
│  │ Initial Buy    │ 0.5 SOL → 12,500,000 WIF                    │   │
│  │ Launchpad      │ pump.fun                                     │   │
│  │ Explorer       │ https://solscan.io/tx/4nF8kJ...              │   │
│  │ Trade Page     │ https://pump.fun/7xKXtg2CW87d...             │   │
│  └────────────────┴──────────────────────────────────────────────┘   │
│                                                                      │
│  Next steps:                                                         │
│  • "sell 50% WIF" — sell via onchainos swap                          │
│  • "buy more WIF" — buy more via onchainos swap                      │
│  • "check WIF" — view token info, holders, liquidity                 │
│  • Share the trade page link to promote your token                   │
└──────────────────────────────────────────────────────────────────────┘

AI Agent Startup Interaction Protocol

When a user requests to launch a token, the AI Agent must follow the procedure below. Do not skip directly to launch.

Phase 1: Present Strategy Overview

Show the user the following:

一键发币 v1.0 — Multi-Launchpad Token Launch

This skill creates tokens on bonding curve launchpads with optional bundled initial buy.
Supports 6 launchpads: pump.fun, Bags.fm, LetsBonk, Moonit (Solana) + Four.Meme, Flap.sh (BSC).
IPFS metadata upload is handled automatically (pump.fun free endpoint, no API key needed).
Bundled buy creates token + initial buy in ONE atomic Jito bundle — no front-running.
All signing via onchainos Agentic Wallet (TEE) — no private keys in code.

Current: Paper Mode (DRY_RUN=True) — no real on-chain transactions.

Risk Notice: Token creation is IRREVERSIBLE. You may lose all invested capital.

Q1: Choose Launchpad (Optional — default pump.fun)

#LaunchpadChainNotes
1pump.funSolanaLargest SOL launchpad, Raydium migration, Jito MEV protection
2Bags.fmSolanaFee sharing, Meteora DBC
3LetsBonkSolanaBONK ecosystem, Raydium migration
4MoonitSolana80% creator fee share
5Four.MemeBSCLargest BSC launchpad, PancakeSwap migration
6Flap.shBSCTax tokens, vanity addresses, PCS V3

If user doesn't specify → default to pump.fun.

Q2: Token Details (Required)

Collect from user:

  • Name — Token name (e.g., "MoonDog") [Required]
  • Symbol — Ticker (e.g., "MDOG") [Required]
  • Description — Short description [Required]
  • Image — File path, URL, base64, or data URI [Required]
  • Website — Project URL [Optional]
  • Twitter / X — Twitter URL [Optional]
  • Telegram — Telegram URL [Optional]

If user provides all in one message (e.g., "launch MoonDog MDOG on pump.fun, image is /tmp/dog.png"), extract directly — don't re-ask.

Q3: Bundled Initial Buy?

  • A. Create only (buy_amount = 0) — just create the token, no initial purchase
  • B. Buy at launch — specify amount in SOL/BNB (e.g., 0.1 SOL)
    • Create + Buy bundled in ONE atomic Jito bundle (Solana) or contract call (BSC)
    • No one can front-run your initial purchase
    • Slippage: 10% default (configurable)

Q4: Paper Mode or Live Mode?

  • A. Paper Mode (default, recommended for first use) → DRY_RUN = True
    • Simulates the entire flow, no real on-chain TX
  • B. Live Mode → DRY_RUN = False
    • Confirm with user: "Live Mode will create a REAL token on-chain. This is IRREVERSIBLE. Confirm?"
    • User confirms → set DRY_RUN = False in config.py
    • User declines → fall back to Paper Mode

Launch

  1. Modify config.py based on user responses (launchpad, DRY_RUN mode)
  2. Check prerequisites: onchainos --version, onchainos wallet status
  3. Install dependencies: pip install -r requirements.txt
  4. Start dashboard: python3 token_launch.py (runs in background, serves at http://localhost:3245)
  5. Show confirmation summary table (name, symbol, launchpad, buy amount, wallet, balance, mode)
  6. Wait for user confirmation ("confirm" to launch, "cancel" to abort)
  7. Execute via quick_launch() — one call handles everything
  8. Show result: token address, TX hash, explorer link, trade page URL
  9. Show Dashboard link: http://localhost:3245

Special Cases

  • User explicitly says "just launch it" or gives all details upfront → Extract params, show confirmation, launch (skip Q1-Q4 if info is complete)
  • User says "use defaults" → pump.fun, Paper Mode, no initial buy, but still need name/symbol/description/image
  • Returning user (previous launch in conversation) → Remind of previous config, ask whether to reuse

Execution Rules

Primary Entry Point: quick_launch()

One call does everything — wallet, IPFS, signing, broadcast, record-keeping:

# token_launch.py auto-adds its directory to sys.path, so just point to the skill folder:
import sys, os
sys.path.insert(0, os.path.expanduser("~/path/to/Token Launch"))
from token_launch import quick_launch

# Minimal — just name, symbol, description, image:
result = await quick_launch("MoonDog", "MDOG", "a good boy", "/path/to/dog.png")

# Full options:
result = await quick_launch(
    "MoonDog", "MDOG", "a good boy", "<your-website-url>/dog.png",
    launchpad="pumpfun",   # pumpfun | bags | letsbonk | moonit | fourmeme | flap
    buy_amount=0.1,        # SOL/BNB — 0 = create only
    website="https://moondog.xyz",
    twitter="https://twitter.com/moondog",
    telegram="https://t.me/moondog",
)

# result.success, result.token_address, result.tx_hash, result.explorer_url

Image input — accepts any of:

  • Local file path: "/tmp/dog.png"
  • URL: "<your-website-url>/dog.png"
  • Base64 data URI: "data:image/png;base64,iVBOR…"
  • Raw base64 string

quick_launch() handles everything automatically:

  1. Wallet login check + address resolution (cached after first call)
  2. Balance check (reject early if insufficient)
  3. Image normalization (download URL / decode base64 if needed)
  4. IPFS upload (pump.fun free endpoint first, Pinata fallback)
  5. Confirmation display (shows all params in a summary box)
  6. Launch execution via the appropriate adapter
  7. Record saved to state/launches.json
  8. Lark notification (if LARK_WEBHOOK set)

Configuration

config.py controls all defaults:

  • DRY_RUN = True → simulate (no on-chain TX). Set False for real launches.
  • DEFAULT_LAUNCHPAD = "pumpfun" → default when user doesn't specify
  • CONFIRM_REQUIRED = True → show confirmation before launch

Image Validation

  • Accepted formats: PNG, JPG, GIF, WEBP
  • Max size: 5 MB
  • Recommended: square (1:1 ratio), minimum 200x200

IPFS Upload

  • Primary: pump.fun /api/ipfs — free, no API key needed, one call uploads image + creates Metaplex metadata
  • Fallback: Pinata — requires PINATA_JWT env var
  • No setup required for the primary path

Safety

  • ALWAYS show confirmation summary before execution
  • NEVER auto-execute — token creation is irreversible
  • If balance insufficient → reject with clear message, do NOT proceed
  • If IPFS upload fails → abort with error
  • If on-chain TX fails → show TX hash + error, do NOT retry

Post-Launch

  • Record saved to state/launches.json
  • Explorer link + trade page URL returned in result
  • Lark webhook notification (if LARK_WEBHOOK env is set)
  • Post-launch monitor available: python3 post_launch.py <token_address> --refresh 10

Launchpad Adapter Specs

pump.fun (via PumpPortal)

API Base: https://pumpportal.fun

Token Creation + Buy (bundled):

POST /api/trade-local
{
  "action": "create",
  "tokenMetadata": {
    "name": "DogWifHat",
    "symbol": "WIF",
    "uri": "https://gateway.pinata.cloud/ipfs/QmYyy..."
  },
  "mint": "<base58_mint_keypair>",
  "denominatedInSol": "true",
  "amount": 0.5,
  "slippage": 10,
  "priorityFee": 0.0001,
  "pool": "pump"
}

Response: unsigned transaction bytes (with mint keypair signature embedded by PumpPortal)

Signing flow:

  1. Mint keypair generated locally (pump.fun protocol requirement)
  2. Mint keypair secret passed to PumpPortal -- PumpPortal embeds the mint signature
  3. Unsigned TX (needs only fee payer signature) sent to onchainos wallet contract-call --unsigned-tx
  4. TEE wallet adds fee payer signature and broadcasts
  5. Optional --mev-protection uses Jito bundle for front-run protection

Notes:

  • Mint keypair is randomly generated client-side (protocol requirement)
  • User wallet is the fee payer -- no ephemeral keypairs needed
  • IPFS upload via pump.fun /api/ipfs (free, no API key) with Pinata fallback
  • No platform fee on creation, standard fee on dev buy
  • Pool options: "pump" (default) or "bonk" (LetsBonk pool)

Bags.fm

SDK: @bags-fm/sdk (TypeScript) — we call via REST endpoints

Flow:

  1. POST /token-launch/create-token-info — upload metadata (name, symbol, desc, image, socials)
  2. POST /fee-share/config — create fee share config (creator BPS, optional co-earners)
  3. POST /token-launch/create-launch-transaction — create launch TX with initialBuyLamports

Fee Sharing:

  • Creator must set their BPS explicitly (no default allocation)
  • Total must = 10,000 bps (100%)
  • Max 100 fee earners per token
  • Supports social username lookups (Twitter, GitHub, Kick)

Notes:

  • Uses Meteora Dynamic Bonding Curve
  • Bags handles IPFS upload internally via their API
  • No external Pinata needed (optional)

Moonit

SDK: @moonit/sdk (TypeScript) — Python wrapper calls SDK methods

Flow:

  1. prepareMintTx() — builds mint transaction with token metadata
  2. Sign transaction
  3. submitMintTx() — submit signed transaction

Notes:

  • Creator earns 80% of all trading fees
  • Supports Raydium and Meteora V2 migration targets
  • Built-in IPFS upload in SDK

LetsBonk

MCP Server: bonk-mcp — or direct REST API

Flow:

  1. Create token via API (name, symbol, metadata URI)
  2. Optional initial buy
  3. Submit to Solana

Notes:

  • Part of BONK ecosystem
  • Migrates to Raydium after bonding curve completion
  • Pool option pool: "bonk" also available via PumpPortal

Four.Meme (BSC)

Method: Direct contract interaction via onchainos wallet contract-call

IMPORTANT: The agent MUST display all transaction parameters and receive explicit user confirmation (typing "confirm") BEFORE executing any contract call. Never auto-execute.

Flow:

  1. Upload image to IPFS (pump.fun free endpoint, Pinata fallback)
  2. Create metadata (description, image CID, socials)
  3. Display full transaction summary and wait for user to type "confirm"
  4. Call Four.Meme factory contract: createToken(name, symbol, metadataURI, ...)
  5. Include msg.value for initial buy (if buyAmount > 0)

Notes:

  • Image upload handled by Four.Meme platform internally (if using their web UI)
  • For programmatic: use Pinata, pass CID
  • Categories: Meme, AI, DeFi, Games, Infra, De-Sci, Social, Depin, Charity, Others
  • No tax token support on Four.Meme

Flap.sh (BSC)

Method: Direct contract interaction via onchainos wallet contract-call

IMPORTANT: The agent MUST display all transaction parameters and receive explicit user confirmation (typing "confirm") BEFORE executing any contract call. Never auto-execute.

Portal Contract: 0xe2cE6ab80874Fa9Fa2aAE65D277Dd6B8e65C9De0 (BNB Mainnet)

Function: newTokenV6(NewTokenV6Params)

Parameters:

name:               string    — Token name
symbol:             string    — Token symbol
meta:               string    — IPFS CID of metadata
dexThresh:          uint8     — DEX listing threshold type
salt:               bytes32   — Vanity salt (0x0 for random)
migratorType:       uint8     — V2_MIGRATOR or V3_MIGRATOR
quoteToken:         address   — address(0) for native BNB
quoteAmt:           uint256   — Initial buy amount
beneficiary:        address   — Tax recipient
buyTaxRate:         uint16    — Buy tax (basis points)
sellTaxRate:        uint16    — Sell tax (basis points)
taxDuration:        uint256   — How long tax applies (seconds)
antiFarmerDuration: uint256   — Anti-dump duration (seconds)
mktBps:             uint16    — Marketing allocation from tax
deflationBps:       uint16    — Burn allocation from tax
dividendBps:        uint16    — Dividend allocation from tax
lpBps:              uint16    — LP allocation from tax
tokenVersion:       uint8     — 6 (TOKEN_TAXED_V3, recommended)

Notes:

  • Supports asymmetric buy/sell tax rates
  • Vanity token addresses via salt parameter
  • Tax splits: mktBps + deflationBps + dividendBps + lpBps = total tax allocation
  • DEX migration to PancakeSwap V2 or V3

Dashboard

Port: 3245

Features:

  • Numbered timeline list (newest at top) with token logos
  • Bonding curve progress bar (live-updating for active tokens)
  • Live stats: price, market cap, holders, buy/sell volume
  • Wallet balance display and mode indicator (DRY RUN / LIVE)
  • Social links, explorer links, and launchpad chips

Config Reference

See config.py for all configurable parameters with descriptions.


Quick Start Examples

Launch on pump.fun (create only, no buy)

User: "Launch a token called MoonCat, ticker MCAT, on pump.fun"
→ Skill collects: description, image
→ Uploads to IPFS
→ Calls PumpPortal create (buyAmount = 0)
→ Returns token address

Launch on pump.fun with bundled buy

User: "发币 CoolDog, ticker CDOG, buy 0.5 SOL"
→ Skill collects: description, image
→ Uploads to IPFS
→ Bundles: create TX + buy 0.5 SOL TX → Jito bundle
→ Returns token address + initial position

Launch on Flap.sh with tax token

User: "Create a tax token on BSC via Flap, 5% buy tax, 3% sell tax"
→ Skill collects: name, ticker, desc, image, tax config
→ Uploads metadata to IPFS
→ Calls Flap portal newTokenV6() with tax params
→ Returns token address on BSC

Launch on Bags.fm with fee sharing

User: "Launch on Bags, share 50% fees with my partner"
→ Skill collects: name, ticker, desc, image, partner address
→ Creates fee share config (creator 5000 bps, partner 5000 bps)
→ Creates launch TX
→ Returns token address + fee share config

FAQ

What does the one-click-token-launch skill do?

One-click multi-launchpad token creation with bundled buy, IPFS metadata, MEV protection across 6 launchpads on Solana and BSC

How do I install one-click-token-launch?

Run npx skills add https://github.com/okx/plugin-store --skill one-click-token-launch 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/one-click-token-launch/ (personal) or .claude/skills/one-click-token-launch/ (project).

Which AI agents can use one-click-token-launch?

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 one-click-token-launch safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains one-click-token-launch?

It is published by okx in okx/plugin-store. It has 49 recorded installs.

More from okx/plugin-store

View all →

polymarket-plugin

okx/plugin-store

Trade prediction markets on Polymarket - buy outcome tokens (YES/NO and categorical markets), check positions, list markets, manage orders, redeem winning tokens, and deposit funds on Polygon. Trigger phrases: buy polymarket shares, sell polymarket position, check my polymarket positions, list polymarket markets, get polymarket market, cancel polymarket order, redeem polymarket tokens, polymarket yes token, polymarket no token, prediction market trade, polymarket price, get started with polymarket, just installed polymarket, how do I use polymarket, set up polymarket, polymarket quickstart, new to polymarket, polymarket setup, help me trade on polymarket, place a bet on, buy prediction market, bet on, trade on prediction markets, prediction trading, place a prediction market bet, i want to bet on, deposit, top up, fund, transfer in, add funds, fund polymarket, top up polymarket, add funds to polymarket, recharge polymarket, deposit usdc, deposit eth, polymarket deposit, BTC 5-minute, E

Business & Finance503 installs

plugin-store

okx/plugin-store

This is the main on-chain DeFi skill. Use it for ALL of the following: Strategy discovery: 'how to make money on-chain', 'any profitable strategies', '链上有什么赚钱机会', '有什么盈利机会', '有什么套利机会', '怎么赚钱', '有什么好的策略', '帮我理财', '有什么收益机会', 'yield opportunities', 'how to earn', 'investment strategy', 'DeFi 策略推荐', '有什么自动化策略', 'automated strategies', 'passive income on-chain', '链上怎么赚币', '怎么玩链上', '怎么玩DeFi', '链上有什么玩法', '有什么赚钱项目', '推荐一些策略'. Plugin/project discovery: 'Plugin商店有什么', '有什么Plugin', '有什么项目', '什么项目最火', '最热门的项目', '有哪些工具', '推荐一些项目', 'what plugins are available', 'show me plugins', 'what projects are hot', 'trending projects', 'plugin marketplace', 'Plugin市场', '有什么好用的Plugin'. Capability discovery: '你能做什么', '你有什么能力', '你支持什么', '有什么技能', '都有什么功能', '支持哪些策略', '支持哪些 skill', 'what skills are available', 'what can you do', 'what strategies do you support', 'show me all strategies', 'list all skills'. DApp discovery: 'what dapps are available', 'any good dapps', '有什么好的dapp', '推荐一些dapp', 'recommend dapps', 'show

Business & Finance500 installs

hyperliquid-plugin

okx/plugin-store

Hyperliquid DEX — trade perps & spot, deposit from Arbitrum, withdraw to Arbitrum, transfer between perp and spot accounts, manage gas on HyperEVM.

360 installs

aave-v3-plugin

okx/plugin-store

Open the skill to read its SKILL.md instructions.

154 installs

uniswap-ai

okx/plugin-store

Open the skill to read its SKILL.md instructions.

136 installs

starter-coach

okx/plugin-store

Open the skill to read its SKILL.md instructions.

121 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