# Launching your own token

Launching a coin on Kumbaya is meant to feel like posting — pick a name, write a prompt, hit launch. Under the hood, every launch is a fully on-chain Fire token with a Uniswap V3 pool, a bonding curve, and a graduation path. There's no platform-side custody or admin lever on your token.

> 🛡 **Audited.** The entire Fire launchpad — including the token contract — has a signed BlockSec audit, and the underlying DEX inherits Uniswap V3's audit lineage. See [**Audit & security**](https://docs.kumbaya.xyz/help/audit-and-security) for the details.
>
> See [**Creator fees**](https://docs.kumbaya.xyz/launchpad/creator-fees) for the economics and [**How bonding curves and graduation work**](https://docs.kumbaya.xyz/launchpad/bonding-curves) for the mechanics.

> The Create flow is behind sign-in, so the screenshots below are placeholders. To start a launch, click the orange **+ Launch Token** button at the top of the [launchpad feed](https://github.com/Kumbaya-xyz/documentation/blob/main/client/.gitbook/assets/screenshots/launchpad-feed.png).

## Before you start

* **You'll need a wallet connected** ([Connect your wallet](https://docs.kumbaya.xyz/getting-started/connect-your-wallet)).
* **You'll need a small amount of ETH** for gas. If you want to buy your own tokens at launch (the "Initial buy" field), you'll need extra ETH for that too.
* Pick the **kind** of token you're launching — Meme or Dare. This sets the visual treatment and which feed it shows up in. See [**Dares and Memes**](https://docs.kumbaya.xyz/launchpad/dares-and-memes).

## The four steps

### Step 1 — Choose Type

* **Meme** — a launch focused on community, vibes, and traders.
* **Dare** — a launch tied to a community challenge or stunt.

You can change this up to launch time.

### Step 2 — Details

The fields, in the order they appear:

* **Token name** (1–50 characters) — what shows up at the top of your token's page.
* **Ticker symbol** (1–10 characters, **uppercase letters and numbers only**, auto-uppercased) — the `$SYMBOL` you'll see everywhere. Be unique.
* **Prompt** (8–500 characters) — a short description. The placeholder hints "*Choose your text carefully to incentivise content creation*" — this is what people who post in your token's thread are responding to. Treat it like a community brief, not a tagline.
* **Website** *(optional)* — `yourcoin.com`
* **X handle** *(optional)* — `@yourcoin` (1–15 characters)
* **Telegram group** *(optional)* — `t.me/yourcoin` (5–32 characters)

### Step 3 — Media & Initial Buy

**Token image** — drag and drop or pick a file. PNG/JPG/GIF; the app validates size on upload. This shows everywhere your token appears (feed, swap UI, profile).

**Initial buy** *(optional but recommended)* — buy your own tokens in the same launch flow:

* Enter either an amount of `$YOURTICKER` you want to receive **or** an amount of ETH you want to spend. The other field auto-calculates from the curve.
* There's a per-launch cap based on the bonding-curve allocation. With the production defaults (1B supply, 72% to curve) the theoretical maximum is about **720 million tokens** — but the UI shows the live limit.
* The app warns you if you don't have enough ETH for the buy and gas combined.

> ℹ️ **Why initial buy is two transactions.** Your launch is one transaction (`ignite` to deploy the token + create the pool); your buy is a second transaction (a normal swap on the pool you just created). The app signs both up front and broadcasts them back-to-back. **They are not atomic** — in the unlikely event the buy fails (slippage, gas spike), the token is still deployed, you just won't have bought any. You can buy later by going to your token's page and using the swap.

### Step 4 — Confirm & Launch

A preview card on the right (or bottom on mobile) shows the final look. Hit **Launch $YOURTICKER**. The button label updates if anything's missing — for example "Need X ETH for gas" or "Connect to Launch".

You'll be asked to sign in your wallet. Then you wait a few seconds for confirmation and you're redirected to your token's page.

## What gets created on-chain

In the time it takes for the page to redirect, the protocol has:

1. **Deployed your `$YOURTICKER` ERC-20 token** at a fresh address with a fixed supply of **1,000,000,000 tokens** (1B, 18 decimals).
2. **Created a Uniswap V3 pool** for `$YOURTICKER / WETH` at the 1% fee tier.
3. **Seeded the pool with 50 stacked concentrated positions** that act as a bonding curve.
4. **Reserved tail liquidity** (28% of supply) as a full-range position above the graduation tick, so the pool never empties.
5. *(If you opted in)* Bought your initial allocation by swapping ETH for your new token in a second transaction.

The token is now alive and tradeable.

## What you control vs. what's fixed

| You choose                                | Set automatically by the launchpad                              |
| ----------------------------------------- | --------------------------------------------------------------- |
| Name, symbol, prompt, image, socials      | Total supply: **1B tokens**                                     |
| Type (Meme or Dare)                       | Fee tier: **1%**, position count: **50**                        |
| Whether to do an initial buy and how much | Allocation: **72%** to bonding curve, **28%** to tail liquidity |
|                                           | No on-token creator allocation in the default flow              |

The "Set automatically" column comes from chain-level defaults baked into the launchpad — it keeps every launch consistent and predictable for buyers. Power users who want a custom curve or a different split can call the Fire contracts directly (see the [**developer launching guide**](https://github.com/Kumbaya-xyz/documentation/blob/main/developer/launchpad/launching.md)).

## After you launch

* Your token has a page at `kumbaya.xyz/#/launch/<address>` (the app uses hash-based routing).
* The page shows trading activity, the comments thread, the buyer leaderboard, and a graduation progress bar.
* You can collect creator earnings as they accrue — see [**Creator fees**](https://docs.kumbaya.xyz/launchpad/creator-fees).
* If your wallet wasn't your original deployer (e.g. you launched from a hot wallet you've since changed), see [**If your token shows as Unclaimed**](https://docs.kumbaya.xyz/launchpad/unclaimed-tokens).

## Common questions

**Can I change the name, image, or prompt later?** Editing the off-chain metadata (description, image, social links, category) is currently admin-gated rather than self-serve. If you need a change made, reach out and the team can update it. The on-chain symbol and supply cannot change at all — those are immutable on the token contract.

**Can I rug?** Not by design. The bonding-curve and tail liquidity aren't yours to pull — they live in the V3 pool as concentrated positions. The standard launch flow doesn't even give creators a direct token allocation. Your reward as a creator is the post-graduation streaming fees, which only flow once the token actually trades enough to graduate.

**What happens if no one buys?** Nothing bad. The token sits dormant. There's no cost to leaving it alone, and someone discovering it later can still trade it.

**What if I want to launch a coin without an initial buy?** Leave the Initial Buy fields empty and proceed. The launch becomes a single transaction.

## Where to next

* [**How bonding curves and graduation work →**](https://docs.kumbaya.xyz/launchpad/bonding-curves)
* [**Creator fees: how you earn →**](https://docs.kumbaya.xyz/launchpad/creator-fees)
* [**If your token shows as Unclaimed →**](https://docs.kumbaya.xyz/launchpad/unclaimed-tokens)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kumbaya.xyz/launchpad/launch-a-token.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
