Baseline supports two launch paths:

1. **Create**: deploy a new token with its own Baseline liquidity pool.
2. **Migrate**: keep the existing token, and migrate liquidity into a Baseline liquidity pool.

Need help or want to brainstorm what's possible with Baseline? Reach out to us in [Discord](https://discord.gg/baseline) or [fill out this form](https://baselineprotocol.notion.site/302c1b2b222b8075b572da3f3799bf3b?pvs=105) and we'll get back to you.

<Callout type="info">
  Developers and agents can use the [Baseline CLI](/docs/contracts/cli) to build unsigned launch calls, execute with an explicit signer, install agent skills, and inspect deployed tokens. App developers can use the [Baseline SDK](/docs/contracts/sdk) to create tokens, approve assets, and create pools with viem clients.
</Callout>

## Create a token

For agent-assisted launches, install the Baseline skills and ask your agent to prepare a Baseline launch:

```bash
npx @baseline-markets/cli@latest skills add
```

The agent can prepare unsigned calls with the CLI, validate the artifact, and hand the calls to the approval path you choose. If you use Base MCP, the agent can submit through `send_calls` and give you the Base Account approval link.

For direct CLI usage, build a zero-reserve pool launch artifact:

```bash
npx @baseline-markets/cli@latest launch \
  --mode zrp \
  --chain-id 84532 \
  --account 0x0000000000000000000000000000000000000001 \
  --name "Example Baseline Token" \
  --symbol EBT \
  --reserve 0xB85885897D297000A74eA2e4711C3Ca729461ABC \
  --total-supply 1000000000 \
  --output .context/launches/example-launch.json
```

See the [CLI docs](/docs/contracts/cli) for Base MCP submission, mainnet chain IDs, fee flags, local execution, and token inspection.

At the contract level, deploying a token can be done in three steps. If you're not a developer, a frontend to launch bTokens will be available in the near future.

1. **Call <a href="/docs/contracts/bfactory#createbtoken" target="_blank" rel="noreferrer noopener"><code>createBToken</code></a>** on the <a href="/docs/contracts/bfactory" target="_blank" rel="noreferrer noopener">BFactory contract</a> to deploy the token. The total supply is minted to the caller, and only that caller will be able to create the pool in step 3.

<Code sample="createBToken" />

2. **Approve the <a href="/docs/contracts" target="_blank" rel="noreferrer noopener">Relay contract</a>** to transfer the quote asset and bToken. When `createPool` is called, this allows the contract to transfer liquidity from the caller into the Baseline pool.

<Code sample="approvePoolAssets" />

3. **Call <a href="/docs/contracts/bfactory#createpool" target="_blank" rel="noreferrer noopener"><code>createPool</code></a>** on the <a href="/docs/contracts/bfactory" target="_blank" rel="noreferrer noopener">BFactory contract</a> to initialize the Baseline pool and launch the token live.

<Code sample="createPool" />

Congratulations! Your bToken is live. You can now:

* Trade the token: [https://app.baseline.markets](https://app.baseline.markets)
* View token analytics: [https://app.baseline.markets](https://app.baseline.markets)
* Claim creator fees and edit metadata: [https://app.baseline.markets/dashboard](https://app.baseline.markets/dashboard)

Routers (e.g. KyberSwap) and indexers (e.g. CoinGecko and Defined) automatically route and index trades within seconds. The token will also appear under Baseline DEX on [CoinGecko](https://www.coingecko.com/en/exchanges/baseline-ethereum) and [GeckoTerminal](https://www.geckoterminal.com/eth/baseline-ethereum/pools).

## Migrate a token

Existing tokens can migrate their liquidity to a Baseline pool to unlock better quoting, a guaranteed floor value, and DeFi features such as staking, borrowing and leveraging native to the token itself. [Backtested simulations](https://x.com/BaselineMarkets/status/2037200824925855817) show that tokens on Baseline DEX have better price performance, liquidity growth, supply control and fee accrual than traditional DEX pools.

Migration is possible from any liquidity pool, including Uniswap (V2, V3 and V4), Aerodrome, and other pool designs. At a high level, the project withdraws or migrates liquidity from the existing pool and initializes the Baseline pool with the chosen quote asset and launch parameters. The process takes less than an hour.

Interested in migrating a token? Reach out to us in [Discord](https://discord.gg/baseline) or [fill out this form](https://baselineprotocol.notion.site/302c1b2b222b8075b572da3f3799bf3b?pvs=105) and we'll get back to you.
