> ## 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, choose an available pair, publish its profile, 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 the paired asset and cannot create more tokens later.

## Form fields

| Field                   | Requirement                                                                                 |
| ----------------------- | ------------------------------------------------------------------------------------------- |
| Name                    | Required, maximum 50 characters                                                             |
| Symbol                  | Required, maximum 11 characters and no spaces; letter casing is preserved                   |
| Image                   | Required, maximum 2 MB; PNG, JPG, WEBP, or GIF                                              |
| Paired asset            | Required; choose ETH or USDC on Base, or ETH, USDG, or a supported Stock Token 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                                |

## Address suffix

Base launches use a B20 address ending in `01`, and the create page previews it before signing. Robinhood stock-paired launches also require an ERC-20 address ending in `01`; the app generates it after the final metadata is ready. Robinhood crypto-paired launches do not require this suffix.

The suffix identifies the current o1 launch flow. It 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.

The o1 create interface requires at least 10% of the supply to remain for the market. Coverage from 10% to under 25% is allowed but is labeled as low because it may increase price impact and volatility.

## 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>

## Crypto-paired and stock-paired routes

Both routes use the same fixed supply, distribution, vesting, announcements, fee split, anti-snipe schedule, and permanent liquidity model.

| Route            | Current paired assets  | Trading-fee currency |
| ---------------- | ---------------------- | -------------------- |
| Base crypto      | ETH or USDC            | Selected ETH or USDC |
| Robinhood crypto | ETH or USDG            | Selected ETH or USDG |
| Robinhood stocks | Supported Stock Tokens | Selected Stock Token |

See [Stock-paired launches](/launchpad/create/stock-paired-launches) for the current Robinhood catalog.

## 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 current creation fee or transaction value does not match the active factory configuration;
* allocation, vesting, profile, or liquidity requirements fail;
* the token cannot be created exactly as shown;
* opening the pool would require the creator to supply the paired asset.

The frontend refreshes the launch settings and chain time immediately before submission. If a protected global setting changes while the transaction is pending, the call stops instead of silently using a different configuration. A stock opening-price refresh intentionally uses the latest registered frame when the launch executes.

## Creation result

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