Overview
Integrate Mizo — launch tokens on any supported chain, trade on the bonding curve, and route post-graduation swaps through the chain's DEX or Mizo Swap.
How Mizo is organised
Mizo is one hub with a launchpad on every chain. Two levels, and nothing lives at both:
- Hub level — Swap, Bridge, Portfolio, Analytics and these docs. Global, chain-agnostic, always on the left rail.
- Chain level — open a chain from Explore and you get that chain's wall, its coins, each coin's page and Create token. A token belongs to exactly one chain.
Routes follow the same split: /explore picks a chain, /hood is that chain, /hood/<address> is a coin inside it, /create creates one there.
EVM chains Robinhood · Base · Ethereum · BNB · Stable
One Solidity stack, deployed per chain. The contracts below are identical everywhere; only addresses and the gas asset change (Stable settles gas in USDT0). Addresses shown are Robinhood Chain — switch chains and this page follows; each chain's own docs page lists the same set.
Each launch also deploys a unique BondingCurve and token via CREATE2. Vanity suffixes are per chain:
| Chain | Token address ends in |
|---|---|
| Robinhood | …663 |
| Stable | …988 |
| Ethereum | …001 |
| BNB | …056 |
| Base | …453 |
| TON | no vanity rule (address form differs) |
| Solana | no vanity rule (address form differs) |
Integrate with viem/wagmi or ethers; one ABI set covers all five EVM chains.
TON
TON runs the same product on a different machine: the factory and curves are Tolk contracts, tokens are jettons (TEP-74), and wallets connect through TON Connect (inside the same Sign up / Log in door). Semantics are identical — same curve maths, same graduation waterfall, same 2% fee split — but messages are asynchronous, so a buy settles across blocks instead of one transaction receipt.
- Factory — deploys curve + jetton-minter pair; launch fee in TON.
- Curve — holds TON, mints jettons on buy, burns on sell; graduates to a DeDust pool with the LP held permanently locked (fees stay claimable, 80/20 creator/platform).
- Addresses are workchain-0 (EQ…); the EVM vanity-suffix rule does not apply on TON.
Solana
On Solana the launchpad rides Meteora Dynamic Bonding Curve under our partner config — one program owns every curve, launching creates accounts, not new code. Tokens are SPL mints; graduation migrates liquidity to Meteora DAMM v2 with permanently locked positions (80% creator / 20% platform fee split). After graduation the pool is routable via Jupiter or Mizo Swap.
Architecture
- Launch — call
HoodxFactory.createLaunchto deploy curve + token. - Bonding curve — users buy/sell on the curve until the chain's graduation target (0.02 ETH here) is raised (2% trade fee).
- Graduation — when the target is reached, the raise (minus small graduation fees) seeds a Uniswap V3 pool whose LP is locked permanently in LockX; the remainder splits 80% creator / 20% platform.
- LP fees — the LP never unlocks, but its trading fees keep accruing and stay claimable (
collectFees()has no time gate): token side burned, WETH side split 80% creator / 20% platform. - DEX trading — after graduation, trade the pool on Uniswap V3 or via Mizo Swap.
1. Launch a token
Call createLaunch on the factory of the chain you're in. Pay at least the chain's launch fee (launchpad.launchFee()); any extra ETH in the same tx is used as an optional creator dev-buy.
// HoodxFactory.createLaunch
function createLaunch(
string name,
string symbol,
string metadataURI, // ipfs:// or https:// JSON with name, symbol, image, socials
uint256 minTokensOut, // slippage guard for optional dev-buy (0 if no dev-buy)
bytes32 curveSalt, // CREATE2 salt — curve address must end in 663
bytes32 tokenSalt // CREATE2 salt — token address must end in 663
) external payable returns (address curve, address token);
// Example (viem / wagmi)
const launchFee = await readContract({
address: "0xF93075d2a7866bd137Eb5fbee594258DBf1D46Cb",
abi: launchpadAbi,
functionName: "launchFee",
});
await writeContract({
address: "0xF93075d2a7866bd137Eb5fbee594258DBf1D46Cb",
abi: launchpadAbi,
functionName: "createLaunch",
args: [name, symbol, metadataURI, 0n, curveSalt, tokenSalt],
value: launchFee, // launch fee only; any extra ETH is a dev-buy
});Read launch metadata: launchpad.launches(launchId) or launchpad.curveToLaunchId(curve). Resolve token → curve: Hoodx(token).curve().
2. Buy on the bonding curve pre-graduation
Send ETH to the curve's buy. A 2% fee is taken (1% platform + 1% creator, accrued from curve trading).
// BondingCurve.buy — curve must not be graduated
function buy(uint256 minTokensOut) external payable;
await writeContract({
address: curveAddress,
abi: bondingCurveAbi,
functionName: "buy",
args: [minTokensOut],
value: parseEther("0.1"),
});
// Quote before sending
const [tokensOut] = await readContract({
address: curveAddress,
abi: bondingCurveAbi,
functionName: "quoteBuy",
args: [parseEther("0.1")],
});3. Sell on the bonding curve
Approve the curve for the token amount, then call sell. Same 2% fee, paid from the native output.
// 1. Approve curve to spend tokens
await writeContract({
address: tokenAddress,
abi: erc20Abi,
functionName: "approve",
args: [curveAddress, tokenAmount],
});
// 2. Sell
function sell(uint256 tokenAmount, uint256 minEthOut) external;
await writeContract({
address: curveAddress,
abi: bondingCurveAbi,
functionName: "sell",
args: [tokenAmount, minEthOut],
});4. Graduation
Graduation is automatic. The buy that crosses the target triggers migration: the Uniswap V3 pool is created, LP is minted to LockX, and the curve stops accepting trades. From then on the coin trades on the DEX — the coin page switches its trade panel from "Bonding curve" to "DEX" without changing URL.
// Post-graduation trading is canonical Uniswap V3 — pool: token/WETH, 1% fee tier.
const SWAP_ROUTER = "0xCaf681a66D020601342297493863E78C959E5cb2"; // canonical SwapRouter02
await writeContract({
address: SWAP_ROUTER,
abi: swapRouter02Abi,
functionName: "exactInputSingle",
args: [{
tokenIn: WETH, tokenOut: tokenAddress, fee: 10000,
recipient: me, amountIn, amountOutMinimum, sqrtPriceLimitX96: 0n,
}],
});Token supply & curve math
- Total supply: 1,000,000,000 tokens
- Bonding curve sale: 800,000,000 tokens
- DEX LP allocation: 200,000,000 tokens (migrated at graduation)
- Virtual reserves: 0.006825 ETH + 1,073,000,000 virtual tokens (constant-product AMM)
- Graduation target: 0.02 ETH net collected
Read on-chain state
// BondingCurve views
curve.token() // Hoodx token address
curve.creator() // launch creator
curve.graduated() // true after migration
curve.uniswapPool() // V3 pool (zero before grad)
curve.currentPrice() // spot price in wei per token
curve.tokensRemaining() // unsold sale inventory (800M cap)
curve.ethCollected() // net ETH in curve
curve.tokensSold()
curve.graduationTarget() // 0.02 ETH target
// Hoodx token
token.curve() // bonding curve address
// Creator fees accrue on the CURVE in native ETH (1% of every trade)
curve.claimCreatorFees() // permissionless; pays the accrued fees to the creator
// Trade events (index these on the curve)
event Buy(address indexed buyer, uint256 ethIn, uint256 tokensOut, uint256 newPrice);
event Sell(address indexed seller, uint256 tokensIn, uint256 ethOut, uint256 newPrice);
event Graduated(address pool, uint256 ethLiquidity, uint256 tokenLiquidity, uint256 ethToDev);Fetch historical logs from the explorer or any RPC eth_getLogs against the curve address.
Token states
A token card carries exactly two computed states, both mechanical: NEW (recently launched) and GRAD (graduated — LP locked, trading on the DEX). Nothing is delisted; there is no editorial grading, no manual overrides, and the product says so.
Fees & custody
Mizo is non-custodial — every create, buy, sell and graduation runs on-chain straight from your wallet; the platform contract never holds your funds. Fees settle directly: the launch fee and the platform's 1% of the 2% curve fee go to the fee wallet, the creator's matching 1% to the creator, and the graduation cut splits per the waterfall above. Because the LP is locked without a time gate, the position itself can never be withdrawn — only its trading fees are ever collected.
Never: safe, guaranteed, vetted, approved, recommended. Chain docs: Robinhood · Stable · Ethereum · BNB · Base · TON · Solana. Factory on Robinhood Chain: 0xF93075d2…1D46Cb ↗