THE CONTRACTS
Two contracts do all the work. The launchpad creates tokens, opens their pools and locks the liquidity. Each token it creates is its own contract that pays its holders. Everything below is read from Robinhood Chain.
HOW A LAUNCH WORKS
Checks
The fee must be 1% to 5% in whole percents. The pair must be native ETH or a contract that answers decimals() like an ERC-20. There is no allow-list, so any token on the chain works, memecoins included.
New token
The launchpad deploys a fresh token contract and mints all 1,000,000,000 tokens to itself. The token has no mint function, no owner and no admin, so the supply can never grow.
New pool
It opens a Uniswap v4 pool of your token against the pair, with your swap fee, and the price set at the start price the launch form works out (about a $5K valuation when the pair has a market price).
Locked forever
The whole supply goes into one single-sided position from the start price upward. The launchpad owns it and has no function to remove liquidity, so nobody can pull it. The price can never go below the start.
WHERE THE FEES GO
Every trade
Each buy and sell pays the pool fee. Fees build up inside the locked position, in both the pair asset and the token itself.
Collected
collectFees pulls them out. Anyone can call it, and every holder claim calls it first, so fees never sit waiting for the team.
Split
50% of the pair side is sent to the token contract for its holders. 50% of the token side is burned to 0x...dead. The other 50% of both goes to the protocol wallet.
Claimed
Holders are paid pro rata to their balance, in the pair asset. Balances under one whole token do not earn, and the pool, the launchpad and the burn address never earn. Claim any time on the Claim page.
FUNCTIONS
launch(name, symbol, metadata, pair, fee, startTick)AnyoneDeploys a new token, mints the full 1,000,000,000 supply to the launchpad, opens a Uniswap v4 pool against the pair and puts the whole supply in one position starting at startTick. Emits Launched.
swap(token, buy, amountIn, minOut, recipient)AnyoneBuys the token with the pair asset, or sells it back, straight through the pool. Reverts if you would get less than minOut. Unused ETH is refunded. The pool also trades through any Uniswap v4 router.
collectFees(token)AnyonePulls the fees the locked position has earned and splits them: the holder share of the pair side goes to holders, the holder share of the token side is burned, the rest goes to the protocol wallet.
claim() (on the token)Any holderCalls collectFees first so the newest fees are included, then sends you everything you are owed, in the pair asset.
withdrawableOf(account) (on the token)Read onlyHow much of the pair asset an address can claim right now, from fees already collected.
getLaunch(token), poolId(token), launchCount()Read onlyThe pool key, creator, price range, liquidity and holder share of a launch, its Uniswap v4 pool id, and how many tokens the launchpad has launched.
withdrawEth()Anyone owed ETHIf an ETH payout could not be pushed to a wallet (it rejects ETH), it is credited instead, and this pays it out.
setProtocolWallet(wallet), setHolderShareBps(bps)Owner onlyChanges where the protocol share goes, and the holder share for launches made after the change. Tokens already launched keep the share they launched with.
WHAT THE OWNER CAN AND CANNOT DO
Can
Change the protocol wallet. Change the holder share for future launches. Hand ownership to a new address, which the new owner has to accept.
Cannot
Remove or move liquidity. Mint tokens. Pause trading. Change the fee or holder share of a token that has already launched. Touch rewards already owed to holders.
Worth knowing
Tokens are made by their creators, not by Hook Pad, and are not endorsed by the companies or projects they pair with. A locked pool still moves with the market. Only trade what you can afford to lose.
READ IT,
THEN LAUNCH
Every address above opens on the explorer, and every rule above is enforced by the code, not by us.
Launch a token