> ## Documentation Index
> Fetch the complete documentation index at: https://docs.o1.exchange/llms.txt
> Use this file to discover all available pages before exploring further.

# Token creation

> Create a fixed-supply Base B20 or Robinhood ERC-20 token, publish its profile, distribute allocations, and open permanent liquidity.

Every launch creates a new fixed-supply token and opens its Uniswap v4 market in the same transaction. The creator does not deposit quote currency and cannot create more tokens later.

## Form fields

| Field                   | Requirement                                                                   |
| ----------------------- | ----------------------------------------------------------------------------- |
| Name                    | Required, maximum 50 characters                                               |
| Symbol                  | Required, maximum 11 characters, no spaces; the UI normalizes it to uppercase |
| Image                   | Required, maximum 2 MB; PNG, JPG, WEBP, or GIF                                |
| Quote                   | Required; ETH or USDC on Base, ETH or USDG on Robinhood                       |
| Description             | Optional, included in the token's public IPFS profile                         |
| Website                 | Optional valid website URL                                                    |
| X                       | Optional X profile URL                                                        |
| Telegram                | Optional Telegram link                                                        |
| Extra information       | Optional public key/value entries; keys cannot be empty                       |
| Profile editing         | Optional; grants permission to edit token information only                    |
| Allocations and vesting | Optional launch distributions subject to the contract limits                  |

## Base address preview

For Base launches, the create page previews the B20 token address before signing and searches for an address ending in `01`. The creator can refresh the preview before launch. This visual suffix does not change the token's permissions, supply, price, or market.

## Supply and distribution

Current launches create a fixed supply of **1 billion (1,000,000,000) tokens**. The supply cannot increase after launch.

```text theme={null}
pool supply = total supply - immediate allocations - vested allocations
```

The supply is divided only once:

* immediate allocations go directly to recipient wallets;
* vested allocations go to the vesting contract and unlock on the chosen schedule;
* every remaining token goes into the permanent Uniswap liquidity position.

Allocations and vesting must leave some tokens for the market, so no launch can allocate the entire supply away from liquidity.

## Token implementation

<Tabs>
  <Tab title="Base B20">
    The protocol creates a native B20 token with no administrator. Its 1 billion supply is created once. The creator may optionally retain permission to edit profile information, but cannot mint more tokens or control transfers.

    Base's B20 protocol contracts are listed in [Production contracts](/launchpad/reference/production-contracts).
  </Tab>

  <Tab title="Robinhood ERC-20">
    o1 creates a standard fixed-supply ERC-20 with no owner. Its 1 billion supply is created once, and the contract cannot mint more tokens, pause transfers, or be upgraded.

    The token supports normal ERC-20 transfers and approvals. Optional profile editing does not grant control over balances or the market.
  </Tab>
</Tabs>

## Profile editing

The default is no ongoing authority. If the creator opts in, they may update token profile information after launch.

The creator can update:

* token name;
* token symbol;
* public profile information, including the image, description, website, X, and Telegram;
* extra profile information.

This permission cannot create more tokens, change balances, pause transfers, upgrade the token, or remove liquidity.

## Transaction safety

The factory rejects a launch if:

* the quote is no longer registered;
* the unique launch identifier was already used;
* the launch settings changed after the app prepared the transaction;
* the deadline has passed;
* the creation fee is wrong or cannot be transferred exactly;
* allocation, vesting, profile, or liquidity requirements fail;
* the token cannot be created exactly as shown;
* opening the pool would require the creator to supply quote currency.

The frontend refreshes the launch settings and chain time immediately before submission. If launch economics change while the transaction is pending, the call stops instead of silently launching with different settings.

## Creation result

After confirmation, the app shows the token address and live pool. It also records the final distribution, vesting schedules, creation fee, and market settings from the confirmed transaction. Developers can find exact function and event names in [Functions and events](/launchpad/reference/events-functions).
