Launch a soToken
The v1.2 launch flow creates LOAs and BOAs. Use the /launch page to deploy directly from your browser.
A soToken launch deploys a token whose ERC-20-compatible balance and object ledger live in the same contract. Every wallet holding a threshold of tokens has active object capacity, though a claim call is needed to assign specific object IDs.
Step 1: Target and route
Network
Choose Base Sepolia for free experimentation. Choose Base mainnet when the token is ready for real users. You can always deploy to testnet first to preview your art and confirm settings.
Route
| Route | What it deploys |
|---|---|
| LOA | A Liquid Object Asset. Token remains liquid; unsupported objects go dormant. Recommended for most new projects. |
| BOA | A Bound Object Asset. Harsher lost-support behavior for projects that want that tradeoff. |
Step 2: Rule configuration
| Field | What it means |
|---|---|
| Name | The token name (e.g. Mirage Seedlings) |
| Symbol | Ticker symbol, uppercase (e.g. MSEED) |
| Max objects | Hard cap on total objects ever born. Once reached, no new claims are possible. |
| Interval | How many tokens back one active object slot. 1 means 1 token = 1 active object slot. |
| Royalty percent | Creator royalty on secondary sales, 0-20%. Stored on-chain via ERC-2981. |
| Object type | Image, animation, audio, or markdown. Each uploaded item is capped at 50 KB. |
| Assignment mode | Random Roll, In Order, or Duplicate. |
Advanced behavior
Advanced options include object-transfer freeze and BOA lost-support policy.
Freeze is off by default. If enabled, people cannot send or trade the LOA/BOA object, but the token stays liquid.
BOA policies:
| Policy | What it does |
|---|---|
| Unbind | Default Mirage-style behavior. The object is no longer active, but its birth record remains. |
| Burn | Harsher behavior. The object burns when support is lost. |
| Auto-follow | Attempts to move objects with token transfers. Advanced and can have side effects at unusual intervals. |
Launchpad ITO (recommended)
For soTokens, the wizard can create an Initial Token Offering. This is the recommended path for most creators.
With an ITO:
- Buyers pay ETH to purchase interval-sized token lots during the sale
- Tokens are minted on demand; unsold supply is never created
- Buyers are recorded as the original minter in each object birth record when an object is claimed
- Trading on Mirage is live from the moment the ITO launches, with no liquidity pool required
The token-first model is flexible: max tokens for sale can be larger than max objects × interval. That lets a project launch a broad liquid token while keeping LOA/BOA objects scarce. After object capacity is exhausted, ITO buys continue as token-only buys until the sale cap is reached.
See the full Launchpad ITO guide for pricing options, duration modes, creator allocation, and what happens after the sale.
Skipping the ITO
Click Skip ITO: I'll handle distribution and liquidity myself if you want to mint an initial supply directly to your wallet instead. This path requires you to either:
- Provide your own liquidity on a DEX so the token has a trading price
- Manually distribute tokens to holders
Most creators use the ITO. If you skip it, you are responsible for getting tokens into circulation.
Step 3: Media and rarity
Upload on-chain media. Images, animations, audio, and markdown are supported. Each item has a weight when Random Roll is selected.
- Max file size: 50 KB per item.
- Image launches use layered image storage. Each layer selects one trait, and the renderer composes the final SVG on-chain.
- Animation, audio, and markdown launches use flat media storage. The renderer selects one uploaded item for the object.
- Random Roll uses weights. For layered images, weights are evaluated inside each layer.
- In Order assigns assets deterministically. For layered images, each layer advances by object ID.
- Duplicate assigns the first asset or first trait in each layer to every qualifying holder.
- Markdown is rendered safely; uploaded files are stored, not executed.
See Rarity Layers for a full guide on weights and layer ordering.
Step 4: Deploy
The app deploys in sequence:
DEPLOY_STORAGE: deploys layered image storage for image launches, or flat media storage for animation, audio, and markdownUPLOAD_MEDIA: uploads each image trait into its layer, or each flat media assetFREEZE_STORAGE: locks the asset table permanentlyDEPLOY_RENDERER: deploys a renderer pointing at the storageCREATE_SOTOKEN: calls the factory to register the LOA or BOA
Each step requires a wallet signature. The app estimates gas before each transaction and will warn you if your balance is too low.
Creation fee
The factory charges a small ETH fee on mainnet. Holders of qualifying tokens (CLKCAT, PixelCats, ClankerCats NFT) get a discounted or zero fee. Testnet is always free.
Additional options
Click Additional options in the rule configuration section to reveal advanced settings.