basefun
A bonding-curve token launchpad on Base where every token is paired with a real perpetual position on Avantis. A token's price moves from two sources: trading activity on the curve, and the leveraged performance of an underlying asset.
Abstract
Memecoin launchpads aggregate retail attention but leave the asset side empty — tokens have no intrinsic exposure beyond the bonding curve. basefun changes that. Every token launched on the platform deploys a leveraged-token wrapper (LT) that mirrors a real Avantis perpetual position. A buyer of the basefun token is effectively buying a share of a 2×, 3×, or 5× long or short position on BTC, ETH, SOL, or any of 99 supported Avantis markets.
The bonding curve graduates at $10,000 USDC reserve. On graduation, $9,700 + 242.5M tokens seed a permanent Uniswap V2 pool (LP burned at 0xdead), and $300 funds the protocol treasury. The resulting Uni V2 market cap lands exactly at $40,000.
Architecture
basefun has three on-chain components and one off-chain operator.
- FactoryV2Single entry point for token creation. Deploys a BondingCurveV2 and BasefunToken pair, charges the $1 USDC deploy fee, and atomically performs the creator's mandatory ≥ $20 initial buy. Owner-gated
migrateToUniV2moves liquidity to Uniswap V2 once a curve graduates. - LTFactoryIdempotent deployer for LeveragedToken contracts. One LT per
(pair, leverage, direction)combination, shared across every basefun token that uses the same underlying configuration. - LeveragedTokenERC-20 representing a fractional share of an aggregated Avantis perp. Mint sends USDC to the keeper EOA which immediately opens the perp via Avantis trading. Redeem pulls a proportional slice of USDC back. Net asset value reads PnL live from Avantis.
- BondingCurveV2Constant-product virtual-liquidity curve. 1B token supply: 757.5M sold on the curve, 242.5M reserved for the Uni V2 LP seed. Routes USDC into the LT on every buy.
- Keeper botOff-chain Node.js worker. Listens to LT mint events, opens Avantis perps, ensures allowances are set, auto-migrates graduated curves to Uniswap V2, and indexes Swap events. Persistence: Postgres on Railway.
User flow
0xdead.Economics
price = $9,700 / 242,500,000 = $0.00004 per token mcap = $0.00004 × 1,000,000,000 = $40,000
How treasury fees are used
All protocol treasury revenue flows back into building basefun. The wallet is operated by the founding team and the funds are reserved for two explicit purposes:
Three revenue streams feed the treasury:
- $1 deploy feePaid by the creator at token launch.
- 0.50% swap feeHalf of the 1% swap tax on every buy and sell on the bonding curve.
- $300 graduation cutOne-time payout when a curve reaches the $10,000 graduation reserve.
The remaining 0.50% of every swap goes directly to the creator's chosen fee recipient address, which is immutable once the token is deployed.
Inspecting the Avantis position on-chain
Every Avantis position behind a basefun token is fully public and inspectable on-chain. Anyone can verify the entry price, current PnL, and total LT value (NAV) directly through BaseScan — no API key, no wallet connection, no trust required. Five steps:
BondingCurveV2.lt() on BaseScan from the token's curve address.LT.keeper(). That address is the on-chain Avantis trader holding every perp backing this LT.0x8a311D7048c35985aa31C131B9A13e03a5f7422d. Call getOpenTrade(trader, pairIndex, index) with:trader= keeper EOA from step 2pairIndex=LT.pairIndex()index= 0, 1, … up toLT.nextTradeIndex() − 1
openPrice (Pyth price at open, 1e10-scaled) and positionSizeUSDC (collateral committed).0x81F22d0Cc22977c91bEfE648C9fddf1f2bd977e5. Call getTradePnL(trader, pairIndex, index) with the same args. Returns a signed int — current unrealized PnL of that specific trade in USDC.LT.nav() directly. It returns collateralDeposited + sum(PnL across every open trade) in USDC. Your slice of that NAV is LT.balanceOf(you) / LT.totalSupply() × LT.nav().For the bonding-curve view, BondingCurveV2.getReserveUSDC() returns the curve's reserve in USDC (NAV-driven via the LT). That's the live number that drives spot price on every _quoteBuy / _quoteSell.
All addresses above are immutable. No keys, no signatures, no auth needed to read — pure public state.
Roadmap
Contracts (Base mainnet)
Live contract addresses. Verify on BaseScan before interacting.