one-click-token-launch
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese一键发币 v1.0 — Multi-Launchpad Token Launch
一键发币 v1.0 — 多Launchpad代币发行
One-click token creation with optional bundled initial buy across 6+ launchpads.
一键创建代币,可选在6+个Launchpad上进行捆绑式初始买入。
Disclaimer
免责声明
This skill is for educational and research purposes only. It does NOT constitute investment advice.
- 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.
- Irreversible: On-chain token creation is permanent. Once launched, a token cannot be un-created.
- Fees: Each launchpad charges platform fees. Jito bundles, priority fees, and gas costs add up. Review all costs before launching.
- Regulatory: Token creation may be subject to securities regulations in your jurisdiction. Users are responsible for compliance with all applicable laws.
- AS-IS: This skill is provided without warranty. All actions and consequences are the user's responsibility.
本技能仅用于教育和研究目的,不构成任何投资建议。
- 高风险:在 bonding curve Launchpad 上发行代币涉及重大财务风险。代币可能无法完成迁移、失去全部流动性或受到监管审查。
- 不可逆:链上代币创建是永久性的。一旦发行,代币无法被撤销。
- 费用:每个Launchpad都会收取平台费用。Jito捆绑交易费、优先费和Gas成本会累加。发行前请仔细查看所有费用。
- 合规性:代币创建可能受您所在地区的证券法规约束。用户需负责遵守所有适用法律。
- 按现状提供:本技能不提供任何担保。所有操作及后果由用户自行承担。
Security Model
安全模型
TEE Signing
TEE签名
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:
- Adapter builds an unsigned transaction (via launchpad API or ABI encoding)
- Transaction is passed to (Solana) or
onchainos wallet contract-call --unsigned-tx(EVM)--input-data - The TEE wallet signs and broadcasts the transaction
- Confirmation is polled via
onchainos wallet history --tx-hash
所有链上写入操作(代币创建、买入、转账)均通过运行在可信执行环境(TEE)中的onchainos Agentic Wallet进行签名。私钥不会存储在代码或环境变量中。签名流程如下:
- 适配器构建未签名交易(通过Launchpad API或ABI编码)
- 交易传递给(Solana)或
onchainos wallet contract-call --unsigned-tx(EVM)--input-data - TEE钱包对交易进行签名并广播
- 通过轮询确认结果
onchainos wallet history --tx-hash
Untrusted Data Boundary
不可信数据边界
External data enters the system at these points:
| Source | Data | Validation |
|---|---|---|
| PumpPortal API | Unsigned transaction bytes | Deserialized and verified before TEE signing |
| Bags.fm API | Token mint, metadata URL, serialized TX | Token mint checked, TX passed to TEE |
| Moonit API | Serialized TX, token mint | TX passed to TEE for signing |
| User input | Token name, symbol, description, image | Length limits enforced, image format validated |
| IPFS upload | CID hash | Immutable content-addressed -- no validation needed |
| Pinata API | Upload 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.
外部数据通过以下节点进入系统:
| 来源 | 数据 | 验证方式 |
|---|---|---|
| PumpPortal API | 未签名交易字节 | 在TEE签名前进行反序列化和验证 |
| Bags.fm API | 代币铸币地址、元数据URL、序列化交易 | 检查代币铸币地址,将交易传递给TEE |
| Moonit API | 序列化交易、代币铸币地址 | 将交易传递给TEE进行签名 |
| 用户输入 | 代币名称、符号、描述、图片 | 强制执行长度限制,验证图片格式 |
| IPFS上传 | CID哈希 | 基于内容寻址的不可变数据——无需验证 |
| Pinata API | 上传响应(CID) | 验证CID格式 |
用户提供的字符串(名称、符号、描述)会传递给Launchpad API和链上元数据,不会用于Shell命令或SQL查询。图片文件在IPFS上传前会验证格式和大小。
Confirmation Gate
确认机制
Live mode () always requires explicit user confirmation (typing "confirm") before any on-chain transaction. The parameter only applies in DRY_RUN mode. This prevents accidental irreversible token creation.
DRY_RUN=Falseauto_confirm实时模式()在执行任何链上交易前始终需要用户明确确认(输入"confirm")。参数仅适用于DRY_RUN模式。这可防止意外创建不可逆代币。
DRY_RUN=Falseauto_confirmFile 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 historyToken Launch/
├── SKILL.md ← 本文档(策略规范)
├── config.py ← 所有可配置参数
├── token_launch.py ← 主程序
├── launchpads/ ← 各Launchpad适配器
│ ├── __init__.py
│ ├── base.py ← 抽象基类
│ ├── pumpfun.py ← 通过PumpPortal API对接pump.fun
│ ├── bags.py ← 通过REST SDK对接Bags.fm
│ ├── letsbonk.py ← 通过API对接LetsBonk
│ ├── moonit.py ← 通过SDK对接Moonit
│ ├── fourmeme.py ← 通过合约对接Four.Meme(BSC)
│ └── flap.py ← 通过合约对接Flap.sh(BSC)
├── ipfs.py ← IPFS上传(默认使用pump.fun免费端点 + Pinata备用方案)
├── post_launch.py ← 发行后监控
├── dashboard.html ← Web控制面板UI
├── requirements.txt ← Python依赖
└── state/ ← [自动生成]
└── launches.json ← 发行历史Prerequisites
前置条件
1. Install onchainos CLI (>= 2.1.0)
1. 安装onchainos CLI(版本≥2.1.0)
bash
onchainos --versionbash
onchainos --versionIf not installed, follow onchainos official docs
若未安装,请遵循onchainos官方文档
undefinedundefined2. Login to Agentic Wallet (TEE Signing)
2. 登录Agentic Wallet(TEE签名)
bash
onchainos wallet login <your-email>
onchainos wallet statusbash
onchainos wallet login <你的邮箱>
onchainos wallet status→ loggedIn: true
→ loggedIn: true
Confirm Solana address
确认Solana地址
onchainos wallet balance --chain solana
onchainos wallet balance --chain solana
→ address: 2HNq...ErwW
→ address: 2HNq...ErwW
Confirm BSC address (if using BSC launchpads)
确认BSC地址(若使用BSC Launchpad)
onchainos wallet balance --chain bsc
undefinedonchainos wallet balance --chain bsc
undefined3. IPFS Upload (No Setup Needed)
3. IPFS上传(无需额外配置)
IPFS upload uses pump.fun's free endpoint by default — no API key required.
/api/ipfsOptional fallback: Pinata (set if you want redundancy).
export PINATA_JWT="your_jwt"IPFS上传默认使用pump.fun的免费端点——无需API密钥。
/api/ipfs可选备用方案:Pinata(若需要冗余,设置)。
export PINATA_JWT="你的jwt"4. Python Dependencies
4. Python依赖
bash
pip install -r requirements.txtbash
pip install -r requirements.txtor manually:
或手动安装:
pip install httpx base58 solders
---pip install httpx base58 solders
---Supported Launchpads
支持的Launchpad
Solana
Solana
| Launchpad | Protocol | Migration Target | Bundled Buy | MEV Protection | API Type |
|---|---|---|---|---|---|
| pump.fun | pump.fun bonding curve | Raydium | Yes (Jito bundle) | Jito bundle | PumpPortal REST |
| Bags.fm | Meteora DBC | Meteora | Yes (atomic) | Built-in | Official REST SDK |
| LetsBonk | Bonk bonding curve | Raydium | Yes | Built-in | MCP / REST |
| Moonit | Moonit bonding curve | Raydium/Meteora | Yes | Built-in | Official SDK |
| Launchpad | 协议 | 迁移目标 | 捆绑买入 | MEV防护 | API类型 |
|---|---|---|---|---|---|
| pump.fun | pump.fun bonding curve | Raydium | 支持(Jito bundle) | Jito bundle | PumpPortal REST |
| Bags.fm | Meteora DBC | Meteora | 支持(原子交易) | 内置 | 官方REST SDK |
| LetsBonk | Bonk bonding curve | Raydium | 支持 | 内置 | MCP / REST |
| Moonit | Moonit bonding curve | Raydium/Meteora | 支持 | 内置 | 官方SDK |
BSC
BSC
| Launchpad | Protocol | Migration Target | Bundled Buy | Tax Token | API Type |
|---|---|---|---|---|---|
| Four.Meme | Four.Meme bonding curve | PancakeSwap | Yes | No | Contract call |
| Flap.sh | Flap bonding curve | PancakeSwap V2/V3 | Yes | Yes (buy/sell tax) | Contract call |
| Launchpad | 协议 | 迁移目标 | 捆绑买入 | 税代币 | API类型 |
|---|---|---|---|---|---|
| Four.Meme | Four.Meme bonding curve | PancakeSwap | 支持 | 不支持 | 合约调用 |
| Flap.sh | Flap bonding curve | PancakeSwap V2/V3 | 支持 | 支持(买入/卖出税) | 合约调用 |
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 │
└──────────────────────────────────────────────────────────────────────┘┌──────────────────────────────────────────────────────────────────────┐
│ 用户:"发币" / "launch token" / "create a meme coin" │
└────────────────────────────┬─────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 步骤1:基本信息 │
│ │
│ ┌──────────────┬───────────────────────────────────────────────┐ │
│ │ 代币名称 │ "DogWifHat" [必填] │ │
│ │ 交易代码 │ "WIF" [必填] │ │
│ │ 描述 │ "The dog with the hat" [必填] │ │
│ │ 图片 │ ./wif.png 或 URL [必填] │ │
│ └──────────────┴───────────────────────────────────────────────┘ │
└────────────────────────────┬─────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 步骤2:社交链接(可选) │
│ │
│ ┌──────────────┬───────────────────────────────────────────────┐ │
│ │ 官网 │ <你的官网URL> [可选] │ │
│ │ Twitter / X │ <你的Twitter URL> [可选] │ │
│ │ Telegram │ <你的Telegram URL> [可选] │ │
│ └──────────────┴───────────────────────────────────────────────┘ │
└────────────────────────────┬─────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 步骤3:选择Launchpad │
│ │
│ Solana平台: │
│ ┌─────┬──────────────────────────────────────────────────────────┐ │
│ │ 1 │ 🟢 pump.fun — 最大的SOL Launchpad,支持Raydium迁移 │ │
│ │ 2 │ 🔵 Bags.fm — 费用共享,基于Meteora DBC │ │
│ │ 3 │ 🟡 LetsBonk — BONK生态系统,支持Raydium迁移 │ │
│ │ 4 │ 🟠 Moonit — 创作者奖励,80%费用分成 │ │
│ └─────┴──────────────────────────────────────────────────────────┘ │
│ │
│ BSC平台: │
│ ┌─────┬──────────────────────────────────────────────────────────┐ │
│ │ 5 │ 🔴 Four.Meme — 最大的BSC Launchpad,支持PCS迁移 │ │
│ │ 6 │ 🟣 Flap.sh — 税代币支持,自定义地址,支持PCS V3 │ │
│ └─────┴──────────────────────────────────────────────────────────┘ │
│ │
│ 默认值:若用户未指定,则选择pump.fun │
└────────────────────────────┬─────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 步骤4:Launchpad专属配置 │
│ │
│ ┌─── pump.fun 配置 ──────────────────────────────────────────────────┐ │
│ │ 分类: (不适用 — pump.fun无分类) │ │
│ │ 优先费: 0.0005 SOL(默认值) │ │
│ │ 小费: 0.0001 SOL(默认值) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─── Bags.fm 配置 ─────────────────────────────────────────────────────┐ │
│ │ 费用共享: 创作者100%(默认)或与他人拆分 │ │
│ │ 费用收取方: [{address, bps}] — 总和必须为10,000 bps │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─── Four.Meme 配置 ───────────────────────────────────────────────────┐ │
│ │ 分类: Meme/AI/DeFi/Games/Infra/De-Sci/Social/... │ │
│ │ Gas价格: 自动(默认)或自定义wei │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌─── Flap.sh 配置 ─────────────────────────────────────────────────────┐ │
│ │ 分类: 通过extensionData设置 │ │
│ │ 买入税: 0-10000 bps │ │
│ │ 卖出税: 0-10000 bps │ │
│ │ 税有效期: 秒 │ │
│ │ 税拆分: mktBps + deflationBps + dividendBps + lpBps │ │
│ │ DEX目标: PancakeSwap V2或V3 │ │
│ │ LP费率层级: (若使用V3) │ │
│ │ 自定义盐值: bytes32(可选,用于自定义代币地址) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
└────────────────────────────┬─────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 步骤5:捆绑式初始买入 │
│ │
│ "发行时是否买入自己的代币?" │
│ │
│ ┌──────────────────┬────────────────────────────────────────────┐ │
│ │ 买入金额 │ 0 = 仅创建代币 │ │
│ │ │ 0.5 SOL = 发行时买入(捆绑交易) │ │
│ │ MEV防护 │ 开启(Jito bundle) — 默认推荐 │ │
│ │ 滑点 │ 10%(bonding curve买入默认值) │ │
│ └──────────────────┴────────────────────────────────────────────┘ │
│ │
│ 工作原理: │
│ • buyAmount = 0 → 仅执行代币创建交易 │
│ • buyAmount > 0 → 在一个原子Jito bundle中完成代币创建+买入 │
│ • 无人能抢先完成你的初始买入 │
│ • 平台费用会自动从buyAmount中扣除 │
│ │
│ 余额检查: │
│ • SOL:需要buyAmount + 0.02 SOL(费用+租金) │
│ • BSC:需要buyAmount + 0.015 BNB(Gas费) │
└────────────────────────────┬─────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 步骤6:确认表格 │
│ │
│ ┌────────────────┬──────────────────────────────────────────────┐ │
│ │ Launchpad │ pump.fun │ │
│ │ 链 │ Solana │ │
│ │ 代币名称 │ DogWifHat │ │
│ │ 交易代码 │ WIF │ │
│ │ 描述 │ The dog with the hat │ │
│ │ 图片 │ wif.png (420x420, 85KB) │ │
│ │ 官网 │ <你的官网URL> │ │
│ │ Twitter │ <你的Twitter URL> │ │
│ │ Telegram │ <你的Telegram URL> │ │
│ │ ───────────── │ ────────────────────────── │ │
│ │ 钱包 │ 2HNq...ErwW (1.23 SOL) │ │
│ │ 初始买入 │ 0.5 SOL │ │
│ │ MEV保护 │ 开启(Jito bundle) │ │
│ │ 滑点 │ 10% │ │
│ │ 优先费 │ 0.0001 SOL │ │
│ │ 预估成本 │ ~0.52 SOL(买入+费用+租金) │ │
│ └────────────────┴──────────────────────────────────────────────┘ │
│ │
│ ⚡ 输入"confirm"以发行,输入"cancel"以终止。 │
│ │
│ ⚠️ 此操作不可逆,代币将在链上创建。 │
└────────────────────────────┬─────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 步骤7:执行(底层操作) │
│ │
│ 7a. 将图片上传至IPFS(默认使用pump.fun免费端点,Pinata作为备用) │
│ → ipfs://QmXxx... │
│ │
│ 7b. 创建元数据JSON并上传至IPFS │
│ { │
│ "name": "DogWifHat", │
│ "symbol": "WIF", │
│ "description": "The dog with the hat", │
│ "image": "ipfs://QmXxx...", │
│ "twitter": "<你的Twitter URL>", │
│ "telegram": "<你的Telegram URL>", │
│ "website": "<你的官网URL>" │
│ } │
│ → ipfs://QmYyy...(元数据URI) │
│ │
│ 7c. 调用Launchpad适配器: │
│ pump.fun → PumpPortal /api/trade-local(action: create) │
│ Bags → SDK createLaunchTransaction() │
│ Moonit → SDK prepareMintTx() │
│ LetsBonk → REST API │
│ Four.Meme → onchainos wallet contract-call(需先用户确认) │
│ Flap → onchainos wallet contract-call(需先用户确认) │
│ │
│ 7d. 若buyAmount > 0: │
│ • 捆绑交易: [CreateToken指令, Buy指令] → Jito bundle(SOL) │
│ • 或带value的原子合约调用(BSC) │
│ │
│ 7e. 通过onchainos wallet(TEE)签名 │
│ │
│ 7f. 提交至链 │
│ • SOL: 提交Jito bundle → 等待约25秒 │
│ • BSC: 广播交易 → 等待约3-5秒 │
└────────────────────────────┬─────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ 步骤8:结果 │
│ │
│ ✅ 代币发行成功! │
│ │
│ ┌────────────────┬──────────────────────────────────────────────┐ │
│ │ 代币名称 │ DogWifHat (WIF) │ │
│ │ 代币地址 │ 7xKXtg2CW87d97TXJSDpbD5jBkhT...pump │ │
│ │ 交易哈希 │ 4nF8kJ... │ │
│ │ 初始买入 │ 0.5 SOL → 12,500,000 WIF │ │
│ │ Launchpad │ pump.fun │ │
│ │ 区块链浏览器 │ https://solscan.io/tx/4nF8kJ... │ │
│ │ 交易页面 │ https://pump.fun/7xKXtg2CW87d... │ │
│ └────────────────┴──────────────────────────────────────────────┘ │
│ │
│ 后续操作: │
│ • "sell 50% WIF" — 通过onchainos swap卖出 │
│ • "buy more WIF" — 通过onchainos swap买入更多 │
│ • "check WIF" — 查看代币信息、持有者、流动性 │
│ • 分享交易页面链接以推广你的代币 │
└──────────────────────────────────────────────────────────────────────┘AI Agent Startup Interaction Protocol
AI Agent启动交互协议
When a user requests to launch a token, the AI Agent must follow the procedure below. Do not skip directly to launch.
当用户请求发行代币时,AI Agent必须遵循以下流程,不得直接跳过步骤进行发行。
Phase 1: Present Strategy Overview
阶段1:展示策略概述
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.向用户展示以下内容:
一键发币 v1.0 — 多Launchpad代币发行
本技能可在bonding curve Launchpad上创建代币,并支持可选的捆绑式初始买入。
支持6个Launchpad:pump.fun、Bags.fm、LetsBonk、Moonit(Solana)以及Four.Meme、Flap.sh(BSC)。
自动处理IPFS元数据上传(使用pump.fun免费端点,无需API密钥)。
捆绑式买入将代币创建+初始买入整合为一个原子Jito bundle — 无抢先交易。
所有签名通过onchainos Agentic Wallet(TEE)完成 — 代码中无任何私钥。
当前模式:模拟模式(DRY_RUN=True) — 无真实链上交易。
风险提示:代币创建不可逆,你可能损失全部投资资金。Q1: Choose Launchpad (Optional — default pump.fun)
Q1:选择Launchpad(可选 — 默认pump.fun)
| # | Launchpad | Chain | Notes |
|---|---|---|---|
| 1 | pump.fun | Solana | Largest SOL launchpad, Raydium migration, Jito MEV protection |
| 2 | Bags.fm | Solana | Fee sharing, Meteora DBC |
| 3 | LetsBonk | Solana | BONK ecosystem, Raydium migration |
| 4 | Moonit | Solana | 80% creator fee share |
| 5 | Four.Meme | BSC | Largest BSC launchpad, PancakeSwap migration |
| 6 | Flap.sh | BSC | Tax tokens, vanity addresses, PCS V3 |
If user doesn't specify → default to pump.fun.
| # | Launchpad | 链 | 说明 |
|---|---|---|---|
| 1 | pump.fun | Solana | 最大的SOL Launchpad,支持Raydium迁移,Jito MEV防护 |
| 2 | Bags.fm | Solana | 费用共享,基于Meteora DBC |
| 3 | LetsBonk | Solana | BONK生态系统,支持Raydium迁移 |
| 4 | Moonit | Solana | 80%创作者费用分成 |
| 5 | Four.Meme | BSC | 最大的BSC Launchpad,支持PancakeSwap迁移 |
| 6 | Flap.sh | BSC | 税代币支持,自定义地址,支持PCS V3 |
若用户未指定 → 默认选择pump.fun。
Q2: Token Details (Required)
Q2:代币详情(必填)
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.
向用户收集:
- 名称 — 代币名称(例如"MoonDog")[必填]
- 交易代码 — 交易符号(例如"MDOG")[必填]
- 描述 — 简短描述[必填]
- 图片 — 文件路径、URL、base64或数据URI[必填]
- 官网 — 项目URL[可选]
- Twitter / X — Twitter URL[可选]
- Telegram — Telegram URL[可选]
若用户一次性提供所有信息(例如"在pump.fun上发行MoonDog代币,交易代码MDOG,图片是/tmp/dog.png"),直接提取信息 — 无需重复询问。
Q3: Bundled Initial Buy?
Q3:是否进行捆绑式初始买入?
- 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)
- A. 仅创建(buy_amount = 0) — 仅创建代币,不进行初始买入
- B. 发行时买入 — 指定SOL/BNB金额(例如0.1 SOL)
- 在一个原子Jito bundle(Solana)或合约调用(BSC)中完成创建+买入
- 无人能抢先完成你的初始买入
- 滑点:默认10%(可配置)
Q4: Paper Mode or Live Mode?
Q4:模拟模式还是实时模式?
- 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 in config.py
DRY_RUN = False - User declines → fall back to Paper Mode
- A. 模拟模式(默认,首次使用推荐) →
DRY_RUN = True- 模拟整个流程,无真实链上交易
- B. 实时模式 →
DRY_RUN = False- 向用户确认:"实时模式将在链上创建真实代币,此操作不可逆,是否确认?"
- 用户确认 → 在config.py中设置
DRY_RUN = False - 用户拒绝 → 退回模拟模式
Launch
发行流程
- Modify based on user responses (launchpad, DRY_RUN mode)
config.py - Check prerequisites: ,
onchainos --versiononchainos wallet status - Install dependencies:
pip install -r requirements.txt - Start dashboard: (runs in background, serves at
python3 token_launch.py)http://localhost:3245 - Show confirmation summary table (name, symbol, launchpad, buy amount, wallet, balance, mode)
- Wait for user confirmation ("confirm" to launch, "cancel" to abort)
- Execute via — one call handles everything
quick_launch() - Show result: token address, TX hash, explorer link, trade page URL
- Show Dashboard link:
http://localhost:3245
- 根据用户反馈修改(Launchpad、DRY_RUN模式)
config.py - 检查前置条件:、
onchainos --versiononchainos wallet status - 安装依赖:
pip install -r requirements.txt - 启动控制面板:(后台运行,服务地址
python3 token_launch.py)http://localhost:3245 - 展示确认汇总表格(名称、交易代码、Launchpad、买入金额、钱包、余额、模式)
- 等待用户确认(输入"confirm"发行,输入"cancel"终止)
- 通过执行 — 一次调用处理所有操作
quick_launch() - 展示结果:代币地址、交易哈希、区块链浏览器链接、交易页面URL
- 展示控制面板链接:
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
- 用户明确表示"直接发行"或一次性提供所有细节 → 提取参数,展示确认信息后发行(若信息完整,可跳过Q1-Q4)
- 用户表示"使用默认值" → 选择pump.fun、模拟模式、不进行初始买入,但仍需收集名称/交易代码/描述/图片
- 返回用户(对话中有过发行记录) → 提醒之前的配置,询问是否复用
Execution Rules
执行规则
Primary Entry Point: quick_launch()
quick_launch()主入口:quick_launch()
quick_launch()One call does everything — wallet, IPFS, signing, broadcast, record-keeping:
python
undefined一次调用完成所有操作 — 钱包、IPFS、签名、广播、记录:
python
undefinedtoken_launch.py auto-adds its directory to sys.path, so just point to the skill folder:
token_launch.py会自动将其目录添加到sys.path,只需指向技能文件夹:
import sys, os
sys.path.insert(0, os.path.expanduser("~/path/to/Token Launch"))
from token_launch import quick_launch
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")
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 = await quick_launch(
"MoonDog", "MDOG", "a good boy", "<你的官网URL>/dog.png",
launchpad="pumpfun", # pumpfun | bags | letsbonk | moonit | fourmeme | flap
buy_amount=0.1, # SOL/BNB — 0 = 仅创建代币
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
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)
**图片输入** — 支持以下格式:
- 本地文件路径:`"/tmp/dog.png"`
- URL:`"<你的官网URL>/dog.png"`
- Base64数据URI:`"data:image/png;base64,iVBOR…"`
- 原始base64字符串
`quick_launch()`自动处理所有操作:
1. 钱包登录检查 + 地址解析(首次调用后缓存)
2. 余额检查(余额不足时提前拒绝)
3. 图片标准化(下载URL / 解码base64)
4. IPFS上传(优先使用pump.fun免费端点,Pinata作为备用)
5. 展示确认信息(汇总所有参数)
6. 通过对应适配器执行发行
7. 记录保存至`state/launches.json`
8. 飞书通知(若设置`LARK_WEBHOOK`)Configuration
配置
config.py- → simulate (no on-chain TX). Set
DRY_RUN = Truefor real launches.False - → default when user doesn't specify
DEFAULT_LAUNCHPAD = "pumpfun" - → show confirmation before launch
CONFIRM_REQUIRED = True
config.py- → 模拟模式(无链上交易)。真实发行时设置为
DRY_RUN = True。False - → 用户未指定时的默认值
DEFAULT_LAUNCHPAD = "pumpfun" - → 发行前展示确认信息
CONFIRM_REQUIRED = True
Image Validation
图片验证
- Accepted formats: PNG, JPG, GIF, WEBP
- Max size: 5 MB
- Recommended: square (1:1 ratio), minimum 200x200
- 支持格式:PNG、JPG、GIF、WEBP
- 最大大小:5 MB
- 推荐:正方形(1:1比例),最小200x200像素
IPFS Upload
IPFS上传
- Primary: pump.fun — free, no API key needed, one call uploads image + creates Metaplex metadata
/api/ipfs - Fallback: Pinata — requires env var
PINATA_JWT - No setup required for the primary path
- 主方案:pump.fun — 免费,无需API密钥,一次调用完成图片上传+Metaplex元数据创建
/api/ipfs - 备用方案:Pinata — 需要环境变量
PINATA_JWT - 主方案无需额外配置
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
- 执行前必须展示确认汇总信息
- 绝不自动执行 — 代币创建不可逆
- 余额不足时 → 明确提示并拒绝,不继续执行
- IPFS上传失败时 → 终止并提示错误
- 链上交易失败时 → 展示交易哈希+错误,不重试
Post-Launch
发行后
- Record saved to
state/launches.json - Explorer link + trade page URL returned in result
- Lark webhook notification (if env is set)
LARK_WEBHOOK - Post-launch monitor available:
python3 post_launch.py <token_address> --refresh 10
- 记录保存至
state/launches.json - 返回区块链浏览器链接+交易页面URL
- 飞书Webhook通知(若设置环境变量)
LARK_WEBHOOK - 可使用发行后监控:
python3 post_launch.py <token_address> --refresh 10
Launchpad Adapter Specs
Launchpad适配器规范
pump.fun (via PumpPortal)
pump.fun(通过PumpPortal)
API Base:
https://pumpportal.funToken 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:
- Mint keypair generated locally (pump.fun protocol requirement)
- Mint keypair secret passed to PumpPortal -- PumpPortal embeds the mint signature
- Unsigned TX (needs only fee payer signature) sent to
onchainos wallet contract-call --unsigned-tx - TEE wallet adds fee payer signature and broadcasts
- Optional uses Jito bundle for front-run protection
--mev-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 (free, no API key) with Pinata fallback
/api/ipfs - No platform fee on creation, standard fee on dev buy
- Pool options: "pump" (default) or "bonk" (LetsBonk pool)
API基础地址:
https://pumpportal.fun代币创建+买入(捆绑):
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"
}响应:未签名交易字节(PumpPortal已嵌入铸币密钥对签名)
签名流程:
- 本地生成铸币密钥对(pump.fun协议要求)
- 将铸币密钥对私钥传递给PumpPortal — PumpPortal嵌入铸币签名
- 将未签名交易(仅需付费方签名)发送至
onchainos wallet contract-call --unsigned-tx - TEE钱包添加付费方签名并广播
- 可选使用Jito bundle防止抢先交易
--mev-protection
注意:
- 铸币密钥对在客户端随机生成(协议要求)
- 用户钱包作为付费方 — 无需临时密钥对
- IPFS上传通过pump.fun (免费,无API密钥),Pinata作为备用
/api/ipfs - 创建代币无平台费,开发者买入收取标准费用
- 池子选项:"pump"(默认)或"bonk"(LetsBonk池子)
Bags.fm
Bags.fm
SDK: (TypeScript) — we call via REST endpoints
@bags-fm/sdkFlow:
- — upload metadata (name, symbol, desc, image, socials)
POST /token-launch/create-token-info - — create fee share config (creator BPS, optional co-earners)
POST /fee-share/config - — create launch TX with
POST /token-launch/create-launch-transactioninitialBuyLamports
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)
SDK:(TypeScript) — 通过REST端点调用
@bags-fm/sdk流程:
- — 上传元数据(名称、交易代码、描述、图片、社交链接)
POST /token-launch/create-token-info - — 创建费用共享配置(创作者BPS,可选共同收益方)
POST /fee-share/config - — 创建包含
POST /token-launch/create-launch-transaction的发行交易initialBuyLamports
费用共享:
- 创作者必须明确设置自己的BPS(无默认分配)
- 总和必须=10,000 bps(100%)
- 每个代币最多支持100个收益方
- 支持社交用户名查询(Twitter、GitHub、Kick)
注意:
- 使用Meteora动态Bonding Curve
- Bags通过其API内部处理IPFS上传
- 无需外部Pinata(可选)
Moonit
Moonit
SDK: (TypeScript) — Python wrapper calls SDK methods
@moonit/sdkFlow:
- — builds mint transaction with token metadata
prepareMintTx() - Sign transaction
- — submit signed transaction
submitMintTx()
Notes:
- Creator earns 80% of all trading fees
- Supports Raydium and Meteora V2 migration targets
- Built-in IPFS upload in SDK
SDK:(TypeScript) — Python封装调用SDK方法
@moonit/sdk流程:
- — 构建包含代币元数据的铸币交易
prepareMintTx() - 签名交易
- — 提交已签名交易
submitMintTx()
注意:
- 创作者赚取所有交易费用的80%
- 支持Raydium和Meteora V2迁移目标
- SDK内置IPFS上传
LetsBonk
LetsBonk
MCP Server: — or direct REST API
bonk-mcpFlow:
- Create token via API (name, symbol, metadata URI)
- Optional initial buy
- Submit to Solana
Notes:
- Part of BONK ecosystem
- Migrates to Raydium after bonding curve completion
- Pool option also available via PumpPortal
pool: "bonk"
MCP服务器: — 或直接调用REST API
bonk-mcp流程:
- 通过API创建代币(名称、交易代码、元数据URI)
- 可选初始买入
- 提交至Solana链
注意:
- 属于BONK生态系统
- Bonding Curve完成后迁移至Raydium
- 也可通过PumpPortal选择池子
pool: "bonk"
Four.Meme (BSC)
Four.Meme(BSC)
Method: Direct contract interaction via
onchainos wallet contract-callIMPORTANT: The agent MUST display all transaction parameters and receive explicit user confirmation (typing "confirm") BEFORE executing any contract call. Never auto-execute.
Flow:
- Upload image to IPFS (pump.fun free endpoint, Pinata fallback)
- Create metadata (description, image CID, socials)
- Display full transaction summary and wait for user to type "confirm"
- Call Four.Meme factory contract:
createToken(name, symbol, metadataURI, ...) - Include for initial buy (if buyAmount > 0)
msg.value
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
方式:通过直接与合约交互
onchainos wallet contract-call重要提示:Agent必须展示所有交易参数,并在执行任何合约调用前获得用户明确确认(输入"confirm")。绝不自动执行。
流程:
- 将图片上传至IPFS(pump.fun免费端点,Pinata作为备用)
- 创建元数据(描述、图片CID、社交链接)
- 展示完整交易汇总并等待用户输入"confirm"
- 调用Four.Meme工厂合约:
createToken(name, symbol, metadataURI, ...) - 若buyAmount > 0,包含作为初始买入金额
msg.value
注意:
- 若使用其Web UI,图片上传由Four.Meme平台内部处理
- 程序化操作:使用Pinata,传递CID
- 分类:Meme、AI、DeFi、Games、Infra、De-Sci、Social、Depin、Charity、Others
- Four.Meme不支持税代币
Flap.sh (BSC)
Flap.sh(BSC)
Method: Direct contract interaction via
onchainos wallet contract-callIMPORTANT: The agent MUST display all transaction parameters and receive explicit user confirmation (typing "confirm") BEFORE executing any contract call. Never auto-execute.
Portal Contract: (BNB Mainnet)
0xe2cE6ab80874Fa9Fa2aAE65D277Dd6B8e65C9De0Function:
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 parameter
salt - Tax splits: mktBps + deflationBps + dividendBps + lpBps = total tax allocation
- DEX migration to PancakeSwap V2 or V3
方式:通过直接与合约交互
onchainos wallet contract-call重要提示:Agent必须展示所有交易参数,并在执行任何合约调用前获得用户明确确认(输入"confirm")。绝不自动执行。
门户合约:(BNB主网)
0xe2cE6ab80874Fa9Fa2aAE65D277Dd6B8e65C9De0函数:
newTokenV6(NewTokenV6Params)参数:
name: string — 代币名称
symbol: string — 代币交易代码
meta: string — 元数据的IPFS CID
dexThresh: uint8 — DEX上线阈值类型
salt: bytes32 — 自定义盐值(0x0为随机)
migratorType: uint8 — V2_MIGRATOR或V3_MIGRATOR
quoteToken: address — 原生BNB使用address(0)
quoteAmt: uint256 — 初始买入金额
beneficiary: address — 税收益接收方
buyTaxRate: uint16 — 买入税(基点)
sellTaxRate: uint16 — 卖出税(基点)
taxDuration: uint256 — 税有效期(秒)
antiFarmerDuration: uint256 — 防砸盘期(秒)
mktBps: uint16 — 税中营销分配比例
deflationBps: uint16 — 税中销毁分配比例
dividendBps: uint16 — 税中分红分配比例
lpBps: uint16 — 税中LP分配比例
tokenVersion: uint8 — 6(推荐使用TOKEN_TAXED_V3)注意:
- 支持非对称买入/卖出税率
- 通过参数支持自定义代币地址
salt - 税拆分:mktBps + deflationBps + dividendBps + lpBps = 总税分配比例
- 支持迁移至PancakeSwap V2或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
端口:3245
功能:
- 带编号的时间线列表(最新条目在顶部),显示代币Logo
- Bonding Curve进度条(活跃代币实时更新)
- 实时统计:价格、市值、持有者、买入/卖出量
- 钱包余额显示和模式指示器(模拟模式/实时模式)
- 社交链接、区块链浏览器链接和Launchpad标签
Config Reference
配置参考
See for all configurable parameters with descriptions.
config.py查看获取所有可配置参数及说明。
config.pyQuick Start Examples
快速开始示例
Launch on pump.fun (create only, no buy)
在pump.fun发行(仅创建,不买入)
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用户:"在pump.fun上发行名为MoonCat、交易代码MCAT的代币"
→ 技能收集:描述、图片
→ 上传至IPFS
→ 调用PumpPortal创建(buyAmount = 0)
→ 返回代币地址Launch on pump.fun with bundled buy
在pump.fun发行并捆绑买入
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用户:"发币 CoolDog,交易代码CDOG,买入0.5 SOL"
→ 技能收集:描述、图片
→ 上传至IPFS
→ 捆绑交易:创建交易 + 买入0.5 SOL交易 → Jito bundle
→ 返回代币地址 + 初始持仓Launch on Flap.sh with tax token
在Flap.sh发行税代币
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用户:"在BSC上通过Flap创建税代币,买入税5%,卖出税3%"
→ 技能收集:名称、交易代码、描述、图片、税配置
→ 将元数据上传至IPFS
→ 调用Flap门户newTokenV6()并传入税参数
→ 返回BSC上的代币地址Launch on Bags.fm with fee sharing
在Bags.fm发行并设置费用共享
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用户:"在Bags上发行,与我的伙伴平分50%费用"
→ 技能收集:名称、交易代码、描述、图片、伙伴地址
→ 创建费用共享配置(创作者5000 bps,伙伴5000 bps)
→ 创建发行交易
→ 返回代币地址 + 费用共享配置