Launching a coin
Launching is permissionless and takes one transaction.
Choose your pair
There are two things to pick: a direction and an underlying. Together they're the only decision you can never change. Long means the coin's backing gains when the underlying goes up; short means it gains when the underlying goes down.
Fifteen underlyings are available, all live perp markets on Lighter: BTC, ETH, SOL, HYPE and LIT in crypto; HOOD, TSLA, NVDA, MSTR and SPCX in equities; SPY and QQQ for the S&P 500 and Nasdaq 100; XAU, XAG and WTI for gold, silver and crude.
Leverage is fixed at 5× — it isn't a launch parameter and there's nothing to configure. Every coin on perp.fun is backed at the same 5×, long or short, which is why the create form shows it as a locked badge rather than a selector.
The pair resolves to a backing leveraged token — "NVDA 5× long". If none exists yet for that pair, one is created on-chain as part of the launch. The launcher checks LTFactory.isLt() and reverts InvalidBackingLt on anything else, so a coin cannot be backed by an arbitrary token.
Coin details
Name, ticker, image (pinned to IPFS, 4 MB max) and description. All of it is locked at launch — there is no admin key to rename a coin, change its picture or move it to a different underlying.
Seed buy
You can include a first purchase in the same transaction that creates the coin. It's an ordinary buy; it just happens to be the pool's first trade, at the lowest price the ladder will ever offer. Optional, but it's the only way to be certain you're ahead of the bots.
What you get as a creator
Half of every trading fee, forever. The pool charges 1% on every swap and creatorFeeShareBps = 5000 sends half of it to you, in WETH and in the coin itself. It accrues per coin and is pull-based — claim it with claimCreatorFees(meme) whenever you want. Pull rather than push so that a wallet which can't receive tokens can never brick the coin's harvest.
Being the creator gives you the fee stream and nothing else. You cannot pause the coin, mint more, change its backing, touch its liquidity or influence the hedge. The launcher contract owns the LP position and the keeper drives the hedge. The creator role is a payee, not an admin.
The fixed parameters
Total supply is 1,000,000,000 (defaultSupply). The pool uses the 1% fee tier (memeFee = 10_000) with a range about ±2.3× wide around the launch price (rangeWidthTicks = 12000, tickSpacing = 200), seeded 100% coin and 0 WETH. Hedging activates around $11,600 of pool WETH. None of these are per-launch arguments — they come from launcher config.
After you hit launch
Your coin is immediately a real, tradeable ERC-20 in a live pool. Below the hedge floor it behaves like a straightforward memecoin. If it attracts real liquidity and crosses the floor, the protocol starts building its perp position automatically — you don't have to do anything.
Under the hood, launch(name, symbol, metadataURI, backingLt) clones a minimal-proxy MemeToken, initializes the V4 pool with LpGuardHook attached, and mints the single-sided ask ladder under MAIN_SALT. The WETH floor position, seeded later by expand, lives under FLOOR_SALT.
