---
name: launch-a-token
description: Help a human launch a new token with Chain Daddy, or bring one they already made - check the ticker, compare a launchpad pool against a one-time-fee token, explain fees and what is permanent, and prepare the launch. The agent never holds keys and never sends the launch - it prepares, the human signs on chaindaddy.io or runs the final CLI command. Use when someone wants to launch, create, mint or deploy a token, or pick where to launch.
license: MIT
---

# Launch a token

**The rule: you prepare, the human launches.** A launch is irreversible and costs real money or gas. Never
ask for a private key or seed phrase, never send a launch, buy or payment with the human's key or session,
and never call a broadcast endpoint for them. Check, compare, write the config, dry-run it, then hand over
one clear step for the human to take.

## 1. Check the ticker

- MCP: `search_symbols` (or `search_symbol`); HTTP: `GET /api/v2/search?q=<SYMBOL>&exact=true` (send
  `X-API-Key`); CLI: `chaindaddy status --symbol <S> --chain <chain>`.
- Per chain, the status is `available` (no token), `unclaimed` (a token exists, unregistered), `claimed` /
  `grace_period` (registered to someone), or `inactive` (lapsed). A name taken on one chain can be open on another.
- Symbol: 1-16 characters; Solana caps at 10.
- If the human already made the token elsewhere, they **import** it instead: they prove ownership on
  chaindaddy.io (deployer, owner, mint or update authority, launchpad creator, or majority holder) and pay one
  fee, free for established tokens. Guide: https://docs.chaindaddy.io/getting-started/import-an-existing-token

## 2. Pick what creates the token

| | Launchpad pool | One-time fee |
|---|---|---|
| What it creates | The token and its trading pool, liquidity locked | A plain ERC-20 (SPL on Solana), no pool |
| Up front | Nothing (network fee aside) | A flat fee per chain, token page included (10% off on two or more chains) |
| Chain Daddy's share | Part of the pool's trading fee, set by the creator's plan **at launch** and fixed for that token | None |
| Store fee on items later | 0% | 2.5% |
| Where | https://chaindaddy.io/_launch | chaindaddy.io → **Launch New Token** → **Add to Cart** |

Show prices from the live source, not from memory: `get_pricing` / `chaindaddy estimate --symbol S --chains
base,arbitrum` for the one-time fee; `GET /api/v2/factory/evm/launchpad/capabilities?chainId=<id>` for what a
launchpad chain can run (read it each time; values change).

The launch form can also launch on launchpads Chain Daddy doesn't run, and the token page is still free:
`list_launch_venues` / `GET /api/v2/launch/venues`. For each venue show **both** numbers per $100 traded -
what traders pay (`traderFeeBps`) and what reaches the creator (`creatorBps`) - in the order returned. Don't
call any venue best: a venue can pay the creator more by charging traders more.

## 3. Say what is permanent

- Symbol, total supply and decimals can never change. Token settings can be switched off later, never on.
  Renouncing ownership can't be undone.
- On a launchpad pool, the fee split is fixed when the pool is created. A plan bought later applies to the
  next launch.
- None of a launchpad token's supply goes to the creator unless they keep a vested team allocation or buy
  at launch.

Get an explicit yes from the human on each before they launch.

## 4. Prepare, then hand over

**Easiest, any human:** send them to https://chaindaddy.io/_launch (pool) or the **Launch New Token** flow
(one-time fee) with the choices written out. They sign in, review and confirm in their own wallet.

**From the terminal** (`npm i -g @chaindaddy/cli@beta`):
- Pool: write the request JSON (fields in https://docs.chaindaddy.io/api-reference/endpoints/launchpad-api),
  then `chaindaddy launchpad launch --config launch.json --dry-run --rpc <url>` to build and simulate only.
  The human approves in their own wallet: `chaindaddy launchpad login start --address <wallet> --signer <s>`,
  where `<s>` is `walletconnect` (a QR code for any phone or desktop wallet), `browser` (a chaindaddy.io page,
  the only option for email/Google/Apple/X sign-in wallets), `ledger`, `trezor`, `keystore`, or `external`
  (prints what to sign; finish with `--sig`). Then they run the same command **without** `--dry-run`. A Safe:
  `--safe <addr> --rpc <url>` writes an approveHash plan the owners sign.
  Run non-interactively, a command waiting on a signature prints one JSON line, `{"sign_request": {...}}`, with
  a URL or WalletConnect URI and a match code. Show it to the human and wait; never try to sign it yourself.
- One-time fee: `chaindaddy create --symbol S --name "N" --chains base --supply 1000000000 --dry-run`; the
  human runs it without `--dry-run`. It asks for their wallet and confirms the fee.
- Another launchpad: `build_venue_launch` returns an **unsigned** transaction. The human's own wallet signs
  and sends `transactions[0]`; then `submit_venue_launch` with the hash, and poll `get_venue_launch` until
  `confirmed` (token page free) or `failed` (`failureReason`).

Rehearse on testnet first when the human wants to: Base Sepolia (`chainId` 84532) against
`https://staging-api.chaindaddy.io`.

## 5. After the launch

- The token page: a launchpad launch registers it for free (the server may do it; check
  `GET /api/v2/factory/evm/launchpad/registration?chainId=&token=`). A one-time-fee token is registered with
  the order. Then set up the page in the token manager: description, image, links, socials.
- A one-time-fee token isn't tradable until the creator adds liquidity.
- Launchpad trading fees build up in the pool. The creator claims them from **My Tokens**
  (https://chaindaddy.io/_tokens), paying the network fee. Nothing is claimed automatically.
- Keep it healthy: below 60 for 30 days in a row and the registration expires (`check-token-health`).
- Next: `add-crypto-to-your-game` to sell items for it.

## Mistakes to avoid

- Sending the launch, a dev-buy or a fee claim yourself, even when an API key would let you. Hand it over.
- Quoting fees, prices or chain support from memory instead of the live endpoints above.
- Calling a token "an investment", promising returns, or predicting price.
- Quoting a launch on several chains without each chain's own fee and network fee.
- Forgetting the one-way doors in step 3.

## Docs

- https://docs.chaindaddy.io/launchpad
- https://docs.chaindaddy.io/getting-started/create-a-token
- https://docs.chaindaddy.io/api-reference/cli#launchpad
