Mon-Pad Documentation
The complete reference: economics, fees, the bonding curve, graduation, buyback & burn, deployed contracts, and on-chain integration. Native MON on Monad mainnet (chainId 143).
USD figures are approximate (shown at ~$0.02/MON) and move with the MON price.
How a launch works
1 · Create
Pay 1 MON (MONSHI holders pay half). 100 MON is seeded straight into your curve as real exit-liquidity buffer; the rest accrues to the treasury. A fresh ERC-20 + bonding-curve clone are deployed and a Launch event fires.
2 · Trade on the curve
Anyone buys/sells against the constant-product curve in native MON. Price rises as supply sells. No listing, no LP to seed — the curve is the market until graduation.
3 · Graduate
Once ~20 MON (net) has been raised, the token bonds: the creator is paid 10 MON (≈$800), the treasury takes 2 MON (≈$200).
4 · DEX + locked liquidity
All remaining raised MON + every unsold token seed a Uniswap V3 WMON/token pool, and the LP NFT is burned — liquidity is locked forever. The curve closes; trading continues on the DEX.
Supply & distribution
The entire 1,000,000,000 supply sits on the bonding curve — there is no pre-mine or team allocation. Tokens sell along the curve until the graduation target is hit; whatever is still unsold at that moment (plus all raised MON) becomes the locked DEX liquidity. The split isn't a fixed percentage — it falls out of the curve math, landing at roughly ~74% sold / ~26% to LP, so the DEX opens at about the curve's final price (no graduation pump-and-dump gap).
Fees & taxes
Every trade pays a fixed 2% base fee. On top of that, a creator can add an optional per-trade tax (0–10%) that funds their own token's buyback/burn and LP. The tax stacks on the base fee — it is not part of it.
| Base fee (always) | Buy | Sell |
|---|---|---|
| Creator | 1% | 0.5% |
| Platform | 1% (buffer) | 1% |
| MONSHI buyback & burn | — | 0.5% |
| Total base | 2% | 2% |
Optional creator tax (0–10%)
Charged on top of the 2% base, on both buys and sells, and routed to your token's buyback & burn and/or graduation LP. The first 2% of tax is yours in full; on any tax above 2%, 25% of that excess is skimmed to buy & burn MONSHI. Example — a 5% tax (3% burn / 2% LP) on a 100 MON buy: 2 MON base + 5 MON tax (93 MON buys tokens); of the 5 MON tax, 0.75 → MONSHI, ~2.55 → buyback-burn, ~1.70 → LP. Total cost to the trader: 7%.
What the creator earns
Trade fees, forever
You earn the creator slice of every buy (1%) and sell (0.5%) — on the curve and after graduation. Claimable any time (pull-pattern, so a non-receiving wallet can never brick trading).
10 MON at graduation
≈ $800 paid straight to you the moment your token bonds — on top of the fees you've already collected.
Buyback & burn
Route your dev fee and/or per-trade tax to automatically buy your token off its own curve and send it to the dead address — permanent, on-chain supply reduction (tracked as totalBurnedTokens).
Add to LP
Reserve part of your fee/tax to deepen the graduation liquidity pool — stronger floor, more trust.
Dev buy (optional): at launch you can buy up to 2% of supply fee-free to seed your own position. All of these are editable by the creator after launch.
Bonding-curve math
Constant-product (x·y=k) with virtual reserves, calibrated nad.fun-style so early buyers can't scoop the supply at near-zero cost:
k = (virtualMON + realMON) · effectiveTokenReserve buy(ΔMON): tokensOut = effTok − k / (virtualMON + realMON + ΔMON_net) sell(ΔTOK): monOut = (virtualMON + realMON) − k / (effTok + ΔTOK) virtualMON = 20 · 9/13 = 180,000 MON virtualToken = 1,260,000,000 totalSupply = 1,000,000,000 (entire supply on the curve) realMON (at launch) = 100 MON (creation-fee buffer = instant exit liquidity) graduationTarget = 20 MON net of fees
priceX18 and post-trade reserves are emitted on every Trade, so price/marketcap are 100% on-chain derivable with no oracle. The flat 180,000 MON virtual reserve keeps the first ~$100 of buys to a small share of supply and opens the DEX at ≈ the curve's final price.
MONSHI integration
Holder discount
Hold ≥ 1,000,000 MONSHI and your creation fee is cut 50% (250 MON instead of 500). Read live on-chain via creationFeeFor(address).
Buyback & burn
0.5% of every sell, plus 25% of any creator tax above 2%, accrues to buy & burn MONSHI — every launch on the pad feeds the MONSHI ecosystem.
Deployed contracts
Live on Monad mainnet (chainId 143), source-verified. Per-token curve + token contracts are EIP-1167 minimal-proxy clones of the implementations below.
| Contract | Address | Purpose |
|---|---|---|
| Factory V3 | 0x45Fb501E…13C70aaF | Deploys a token + curve per launch, holds economics, emits Launch |
| Graduator V3 | 0xE27E3E0D…2F58616b | Migrates liquidity to a Uniswap V3 pool at graduation and burns the LP NFT |
| Curve (implementation) | 0xf5184f22…7EbaB623 | Bonding-curve logic, cloned (EIP-1167) per token, emits Trade |
| Token (implementation) | 0x7B26281D…98B3269e | ERC-20, cloned per token (1B fixed supply) |
| WMON | 0x3bd359C1…1115433A | Wrapped MON — quote token for the graduation DEX pool |
| Uniswap V3 NPM | 0x7197e214…192f4e53 | Position manager used to seed + lock graduation liquidity |
| MONSHI | 0xB744F5CD…29af7777 | Holder discount on creation fee + buyback-and-burn target |
On-chain integration
There is no required indexer or API — the app reads everything directly from chain. For your own tooling (bots, scanners, DexScreener-style charts), watch these events:
| Event | From | Use |
|---|---|---|
| Launch(token, curve, creator, name, symbol, quoteToken, totalSupply, virtualMonReserve, virtualTokenReserve, createdAt) | Factory | Discover each new token + its curve clone |
| Trade(token, trader, isBuy, monAmount, tokenAmount, virtualMonReserve, virtualTokenReserve, realMonReserve, realTokenReserve, priceX18, tradedAt) | Curve | Every buy/sell — price + volume fully derivable on-chain |
| Graduated(lpMon, creatorReward, treasuryCut) | Curve | Token bonded — liquidity migrated to the DEX pool |
| BuybackBurn(monIn, tokensBurned) | Curve | Buyback-and-burn of the project token executed |
Reading live curve state (wagmi/viem + the ABIs in lib/abis/):
import { listV3Tokens, getV3Trades } from '@/lib/chainV3';
// All launches (newest first) straight from the factory
const tokens = await listV3Tokens(60);
// A token's trade history from its curve's Trade logs (no indexer)
const trades = await getV3Trades(curveAddress);
// Curve reserves / price for a token (read on the curve clone)
// getCurveReserves() -> (virtualMon, virtualToken, realMon, realToken)
// priceWeiPerToken(), progressBps(), creationFeeFor(address)Security & governance
Locked liquidity
At graduation the LP NFT is burned — creators can never withdraw the pool. They only ever earn trading fees.
Timelock + 2-step ownership
Economic parameters change only through a 24h timelock; ownership transfers are 2-step (propose → accept). Pull-pattern payouts and reentrancy guards throughout.
Verified source
All contracts are source-verified on the Monad explorer — read every line from the address table above.
Anti-snipe curve
The 180,000 MON virtual reserve flattens the early curve so the first buyers can't corner supply cheaply — fairer launches.
Wallet setup
Add Monad Mainnet to your wallet with the params below, or one-click via your installed provider.
