Hookr guide
Read the Hookr guide: one Uniswap v4 hook, the Hook Blocks you build it from, their fees, and a screenshot of each part.
On this page
- Use Hookr’s hook or deploy your own
- Built to plug into
- The core
- Hookr’s share of Hook Block fees
- The Hookr minimum
- Anti-Snipe
- Dynamic fees
- Auto Burn
- LP Rewards
- Arb recapture
- King of the Pool
- Launching
- Multi-pool launch
- New-token launches
- Existing-token launches
- Dev buy and dev-buy lock
- Every quote asset
- Trading
- Multi-pool trades
- Gasless swaps
- Market-hours fee
- For liquidity providers
- Launch lock
- LP Time-Lock Boost
- Creators and treasuries
- Creator royalty
- Managed fee
- Building your hook
- Hook Blocks builder
- Saved hooks
- Blocks that can’t be combined
- Integrations
- Trade through the Universal Router or Hookr’s router
- Quotes for aggregators and wallets
- The SDK and public ABIs
- How to integrate
- Combos to start from
- Daily crown
- Stock-quoted token
- More Hook Blocks and launches
- Your own hook
- Plain v4 launches
- Canonical Venue Token
- Buy/Sell Block
- Wallet Cap
- Market Guard
- Best route
- Limit orders
- Swap Reward Mint
- Zap Relay
- Entry Ratio Guarantee
- Recovery reserve
- Pay Later
- Tax + Conversion
- Revenue Router
- Vesting Milestone
- Third-party add-on blocks
- Hook Blocks Market
- Arb recapture on your own hook
- Fair launch
- Weekly crown with buy rewards
- Creator economy token
- Charity token
- Deep liquidity for a token that already trades
- Trader-first pools
- Burn relay
- Live today
Hookr is one Uniswap v4 hook for every Hookr pool on Robinhood Chain, built from Hook Blocks you pick, tune and remix into your own hook.
Hook Blocks are hook legos. Each one does one job, comes with its own settings, and snaps together with the others. You pick the blocks you want and tune their numbers, and that set becomes your pool’s hook. A pool runs its core blocks plus at most one add-on, and the builder shows which blocks can’t be combined. Then you open pools on Hookr’s hook, with nothing to deploy, or deploy your own hook with its own address running that same set of blocks. It works for a new token and for a token that already exists. When a pool opens, its blocks are frozen. Nobody can change them later.
It is live on Robinhood Chain.
Contents
- Use Hookr’s hook or deploy your own
- Built to plug into
- The core
- Hookr’s share of Hook Block fees
- The Hookr minimum
- Anti-Snipe
- Dynamic fees
- Auto Burn
- LP Rewards
- Arb recapture
- King of the Pool
- Launching
- Multi-pool launch
- New-token launches
- Existing-token launches
- Dev buy and dev-buy lock
- Every quote asset
- Trading
- Multi-pool trades
- Gasless swaps
- Market-hours fee
- For liquidity providers
- Launch lock
- LP Time-Lock Boost
- Creators and treasuries
- Creator royalty
- Managed fee
- Building your hook
- Hook Blocks builder
- Saved hooks
- Blocks that can’t be combined
- Integrations
- Trade through the Universal Router or Hookr's router
- Quotes for aggregators and wallets
- The SDK and public ABIs
- How to integrate
- Combos to start from
- Daily crown
- Stock-quoted token
- More Hook Blocks and launches
- Your own hook
- Plain v4 launches
- Canonical Venue Token
- Buy/Sell Block
- Wallet Cap
- Market Guard
- Best route
- Limit orders
- Swap Reward Mint
- Zap Relay
- Entry Ratio Guarantee
- Recovery reserve
- Pay Later
- Tax + Conversion
- Revenue Router
- Vesting Milestone
- Third-party add-on blocks
- Hook Blocks Market
- Arb recapture on your own hook
- Fair launch
- Weekly crown with buy rewards
- Creator economy token
- Charity token
- Deep liquidity for a token that already trades
- Trader-first pools
- Burn relay
- Live today
- Thanks
It’s locked down. Each pool’s blocks are fixed at launch. Any new block that runs inside the hook, and any new hook, waits at least 30 minutes in a timelock. Revoking a block stops new pools only, and pools already open keep trading, exiting and claiming.
Launch up to 8 pools for one token, or open new pools for a token that already exists. Send half the profit arbitrage takes from your pool back to its LPs and traders, or into a King of the Pool pot the round’s biggest buy takes whole. Lock your LP for up to 3x the rewards a creator, partner or Hookr funds. Quote in ETH, any Robinhood stock token or any other token, with 22 catalog assets marked as reviewed.
Use Hookr’s hook or deploy your own
Use Hookr’s hook and there is nothing to deploy. Pick your blocks, set them, launch.

A brand, launchpad or community can keep its own set of blocks on chain as a saved hook: which blocks are allowed, their fee caps, up to 4 add-ons and 4 gates, public or for the owner only.
Built to plug into
Every Hookr pool is a Uniswap v4 pool behind one hook address. Wallets and aggregators trade it through Uniswap’s Universal Router and quote it in the shape of Uniswap’s own quoter, and the quote is exactly what the trade delivers. Launchpads, wallets and bots open pools with one call to Hookr’s launcher.

The core
Every Hookr pool runs on the same core: the Hook Blocks most launches start from, the fee terms around them and the hook they run on. A pool sets all of it at launch, and it stays fixed for the pool’s life.

Hookr’s share of Hook Block fees
How it works
Each core Hook Block charges a fee: the Anti-Snipe tax, dynamic fees, LP Rewards and Auto Burn. Hookr takes a share of those fees, 20% by default, and the rest goes to the LPs, or for Auto Burn, to the burn. Hookr never takes any of the base LP fee. The creator picks the share at launch, and it stays fixed for the pool’s life. Hookr’s part is paid in the pool’s quote token, and on a buy it comes off before the rest reaches the pool. Add-on blocks have their own terms, and Tax + Conversion pays Hookr the pool’s share of each tax.

What creators set
- Hookr’s share: 20% to 50% of Hook Block fees. The app starts at 20%, an 80/20 split.
- The fee sizes it applies to, in each block’s own settings.
- Limits: LP Rewards and Auto Burn together take at most 10% of a buy, and no swap’s LP fee goes above 60%.
- Hookr can raise the floor only for pools launched later, through the timelock. Open pools keep their share.
Use it for
- Keep 80% of every Hook Block fee with your LPs and holders, and all of the base fee.
- Set a different share on each pool of a Multi-pool launch.
Example
A buyer spends 1 ETH on a pool with a 0.3% base fee, LP Rewards 2% and Auto Burn 1% at 80/20. Hookr takes 0.006 ETH first: 0.004 from LP Rewards and 0.002 from Auto Burn. The other 0.994 ETH reaches the pool, and LPs earn 1.9% of it, 0.018886 ETH: the whole base fee plus the 1.6% of LP Rewards left after Hookr’s share. 0.8% of the tokens bought are burned. At 70/30 the same buy pays Hookr 0.009 ETH and LPs 0.016847 ETH, and burns 0.7%. At 50/50 it pays Hookr 0.015 ETH and LPs 0.012805 ETH, and burns 0.5%.
The Hookr minimum
How it works
A pool for a token launched on Hookr pays Hookr 0.1% of every buy and sell when nothing else on the pool earns Hookr anything. That means no arb recapture, no LP Rewards, Auto Burn, large enough dynamic fee or Anti-Snipe tax, and no Tax + Conversion, and any one of them turns the minimum off for the pool’s life, even an Anti-Snipe tax that ends with the guard. A custom add-on that pays Hookr a share does not turn it off. Tokens launched anywhere else never pay it, and neither does a pool that uses a Hookr token as its quote. It is paid in the pool’s quote token, and the base fee still goes to LPs in full. The rate is fixed when the pool launches, and Hookr can move it between 0 and 1% for pools launched later, through the timelock.

Use it for
- Launch a plain pool with only the base fee, and pay Hookr a flat 0.1% instead of picking blocks.
- Turn on arb recapture, LP Rewards, Auto Burn or Tax + Conversion, and the minimum goes away.
- Open Hookr pools for a token you launched elsewhere, with no minimum at all.
Example
A creator launches a new token on a 0.3% ETH pool with no paying blocks and arb recapture off. A 1 ETH buy pays Hookr 0.001 ETH first. The other 0.999 ETH reaches the pool, and LPs earn 0.002997 ETH. A sell that takes 1 ETH out pays Hookr 0.001 ETH too. Had the creator turned on LP Rewards at 2% with an 80/20 split, there would be no minimum: the same buy would pay Hookr 0.004 ETH from LP Rewards, and a sell would pay Hookr nothing.
For integrations
- The minimum is already inside every quote and amount out, in the pool’s quote token.
Anti-Snipe
How it works
Anti-Snipe guards a pool’s first minutes. Until the guard ends, buys pay an extra tax, buys per block are capped, exact-output buys are refused, and only the creator’s launch position can add liquidity, which cannot be pulled before the guard ends. The tax starts at the launch rate and falls to a floor over the decay time, along a straight line, a front-loaded curve or eight equal steps. As the tax falls the per-block cap grows, so a block that fills its cap pays the same tax at any point of the decay. Sells never pay it. Hookr takes its share of the tax and the rest goes to LPs, which during the guard means the creator.

What creators set
- Guard length: up to 100,000 blocks, about 14 days at 12 seconds a block. The app starts at 10 minutes.
- Launch tax: up to 60% together with the base fee. The app starts at 10%.
- Floor: any rate below the launch tax. The app starts at 0.
- Decay time: up to an hour, or the whole guard if that is longer, up to about 18 hours. Zero keeps the tax flat. The app starts at 5 minutes.
- Curve: straight line (the default), front-loaded or eight steps.
- Buy cap per block: any amount, or none. The app starts at 0.5% of the pool’s quote depth at launch, about the buy that moves the opening price 1%.
Use it for
- Make bots that buy in the first seconds pay the creator’s LP position instead of taking cheap supply.
- Open a launch slowly, with a cap that grows as the tax falls and spreads early supply across many blocks.
- Run a longer community round on the step curve, where the tax holds through each eighth of the decay.
- Make the dev buy pay the same tax as everyone else, with the LP part coming back to the creator’s own position.
Example
A creator launches with a 10% tax falling to 0 over 5 minutes in a straight line, a 0.3% base fee and Hookr’s share at 20%. A sniper buys 1 ETH in the launch block. Hookr gets 0.02 ETH, and the creator, the only LP, earns 8.3% of the 0.98 ETH that reaches the pool: 0.08134 ETH. A buyer 60 seconds later pays an 8% tax, so Hookr gets 0.016 ETH. On the front-loaded curve the tax at 60 seconds would be 3.5%, and on the step curve 8.75%. With 200 ETH of quote depth, the cap starts at 1 ETH per block and reaches 2 ETH at 150 seconds, when the tax is half.
For integrations
- During a guard, send exact-input buys: exact-output buys are refused, and a buy that would overfill its block’s cap reverts.
- The dev buy is logged on chain with the launch and post-buy prices, so trackers can label it.
Dynamic fees
How it works
Dynamic fees raise the LP fee when a swap pushes the price away from where it recently sat, and charge nothing for moving it back. The extra fee grows with the square of the distance, up to the pool’s ceiling, and each swap pays the average over its own path, so splitting a buy into pieces saves almost nothing. A price pushed by a trade with no real size behind it does not raise the next buyer’s fee. The reference price follows the market on a clock: by default it closes a quarter of its gap every 30 seconds, and catches up fully after 2 quiet minutes. Hookr takes its share of the extra fee and LPs earn the rest.

What creators set
- Ceiling: the most a swap’s LP fee can reach. The app starts at 2.3% on a 0.3% base fee. At the default sensitivity and share it can go up to about 12.5%, and a higher Hookr share can lower that limit.
- Sensitivity: 1 to 10. The app starts at 5, where a price move of about 21% reaches the ceiling.
- Window: 12 to 300 seconds, 30 by default. Each window with no new move, the reference closes part of its gap.
- Carry: how much of the gap each step keeps, up to 95% in steps of 1.25%, 75% by default.
- Reset: 30 to 1,800 seconds in 15-second steps and at least twice the window, 120 by default. After it, the reference catches up fully.
- Counted move: 50 to 2,000 ticks, 200 by default. Smaller moves back and forth never hold the reference in place.
Use it for
- Launch rushes: the fee climbs while buyers pile in and falls back within minutes once it calms.
- Volatile tokens, where LPs earn more on the big one-way moves that cost them most.
- Stopping dust games: a near-free push cannot raise the price the next buyer pays.
- Pools with arb recapture, which runs first, so the fee is priced on a pool already back in line with other markets.
Example
A pool at the app’s settings has been quiet. A 1 ETH buy moves the price up 10%, which at sensitivity 5 costs 7.94% of the 2% range above the base fee: 0.1588%, or 0.001588 ETH. Hookr gets 0.000317 ETH of it and LPs 0.001271 ETH, on top of the base fee. If the next trade is a sell that pushes the price back toward where it sat, it pays no dynamic fee. If instead nothing moves for 2 minutes, the reference catches up and the next buyer is charged from the new price.
For integrations
- Hookr’s quoter runs the same simulation as the swap, so a quote includes the dynamic fee to the wei.
- The fee depends on where the price recently sat, so quote close to sending.
Auto Burn
How it works
Auto Burn burns a share of the tokens every buy receives, in the same swap. Hookr takes its share of that slice in the quote token, and the rest of the slice is burned, sent to the dead address. Sells never pay it. Auto Burn and LP Rewards share one budget of at most 10% of a buy. The rate is fixed at launch, so the burn runs at the same rate for the pool’s life.

What creators set
- Burn rate: up to 10% of each buy, less any LP Rewards. The app starts at 1%.
- Hookr’s share of the slice, paid in the quote token instead of burned.
Use it for
- Shrink supply with every buy, at a rate nobody can change later.
- Pair a small burn with LP Rewards, so each buy rewards both holders and LPs.
Example
A buyer spends 1 ETH on a pool with Auto Burn 1%, a 0.3% base fee and no other blocks. Hookr takes 0.002 ETH, its 20% of the slice. The other 0.998 ETH reaches the pool, and LPs earn the base fee, 0.002994 ETH. If the buy fills 1,000,000 tokens, 8,000 of them are burned and the buyer receives 992,000.
For integrations
- The burn comes out of the tokens the buyer receives, and quotes already net it out.
- The swap’s fee event reports the amount burned.
LP Rewards
How it works
LP Rewards add an LP fee to every buy, on top of the base fee. Buyers pay it in the quote, and it goes to the LPs whose liquidity filled the buy, in proportion to their liquidity, like any Uniswap v4 fee. Hookr takes its share of LP Rewards from the buy first, and the LPs get the rest as LP fee on what reaches the pool. Sells pay no LP Rewards. Outside LPs can join once the launch guard ends. A creator can also send part of the LPs’ share to an address they name as a creator royalty, and the buyer pays the same with or without it.

What creators set
- LP Rewards: up to 10% of each buy, less any Auto Burn, and at most 60% together with the base fee. The app starts at 2%.
- Creator royalty: off by default, up to 10% of the LP Rewards left after Hookr’s share. It needs LP Rewards on.
- All of it is frozen when the pool opens.
Use it for
- Pay LPs extra on a new token, so outside LPs bring depth after the launch guard.
- Charge buyers for depth while sellers pay only the base fee.
- Pair it with the LP Time-Lock Boost: LP Rewards pay per trade, the Boost pays per week locked.
Example
A 1 ETH buy on a pool with a 0.3% base fee, LP Rewards 2% and the default 80/20 split. Hookr takes 0.004 ETH first, so 0.996 ETH reaches the pool. LPs earn 1.6% of that as LP Rewards, 0.015936 ETH, plus the base fee, 0.002988 ETH: 0.018924 ETH in all. If the launch position holds three quarters of the liquidity in range and Sam’s position holds a quarter, Sam earns 0.004731 ETH from that buy. A sell of the same size pays the LPs the base fee only and pays Hookr nothing.
For integrations
- LP Rewards are an ordinary v4 LP fee, so every position in range earns them with no extra code: a position minted through Uniswap’s v4 PositionManager or the launch position.
- Hookr’s quoter returns exactly what a buy delivers after LP Rewards, so aggregators price it right.
Arb recapture
How it works
Before and after every swap on a pool with arb recapture, the executor trades the pool back in line with other markets. The profit is split on chain instead of going to outside bots: the executor keeps 25%, Hookr takes 25% and the other 50% goes back to the pool. Of that half, the trader whose own swap opened the gap gets the trader share, and LPs in range get the rest, released over about an hour so liquidity added for a moment gets almost none of it. On a Multi-pool launch, gaps between the launch’s own pools are recaptured in the same swap. What The Hook’s executor runs the arb recapture, and if it cannot, the trade goes through without it. Arb recapture is open on Hookr’s hook. A new pool starts with it on by default, the creator can turn it off, and each pool fixes its setting when it opens.

What creators set
- On or off: on by default for new pools. A pool launched with it off never gets it.
- Trader share: 0 to 50% of the pool’s half, 25% by default.
- Fixed on every pool: Hookr’s 25% and the executor’s 25%, and the LPs’ share paid into the pool over about an hour, so a position that passes through cannot grab it.
Use it for
- Send half the profit arbitrage takes from your pool back to your LPs and traders.
- Give buyers back part of the gap their own buy opened.
- Recapture gaps between the pools of a Multi-pool launch in the same swap.
- Fill a King of the Pool pot.
Example
Take an ETH pool for a new token with a 0.3% base fee, dynamic fees up to 2.3%, LP Rewards 2%, Auto Burn 1% and Hookr’s share at 20%. After the guard, a trader buys 1 ETH and moves the price up 10%. Hookr takes 0.006317 ETH in fees, LPs earn 0.020143 ETH, and 0.8% of the tokens bought are burned. Right after the swap, in the same transaction, the executor trades the pool back in line. Say that makes 0.1 ETH. The executor keeps 0.025 ETH and Hookr takes 0.025 ETH. The trader is credited 0.0125 ETH, because their buy opened the gap, and LPs get 0.0375 ETH over the next hour. Per 1 ETH of profit that is 0.25, 0.25, 0.125 and 0.375, and when a move on another market opened the gap, LPs get the full 0.50.
For integrations
- Hookr’s quoter runs both arb recapture steps exactly as the swap does, so the quoted amount out is what the swap delivers.
- Send these swaps with a gas limit from a gas estimate plus a sixth. The estimate, about 7.5 million for a buy now, includes the pool’s on-chain floor plus the swap’s own gas. A fixed limit should be at least 8.8 million. Only the gas used is paid.
- The trader share is credited to the payer as a claim in the pool’s quote token. If your contract sends the swap for a user, your contract collects it and should pass it on.
King of the Pool
How it works
King of the Pool runs inside arb recapture: the pool’s half of every arb recapture fills a pot. Each round, the biggest single buy takes the crown, and when the round closes the king takes the whole pot in the pool’s quote token. There is no prize ceiling, so a buy made only to take the crown can win more than it paid in fees. A round with no king releases part of the pot to LPs in range and carries the rest. A sell on the pool in the same transaction cancels a lead. LP Rewards, Auto Burn and every other block run beside it as on any pool. Referral rebates on these pools are capped at half of Hookr’s fee.

What creators set
- On or off: off by default. It needs arb recapture, and on Hookr’s hook nothing else. On a hook you deploy, its prize is capped by Hookr’s share of LP Rewards and Auto Burn, so it needs one of them there.
- Round: 1 hour to 30 days, 1 day by default.
- Pot release: 25% to 100% of the pot goes to LPs after a round with no king, 50% by default.
- Smallest buy that counts: anything above zero. The app starts at 0.01 ETH on ETH pools.
The pot takes all of the pool’s half of each arb recapture, and the prize is the whole pot. Neither is a setting.
Use it for
- A daily crown that gives buyers a reason to buy bigger.
- Weekly or monthly rounds with a bigger pot for an event or a season.
- A pot that pays LPs when nobody takes the crown.
- Turning arb profit into a contest holders can watch on chain.
Example
A pool with LP Rewards 2%, Auto Burn 1% and Hookr’s share at 20% turns King of the Pool on with 1-day rounds and half the pot released after a round with no king. During the day, arb recaptures make 4 ETH of profit. The executor keeps 1 ETH, Hookr takes 1 ETH and the pot gets 2 ETH. LP Rewards and Auto Burn still pay on every buy. The day’s biggest buy is 20 ETH. When the round closes, its buyer is credited the whole 2 ETH pot. Had no buy led the round, 1 ETH would have gone to LPs and 1 ETH would have carried into the next round.
For integrations
- The crown and the prize go to the payer the hook sees. If your contract sends the buy, your contract holds them.
- Buys through Hookr’s router, a signed relayed swap or Uniswap’s Universal Router can take the crown. Buys from routers the hook cannot identify never lead.
Launching
A token can come to Hookr in several ways. One launch can open up to 8 pools, for a new token or one that already exists, and a new token can open with a dev buy. Each pool is priced in ETH, a catalog asset or a stock token.

Multi-pool launch
How it works
One launch opens 1 to 8 pools for the same token in one transaction, one pool per quote asset, on Hookr’s hook or on your own hook once you deploy one. Each pool gets its own opening price, range, base fee, Hook Blocks and Hookr share. If any pool fails a check, the whole launch reverts and nothing opens. The launch fee is 0, can never go above 0.01 ETH, and is paid once per launch however many pools it opens. The creator holds every pool’s founding liquidity as one launch: collect fees any time, add more, withdraw after the lock, or hand the whole launch to a new owner. With arb recapture on, the pools of one launch count as siblings, so gaps between them are recaptured inside the same swap.

What creators set
- Pools: 1 to 8, each on a different quote asset.
- Per pool: opening price, price range, seed amounts, base fee (0.3% by default), Hook Blocks and their settings, and Hookr’s share of its Hook Block fees.
- Supply weights: each pool’s share of a new token’s supply, set on every pool or on none, adding up to at most 100%. Off by default.
- Most the creator keeps: 0% to 100% of a new token’s supply when the launch ends. No cap by default.
- Opening-price check: every pool after the first must open within 0.01% to 10% of the first pool’s price, converted through a reference pool the creator names. Off by default.
- Extra liquidity lock: up to 100,000 blocks after launch, about 14 days. None by default.
- Dev buys: up to one per pool.
- Arb recapture: per pool, on by default, with an opt-out.
Use it for
- Open ETH and USDG pools on day one, so every buyer pays in what they already hold.
- Put a token next to a Robinhood stock token and ETH in one launch, each pool with its own fee.
- Run Anti-Snipe on the ETH pool where snipers show up, and keep the USDG pool plain.
- Write the supply split and the team’s cap on chain, where anyone can check them.
Example
Maya launches MAYA with 1,000,000,000 tokens on three pools, ETH, USDG and HOOKR, weighted 60/30/10. The pools get exactly 600,000,000, 300,000,000 and 100,000,000 MAYA. She caps what she keeps at 2%, so if she would hold more than 20,000,000 MAYA when the launch ends, it reverts. She sets a 1% opening check and names a USDG/ETH pool and a HOOKR/ETH pool as references. If either pool’s price converts to more than 1% away from the ETH pool’s, nothing opens. Everything passes, and all three pools open in one transaction. At first Maya’s position is each pool’s only LP, so it earns every LP fee their trades pay.
For integrations
- A launchpad or wallet opens a whole Multi-pool launch with one launcher call, and it reverts as one.
- Indexers can rebuild a launch from its logs, in order: the weights and the opening check, then each pool’s
PoolOpened, its dev buy if it has one, andMemberLaunched, then the holding cap and a finalFamilyLaunched.LaunchFeePaidappears only when the launch fee is above 0, just before the pools open. The launcher also maps any pool back to its launch. - Multi-pool trades split one buy or sell across a launch’s pools, through Hookr’s router for them or as one Universal Router swap, with every leg’s minimum and the total checked.
New-token launches
How it works
A new token is a plain fixed-supply ERC-20 that Hookr’s launcher creates and places in the launch’s pools in the same transaction. It has no owner, no mint, no pause, no tax and no upgrade. Supply that no pool takes goes back to the creator. The creator can write a tagline and a logo link into the token at launch, and nobody can change them after. Every new token supports permits, so a holder can approve a spend by signing a message and anyone can submit it. Its pools pay the Hookr minimum when nothing else on the pool pays Hookr.

What creators set
- Name: up to 64 bytes.
- Ticker: up to 16 bytes.
- Supply: any amount, minted once, fixed for good.
- Tagline: up to 160 bytes, optional, set once at launch.
- Logo link: up to 300 bytes, optional, set once at launch.
- The pools: everything under Multi-pool launch.
Use it for
- Ship a token whose description and logo live in the token itself, so wallets and explorers read them straight from the chain.
- Approve a router or any other contract by signature, with the gas paid by whoever submits it.
- Show holders that supply can never grow and that nobody holds an admin key.
Example
Sam launches TICK with 1,000,000,000 supply, the tagline “Coffee for the timeline” (23 bytes) and a logo link, on one ETH pool with a 0.3% base fee, no paying Hook Blocks and arb recapture off. The pool fixes the 0.1% minimum when it opens. A trader buys with 1 ETH: Hookr takes 0.001 ETH first, then LPs earn 0.999 × 0.3% = 0.002997 ETH. A holder who wants to approve a contract signs a permit, and anyone can send it on chain and pay the gas.
For integrations
- Wallets and explorers read
tagline()andlogoURI()from the token. Show them as the creator’s own words, since nothing checks them. - Permits follow EIP-2612, with the domain readable through ERC-5267, so standard permit code works.
- Every token Hookr launches has the same runtime code hash, so an indexer can tell a Hookr token by its code alone.
predictTokenreturns a new token’s address before the launch, so a launch page can show the contract address ahead of time.
Existing-token launches
How it works
Any token that already exists can get new Hookr pools, whether it launched on Hookr, on another launchpad or anywhere else. In the builder, “Open pools for an existing token” carries the same board into this launch. The creator funds each pool from their own wallet and opens 1 to 8 pools in one launch, the same way as for a new token, each against its own quote with its own blocks. Nobody needs the token team’s permission: the launcher only checks that the token is a contract and that every amount arrives in full. If one of the pools already exists on Hookr, the launch can skip it instead of failing. These launches take no dev buy and no supply weights, and the token keeps its own name, supply, tagline and logo. A token that wasn’t launched on Hookr never pays the Hookr minimum, so its pool with no paying Hook Blocks and no arb recapture pays Hookr nothing.

What creators set
- The token: any token contract.
- Pools: 1 to 8, each with the same settings as a Multi-pool launch.
- Blocks: the full board, Tax + Conversion included. The pool page names who each tax pays.
- Pools that already exist: skip them, or let the launch fail. Fail unless the creator chooses to skip.
Use it for
- Add a USDG or stock-token pool to a token that only trades against ETH today.
- Give a token that graduated on another launchpad pools with Anti-Snipe, dynamic fees and LP Rewards.
- Open new pools for a token already launched on Hookr, on quotes it doesn’t have yet.
- Let a community give a token whose team went quiet new pools with Auto Burn.
Example
A team whose token already trades elsewhere opens a Hookr ETH pool with a 1% base fee, LP Rewards 2% at a 20% share and arb recapture off. A trader buys with 1 ETH. Hookr takes 0.004 ETH and 0.996 ETH reaches the pool. LPs earn 0.015936 ETH of LP Rewards plus 0.00996 ETH of base fee, 0.025896 ETH in all. When that trader sells later, Hookr gets nothing: LP Rewards apply to buys only, and the token never pays the minimum.
A token that graduated on another launchpad already has a Hookr ETH pool someone opened earlier. Its team opens a friend’s board link, keeps every block and picks “Open pools for an existing token” with an ETH pool and a USDG pool, skip on. The launch passes over the ETH pool that exists and opens the USDG pool, funded from the team’s wallet.
For integrations
- A launchpad can give its graduated tokens Hookr pools with one launcher call.
memberKey(token, quote, tickSpacing, root)says whether a pool is still free before the call.- The skip option passes over pools that already exist and logs
MemberSkipped, so a retry never fails on a pool someone else opened. - Tokens that take a fee on transfer can’t fund a launch: the launcher checks every amount arrives in full and reverts otherwise.
Dev buy and dev-buy lock
How it works
A creator launching a new token can make the first buy on each of its pools inside the launch transaction. The buy runs at the launch price and pays every fee a guarded buy pays, and on a guarded pool no other buy clears in the launch block. The LP part of those fees goes back to the creator’s own position, the pool’s only LP during the guard, so the creator’s real fee cost is Hookr’s share plus any burn and any royalty paid to someone else. When the launch ends the creator can hold at most 5% of supply, bought and unplaced tokens together, or the launch reverts. The dev-buy lock keeps the launch liquidity in its pools for as long as the creator picks, while the bought tokens stay free to move. Buying inside the launch saves 100,689 gas against the same buy in a second transaction.

What creators set
- Amount and pool: one buy per pool, in that pool’s quote. On a guarded pool the per-block buy cap must cover it.
- Minimum tokens out: the buy reverts below it.
- Lock: 0 to 2,628,000 blocks, about a year. The app starts at 7 days, 50,400 blocks.
- Holding cap: 5% of supply when the launch ends. Fixed.
Use it for
- Take the team’s starting position at the launch price, on chain and in the open, before anyone else can buy.
- Show buyers the launch liquidity can’t leave for a week, a month or a year.
- Seed a small holding on each pool of a Multi-pool launch, one buy per pool.
Example
Lee launches 1,000,000,000 LEE on an ETH pool with a 0.3% base fee, Anti-Snipe at 10%, a 1 ETH per-block buy cap and a 20% share, and adds a 1 ETH dev buy with the 7-day lock. Inside the launch the buy pays Hookr 0.02 ETH, and 0.98 ETH reaches the pool. The pool charges (0.3% + 8%) × 0.98 = 0.08134 ETH in LP fees, which land in Lee’s own position and can be collected at once. So the fees cost Lee 0.02 ETH. If the buy plus any unplaced supply would leave Lee holding more than 50,000,000 LEE, the launch reverts. The pool’s liquidity stays in until day 7, and the LEE that Lee bought can move right away.
For integrations
- The
DevBuyExecutedevent logs the launch price, the price after the buy and the lock, so explorers and trackers can label the creator’s buy instead of guessing. principalLockedUntilon the launcher returns the block a launch’s liquidity unlocks, for any app that shows locks.- An add-on Hook Block can read
launchBuyPool()to recognise the dev buy as the creator’s own.
Every quote asset
How it works
Each pool picks its quote when it opens and keeps it for life. Native ETH always qualifies, and so do 22 catalog assets: WETH, USDG, HOOKR (0x18E674231A58c239Dc7DaeDcffE15Ec3A24cff5c), WTH, NOVAAI, PONS, USDe, CASHCAT, UP, syrupUSDG, AI, BUN, ORBIO, BONER, CHUMP, SIF, U, HOODCHAN, MEME, Index, PIPEDOG and STATICS. Every Robinhood stock token with supply qualifies as one class, so a new stock token works as a quote from the moment it’s first minted. With any-quote mode on, any other token contract can be a quote too, shown as unreviewed. A pool’s fees and Hookr’s share are paid in its own quote. Hookr can stop new pools on any one asset at once, except ETH, and pools already open keep their quote.

What creators set
- Quote per pool: ETH, a catalog asset, a Robinhood stock token or, in any-quote mode, any other token.
- One pool per quote in each launch.
- No quote-specific fees.
Use it for
- Price a token in NVDA or SPY, so stock-token holders can buy without selling first.
- Launch against USDG for buyers who think in dollars.
- Pair with HOOKR or WTH to sit inside a community that already holds them.
- Use a bridged token outside the catalog through any-quote mode, with the badge telling buyers it’s unreviewed.
Example
A token launched on Hookr opens a pool quoted in NVDA, the Robinhood stock token, with a 0.3% base fee, no paying Hook Blocks and arb recapture off. A trader buys with 10 NVDA. Hookr takes 0.01 NVDA, the 0.1% minimum, and LPs earn 9.99 × 0.3% = 0.02997 NVDA. Every fee on that pool stays in NVDA.
For integrations
isQuote(asset)on the registry says whether a pool can open on an asset, andbadgeForQuote(asset)says why: native, catalog, stock class, unreviewed or none. Show unreviewed quotes as unverified, since a lookalike can copy any name and symbol.quoteAssets()lists the catalog.- Hookr’s router and launcher move exact amounts, so tokens that charge a fee on transfer can’t be paid into a pool exactly.
Trading
Hookr pools take trades through several paths, and a set of Hook Blocks shapes what each trade pays.

The examples use a default pool: a 0.3% base LP fee, LP Rewards 2%, Auto Burn 1% and Hookr’s share at 20%, past its launch guard, with no dynamic fee and no arb recapture. On it Hookr takes 0.6% of every buy and nothing from a sell.
Multi-pool trades
How it works
A Multi-pool launch gives one token up to 8 pools, one per quote asset. A Multi-pool trade buys or sells across up to 8 of them in one transaction, with one currency in and one currency out. A leg whose pool is quoted in another asset converts first, through a pool the trade names: a plain Uniswap v4 pool or another Hookr pool. Every leg must fill whole and meet its own minimum, and the legs together must meet a total minimum, or the whole trade reverts. The router charges nothing and keeps nothing between trades, and each leg pays its own pool’s fees and counts as the trader’s own swap. A trader sets each leg’s amount and minimum, using each pool once, plus a total minimum, a deadline and the recipient.
Use it for
- Filling a large buy across a token’s ETH, USDG and HOOKR pools at once instead of pushing one pool’s price.
- Selling into every pool that has depth and taking one currency out.
- Paying in ETH for a pool quoted in USDG, with the conversion inside the same trade.
- One buy button in a wallet for a token that trades in several pools.
Example
TKN launched with three default pools: TKN/ETH, TKN/USDG and TKN/USDC. A trader buys with 3 ETH in one Multi-pool trade, 1 ETH per leg. The ETH leg buys TKN directly. The USDG leg swaps 1 ETH to USDG through a pool that pairs the two, then buys TKN, and the USDC leg does the same through an ETH/USDC pool. All three legs clear their minimums and the trader gets the TKN from all three pools in one transaction. Hookr takes 0.6% of each leg in that pool’s quote: 0.006 ETH on the ETH leg and about 0.006 ETH-worth of USDG and of USDC on the other two, about 0.018 ETH-worth in all. The router takes nothing, and the two conversion pools charge their own fees. Had the USDC leg come in under its minimum, the whole trade would have reverted and the 3 ETH would have stayed with the trader.
For integrations
A wallet or aggregator builds the legs from Hookr quotes and sends one call to the Multi-pool router, paying with a normal approval or a Permit2 signature. The same split also works as one Universal Router call and delivers the same output. A sell with a converting leg pays only the account that sends it. Each leg starts its own swap, so on pools with arb recapture every leg needs that pool’s lane gas floor left when it begins.
Gasless swaps
How it works
A trader signs a swap as a message instead of sending a transaction, and a relayer sends it and pays the gas. The message names the pool, the direction, an exact input or exact output with its bound, the recipient, the relayer and its fee, a nonce and a deadline. The trader can name one relayer, or leave the swap open to any relayer if it pays no relayer fee. Hookr’s forwarder pulls exactly the signed amount through Permit2 and swaps through Hookr’s router with the signer as the trader. It checks that the recipient got at least the signed minimum, refunds unused input and pays the relayer its fee. On a buy the fee comes on top of the input, and on a sell it comes out of the proceeds. Native ETH can’t be the input, so a gasless buy spends a token such as USDG or WETH. Every Hookr pool takes signed swaps.
Use it for
- Selling a new Hookr token from a wallet that holds no ETH, with the token’s permit and the swap in one relayed call.
- Wallets and apps that pay their users’ gas and take a small fee in the traded token.
- Relayers that earn the signed fee for sending other people’s swaps.
Example
Ana holds USDG and has approved it for Permit2. She signs a 100 USDG buy of TKN on a default pool with her minimum TKN out, naming a relayer and a 0.50 USDG fee. The relayer sends it and pays the gas. The forwarder pulls exactly 100.50 USDG, buys TKN with 100 USDG with Ana as the trader, checks she got at least her minimum and pays the relayer 0.50 USDG. Hookr takes 0.60 USDG from the buy in the pool. On a pool that charges only its base fee, a relayed buy uses 227,418 gas, which the relayer pays.
For integrations
Hookr runs no relayer, and any relayer can carry these swaps. The signed message is a Permit2 witness transfer. The forwarder exposes the message hash, the exact amount it will pull and the nonce check, so a relayer can verify a swap before sending it. On a pool with an add-on, a relayed sell can’t pay its relayer from the proceeds, so it carries no fee there. The signer is the trader the pool sees, so arb recapture shares, King of the Pool crowns and Swap Reward Mint rewards go to the signer.
Market-hours fee
How it works
A pool can charge a higher LP fee while US markets are shut. The fee is the pool’s base LP fee plus a surcharge for each session: regular hours, pre-market, after hours, overnight and closed days, on the NYSE calendar in New York time. Two optional ramps move it gradually from the pre-market rate to the regular rate after the open, and from the regular rate to the after-hours rate before the close. NYSE closures and early closes for 2026 through 2030 are built in, later years are added one at a time through the timelock, and an unscheduled closure can be marked the same way. The whole surcharge goes to LPs and is fixed when the pool opens.

What creators set
- A surcharge for each of the five sessions, up to 5% each.
- An open ramp and a close ramp, together up to 3.5 hours.
- Weekdays the calendar doesn’t cover yet: priced by their hours, or charged as closed.
- It uses the pool’s add-on slot. Swap Reward Mint, Zap Relay and the managed fee can carry the same session surcharge in their own slot.
Use it for
- Stock-token pools, where the stock market is shut overnight and on weekends and prices can jump at the open.
- Paying LPs more for the hours when they can’t hedge.
- A low fee in regular hours and a higher one on closed days, with no keeper.
Example
A pool for a Robinhood stock token quoted in USDG charges a 0.3% base fee and a 0.4% overnight surcharge. At 2:00 New York time on a Tuesday, a trader buys with 1,000 USDG. The swap pays 3 USDG of base fee and 4 USDG of surcharge, all 7 USDG to the pool’s LPs, and Hookr gets nothing from the surcharge. The same buy at 11:00 that day pays the regular-hours rate.
For integrations
The surcharge follows block time, so a quote taken just before a session change can differ from the fill. Hookr’s quoter includes the surcharge at the moment it runs, and the add-on reports the surcharge for any timestamp.
For liquidity providers
LPs keep the whole base fee on every Hookr pool, along with their part of LP Rewards, dynamic fees, the Anti-Snipe tax and arb recapture. On top of that they can lock a launch’s liquidity, earn more for committing, protect what they put in, and put a launch position to work.

Launch lock
How it works
The launch lock holds a launch’s liquidity in its pools until a block you pick, or forever. You hand the launch to the lock and name a beneficiary, and the lock takes every pool of the launch at once, all pools of a Multi-pool launch included. Fees earned before the hand-over go to you. While it is locked, nobody can pull liquidity or add more, and only the beneficiary can act: it collects every fee the locked liquidity earns, its part of arb recapture included. From the unlock block the beneficiary can hand the launch to a new owner, and the fees earned up to then go to the beneficiary. A forever lock never releases, and the beneficiary can’t be changed while the launch is locked.

What creators set
- Beneficiary: any account that can make calls, such as a wallet or a Safe. The app fills in your wallet.
- Unlock block: any future block, or forever. Robinhood Chain counts these in parent-chain blocks of about 12 seconds, so a year is about 2,628,000 blocks. Right after a launch the app picks For good, and Keep it unlocked skips the lock.
- Fees: none. The pools keep the Hook Blocks set at launch, and the lock takes nothing.
Use it for
- Showing buyers the launch liquidity can never be pulled, while its fees keep coming in.
- Sending a launch’s fees to a team Safe instead of the wallet that launched it.
- Locking until a date on your roadmap, then handing the launch to a new owner.
- Locking Hookr pools for a token that launched somewhere else, the same way.
Example
Mia launches TOKEN with one TOKEN/ETH pool at a 0.3% base fee, no other paying Hook Blocks, and arb recapture turned on. She hands the launch to the lock forever, with her team’s Safe as beneficiary. Over a day 10 ETH of buys and sells trade through the pool, and the launch position is its only liquidity, so the Safe collects fees worth about 0.03 ETH. Hookr gets nothing from those swaps. The launch position is also the only LP in range when an arb recapture pays out, so the LP share of each one reaches the Safe too, over about an hour. The lock takes nothing, and the liquidity stays in the pool for good.
For integrations
Anyone can check a lock on chain: lockOf returns the beneficiary and the unlock block, and the lock logs an event when it locks and when it releases. Explorers, token screeners and wallets can show “liquidity locked” from the chain itself, as Hookr’s pool pages, token pages and Discover do. A contract can be the beneficiary if it can call collect, and fees can also come out as PoolManager claims for contracts that hold those.
LP Time-Lock Boost
How it works
A gauge pays a funded reward budget to LPs who lock a full-range position in a Hookr pool. Each LP picks a lock in whole weeks, and a longer lock gets a bigger boost. Rewards accrue every second by liquidity times boost. When a lock ends, its boost ends with it and the position earns at 1x until it is withdrawn or locked again. Swap fees stay the LP’s own and can be collected at any time, even while locked. There is no early exit, and only full-range positions count.

What creators set
- Reward token: one from Hookr’s list: WETH, USDG and HOOKR.
- Lock range: the shortest and longest lock, 1 to 104 weeks.
- Top boost at the longest lock: 1x to 3x. Locks in between get a straight-line share of it.
- Smallest position: at least 1,000,000 units of liquidity, checked against the pool’s token supplies.
- Funding: each budget runs 1 to 52 weeks. The creator adds budget, anyone else can too, and none of it can be taken back.
- The gauge’s terms are fixed for good. LPs pick their own lock inside the range.
Use it for
- Keeping depth through the first months of a launch.
- Letting a partner pay for depth on a pool it cares about, in WETH or USDG.
- Paying an LP who commits for two years three times what a one-week LP gets.
Example
A creator sets up a USDG gauge on a TOKEN/ETH pool with locks of 1 to 104 weeks and a 3x top boost, then funds 10,400 USDG for 52 weeks, about 200 USDG a week. Three LPs stake full-range positions of the same size and lock for 104, 52 and 1 week. Their boosts are 3x, 1.9902x and 1x, so each week they earn about 100.16, 66.45 and 33.39 USDG. Each keeps all of its swap fees. The 1-week lock ends at the first Thursday 00:00 UTC at least a week out, and that LP keeps earning at 1x until it withdraws. Hookr takes nothing from the gauge.
For integrations
Stakes are standard Uniswap v4 PositionManager positions, so any app that mints a full-range position can stake it. The launch position is held by the launcher, not as one of those, so it can’t be staked. Anyone can fund a gauge, so a partner can add incentives without the creator. boostFor prices a lock before the LP commits, and pendingRewards shows what a stake has earned. The owner of a launch creates its gauge, on Hookr’s hook or an owned root. For pools another launcher opened, Hookr creates it through a timelock.
Creators and treasuries
Hook Blocks for getting paid, rewarding the people who trade and provide liquidity, and running a treasury.

Creator royalty
How it works
The royalty is a switch inside LP Rewards. On every buy it sends a share of the LP Rewards to an address the creator names, after Hookr has taken its slice. The buyer pays the same with or without it, because it comes out of the LPs’ part, not on top. Sells pay no royalty. The royalty builds up on chain as a claim in the pool’s quote, and the recipient pulls it whenever it wants. The rate and the recipient are frozen when the pool opens.

What creators set
- Royalty: 0 to 10% of LP Rewards after Hookr’s slice. Off by default.
- Recipient: any wallet, Safe or contract that can claim. Pre-filled to the creator.
- LP Rewards must be on for the pool to carry a royalty.
Use it for
- Paying a team wallet on every buy without adding a tax.
- Giving a fixed cut of trading to a charity or a community fund.
- Feeding a Revenue Router split that pays several people.
Example
A creator launches with the default blocks (base fee 0.3%, LP Rewards 2%, Auto Burn 1%, Hookr share 20%) and a 10% royalty to the team’s Safe. Someone buys with 1 ETH. Hookr takes 0.006 ETH, 0.004 from LP Rewards and 0.002 from Auto Burn. The royalty is 0.0016 ETH, credited to the Safe. 0.9924 ETH reaches the pool, and LPs earn 1.74% of it (1.44% LP Rewards plus the base fee), about 0.0173 ETH. 0.8% of the tokens bought are burned. A sell right after pays no royalty. On a pool with LP Rewards at their 10% maximum and Auto Burn off, the same 10% royalty is 0.8% of each buy.
For integrations
The recipient can be a contract, as long as it can call the claim. Every buy logs the royalty it paid, so a dashboard can track it pool by pool.
Managed fee
How it works
The managed fee is an extra LP fee on buys and sells that starts at the creator’s starting fee. Hookr’s keeper raises it when the pool’s price moves fast and steps it back when it calms, inside limits the creator fixes at launch. Each update is capped in size, spaced in time and lasts a set time, and the fee falls back to the starting fee when the last update runs out. All of it goes to LPs. It takes the pool’s one add-on slot, so it can’t sit on the same pool as Tax + Conversion.

What creators set
- Cap: default 1%, up to 5%.
- Starting fee: default 0.05%.
- Extra premium on buys or on sells: default 0.
- Largest change per update: default 0.1%.
- Shortest time between updates: default 60 seconds, at most 1 day.
- Longest an update lasts: default 1 hour, at most 72 hours.
- All of it is frozen at launch.
Use it for
- An extra LP fee for a new token’s LPs from day one, under a cap traders can check.
- Charging more on one side of the trade, with a premium.
- A higher fee outside US market hours, with the optional tiers.
Example
A pool opens at the starting fee of 0.05% and stays there while the price is calm: if 10,000 USDG trades that day, LPs get 5 USDG on top of the base fee and Hookr gets nothing from it. If the price moved fast and Hookr’s keeper raised it to 0.3%, a 0.1% step limit would take three updates at least a minute apart: 0.15%, 0.25%, then 0.3%, and LPs would get 30 USDG on the same volume. An update that is not renewed runs out within the hour and the fee is back to 0.05%. On a Hookr token’s pool where nothing else pays Hookr, the Hookr minimum still applies.
For integrations
The live fee for each direction can be read on chain before a trade, so aggregators and quoters price it exactly. Every update is logged with its new fee and when it runs out.
Building your hook
Creators remix Hook Blocks into a hook of their own in the builder, without writing code, and a saved hook keeps a set of blocks on chain for others to launch under. None of these settings can change on a pool that is already open.

Hook Blocks builder
How it works
The builder is a board of Hook Blocks. You start from the default board, a preset or someone’s link, turn blocks on or off and set each one’s numbers inside the bounds the contracts enforce. That board is your hook. Any board can be shared as a link, and whoever opens it gets the same blocks and numbers to change and launch with. From the board you launch a new token, open pools for a token that already exists, save it as a saved hook or deploy it as a hook of your own. When a pool opens, its blocks and numbers are frozen for the life of the pool.

What creators set
- The board starts with dynamic fees and arb recapture (while its lane is open), at the base fee, Hookr’s share and the app’s starting values. Every other Hook Block starts off, King of the Pool included, until you turn it on. The add-on slot starts empty.
Use it for
- Remixing a hook you like: open its link, change one number and launch.
- Giving a community one board, so every member’s token launches with the same blocks.
- Starting from a preset and tuning it for a token that already trades elsewhere.
Example
A creator opens the builder on the default board, turns on King of the Pool inside its arb recapture with the pot it pre-fills, and launches. They send the link to a second creator, who changes the round to 7 days and launches a new token with that board. Each pool keeps the numbers it opened with for life.
Saved hooks
How it works
A saved hook is a named set of Hook Blocks kept on chain for Hookr’s shared hook. It says which core its pools run on, which of the five core blocks they may turn on, the highest fees they may charge, the add-ons and gates they may use, and whether arb recapture is allowed. A pool joins by naming the saved hook when it opens, and it is listed under it once its frozen settings fit. Saving again writes a new version, and every earlier version stays readable. A saved hook never changes a pool: pools that follow it swap and pay exactly as they would without it. Saving costs only gas, and a saved hook is also the template a hook of your own is deployed from.

What creators set
- Core: the standard one, or Buy/Sell Block’s.
- Blocks allowed: all five core blocks by default, or any subset of Anti-Snipe, dynamic fees, Auto Burn, LP Rewards and royalty.
- Fee ceilings: Hookr’s own by default, or lower.
- Add-ons: none by default, up to 4 to pick from. Each pool still runs one.
- Gates: the Multi-pool trade router by default, up to 4.
- Arb recapture: allowed by default.
- Listing: public by default, so anyone can list a pool that fits, or owner-only.
Use it for
- A launchpad that wants every pool under its name to follow the same limits, with a public list of those pools.
- A brand that keeps its set owner-only, so only its own pools are listed.
- A community standard that anyone can launch under and anyone can check.
Example
A community saves a public hook called “Community Standard” that allows only LP Rewards and Auto Burn and keeps LP fees under 5%. A member launches a token naming it, with LP Rewards at 2% and Auto Burn at 1%, and anyone lists the pool under it in one transaction that costs only gas. A second member names it too but turns on dynamic fees, so that pool can’t be listed. Later the community saves version 2 with Anti-Snipe allowed. The first pool still fits and stays listed, and version 1 stays readable.
For integrations
- A saved hook keeps Hookr’s hook address, so its pools route like any Hookr pool.
- An app can read a saved hook’s bounds and a complete default from chain, and pre-fill a launch from a partner’s saved hook.
Blocks that can’t be combined
How it works
Each pool runs one core and has one add-on slot, so some blocks exclude each other, and a few only work with another block on. The builder holds back a block that can’t join the board you have and says why. The contracts enforce the same limits when a pool opens. A Multi-pool launch gets around the one-slot and one-core limits, since each pool in it has its own board.

What creators set
- Add-on slot: one of Tax + Conversion, Buy/Sell Block, Market Guard, the market-hours fee, the managed fee, Swap Reward Mint, Zap Relay or a Hook Blocks Market block.
- Core: Buy/Sell Block’s same-block check runs on a core of its own, the round-trip core.
- King of the Pool: needs arb recapture, and on Hookr’s hook nothing else. It runs on the whole-pot core, or on Wallet Cap’s core beside Wallet Cap, so it can’t share a pool with Buy/Sell Block’s same-block check.
- Wallet Cap: runs on a core of its own, the whole-pot core with the cap added, so it can’t share a pool with Buy/Sell Block’s same-block check or keep a price history. Every pool of its launch takes it at the same share, and they all take arb recapture or none does.
- Creator royalty: needs LP Rewards, since it is paid out of them.
- Dev buy: new tokens only, and never on a Zap Relay target, which only its feeder vaults can buy.
- Dynamic fee ceiling: an add-on’s fee room is reserved first, so the widest dynamic fee setting doesn’t fit beside one.
- Own-hook blocks: Entry Ratio Guarantee opens pools on a hook of its own, without the board’s other blocks.
Use it for
- Checking a mix before spending gas on a launch that would fail.
- Splitting two add-ons you want across two pools of one Multi-pool launch.
Example
A creator wants a 5% buy tax and Buy/Sell Block on one ETH pool. The builder holds Buy/Sell Block back, since Tax + Conversion already has the add-on slot. The creator makes it a Multi-pool launch instead: the ETH pool carries the tax and a USDG pool carries Buy/Sell Block. A second creator turns King of the Pool on beside LP Rewards at 2%, and the round’s winner takes the whole pot, with no ceiling. LP Rewards keep paying the pool’s LPs on every buy.
Integrations
Wallets, aggregators, bots, launchpads, block developers and lending apps each have a way in. Every contract’s source is verified, one SDK builds the launch, swap and quote calls an app sends, every new admission goes through the timelock, and a pool’s blocks never change after it opens.

Trade through the Universal Router or Hookr’s router
How it works
Every Hookr pool is a Uniswap v4 pool, so it trades through Uniswap’s Universal Router as well as through Hookr’s own router. Hookr’s hook knows the Universal Router by its address and code, and asks it who called it. That caller is the swap’s named trader: refunds on a partial fill, its share of arb recapture and a shot at the King of the Pool crown all go to it. Through Hookr’s router the caller is the named trader too, and a signed swap that any relayer submits names its signer. Any other router can still trade a Hookr pool, but unnamed: no trader share, no crown, and a partial fill that owes a refund reverts. Every pool trades through both routers from the moment it opens. A pool with arb recapture needs a higher gas limit, the floor the pool reports on chain plus the swap’s own gas, which a gas estimate finds. Only the gas used is paid.

Use it for
- Wallets: send Hookr trades through the Universal Router they already use, and their users stay the named trader.
- Aggregators: route Hookr pools beside other v4 pools. The aggregator’s contract is the named trader, so it claims the trader’s share and passes it on.
- Bots and apps: trade through Hookr’s routers with a payer, a recipient and exact bounds, or across a Multi-pool launch’s pools in one trade.
- Relayers: submit signed swaps for users who hold no ETH for gas, for a fee the user signs.
Example
A wallet user buys through the Universal Router on a pool with arb recapture, and the buy opens a gap that the arb recapture trades back. The trader share of that profit is credited to whoever called the Universal Router. Called from the user’s wallet, the user claims it. Called from an aggregator’s contract, the contract claims it and passes it on. Through a router Hookr does not know, nobody is named and the LPs get the trader share too.
Quotes for aggregators and wallets
How it works
HookrQuoter gives the exact result of a swap on any Hookr pool before anyone sends it. It answers in the shape of Uniswap’s V4Quoter: quoteExactInputSingle and quoteExactOutputSingle, with the same parameters and the same selectors, so a router that already reads Uniswap v4 pools reads Hookr pools the same way. It runs the real swap, with every Hookr fee and both arb recapture phases, then reverts it, so nothing changes on chain and the answer is what the swap delivers at that state, to the wei. There is no quote flag, so no real trade can borrow the quote path to skip a fee or an arb recapture. Call it from the address that will trade, with empty hook data. Two more calls, quote and quoteDetailed, take Hookr’s router shape, and quoteDetailed also reports the arb recapture credit the trader would get, which lands as a claim, not as output. The gas figure a quote returns is for ranking routes, not a gas limit, since a pool with arb recapture needs its lane floor. A route through several Hookr pools is a chain of single quotes, and an exact-input quote that a pool can only partly fill reverts, as Uniswap’s quoter does. Every pool can be quoted from the moment it opens, and quoting is free.
Use it for
- Aggregators: price Hookr pools with the same call they already make to Uniswap’s quoter, with every fee already in the price.
- Wallets: show the exact amount out, every fee and the burn included, before the user signs.
- Bots: read the arb recapture credit a trade would earn before sending it.
Example
An aggregator prices a 1 ETH buy on a pool with LP Rewards and Auto Burn. It calls quoteExactInputSingle from the Universal Router’s address with empty hook data. The amount out already nets Hookr’s share, the LPs’ fees and the tokens that burn. If the route is sent at that state, the buyer gets exactly that amount, and Hookr earns its share only if the trade is sent.
The SDK and public ABIs
How it works
The SDK is TypeScript on viem. It builds the calls for launches and Multi-pool launches, swaps and quotes. A plain claim or claimTo on a pool’s core has no builder: call it yourself. Every core block setting comes with its range and default, and the encoders refuse a value the contracts would refuse, naming the setting. Its ABIs and release constants, such as Hookr’s cut of arb recapture, come from the build that deploys. It holds no wallet and signs nothing. Every Hookr contract’s source is verified on Blockscout and Sourcify before the app goes live, so every ABI is public.

Use it for
- Launchpads and apps: build a launch in one transaction and check it against the chain before the user signs.
- Trading bots: build bounded swaps and quotes against Hookr’s own router and quoter.
- Indexers and dashboards: decode every event with ABIs taken from the verified source.
Example
An app launches a new token on two pools, one quoted in ETH with 1 ETH of seed and one in USDG with 3,000 USDG. The SDK checks both pools against the launcher’s limits offline and runs the launch as a dry call against the chain. It returns exactly what the launcher will pull: 1 ETH as the transaction’s value, since the launch fee is 0, and a 3,000 USDG allowance. It then encodes the one transaction that opens both pools.
How to integrate

- Route trades: send them through Uniswap’s Universal Router or Hookr’s router, with the higher gas limit on arb recapture pools. hookr.fun/docs/pools/sdk
- Quote: call quoteExactInputSingle or quoteExactOutputSingle on HookrQuoter from the trading address, with empty hook data. hookr.fun/docs/pools/sdk
- Launch: build the launch with the SDK and send it to Hookr’s launcher. hookr.fun/docs/pools/multi-pool-launch
- Own hook: save a hook or deploy an owned root. hookr.fun/docs/pools/owned-roots
Combos to start from
Each of these combos is a board to start from: set it up in the builder, change any number inside its bounds, and launch. Every one fits the limits the contracts check when a pool opens. Most start from the core board, Anti-Snipe, dynamic fees, LP Rewards and Auto Burn at their defaults, and change a few blocks.

Daily crown
Who it’s for
A community token that wants a daily contest holders can follow on chain.

The blocks
- A new token on one ETH pool, on the core board.
- King of the Pool on at its defaults: daily rounds and a pot filled from arb recapture.
- The add-on slot empty.
Why they work together
Arb recapture fills the pot with profit outside bots would otherwise take, and the round’s biggest buy takes all of it. LP Rewards and Auto Burn pay LPs and holders on every buy beside it. A round nobody wins releases part of the pot to LPs.
Example
During one day a wallet buys 5 ETH, and later another buys 8 ETH. When the round closes, the 8 ETH buyer takes the crown and is credited the whole pot. Had that buyer sold on the pool in the same transaction, the lead would have gone back to the 5 ETH buy. The 8 ETH buy paid Hookr 0.048 ETH through LP Rewards and Auto Burn, so referral campaigns on Hookr’s share can pay it back at most 0.024 ETH.
Stock-quoted token
Who it’s for
A community around a stock that wants its token priced in the stock token its holders already hold.

The blocks
- A new token on a Multi-pool launch: one pool quoted in NVDA, the Robinhood stock token, and one in ETH, both on the core board.
- On the NVDA pool, the market-hours fee in the add-on slot, on the NYSE calendar: nothing extra in regular hours, 0.2% before the open and after the close, 0.4% overnight and 1% on closed days.
- Arb recapture on both pools.
Why they work together
Stock-token holders buy without selling first, and ETH holders use the other pool. While the stock market is shut, the stock token’s price can jump at the open, and the market-hours fee pays the NVDA pool’s LPs for carrying that, with no keeper. Arb recapture trades gaps between the two pools back in line inside the same swap.
Example
At 2:00 New York time on a Tuesday, a trader buys with 10 NVDA. Hookr takes 0.06 NVDA through LP Rewards and Auto Burn, and 9.94 NVDA reaches the pool. Leaving any dynamic fee aside, LPs earn 2.3% of it, 0.22862 NVDA: the base fee, what is left of LP Rewards after Hookr’s share and the 0.4% overnight surcharge. The same buy at 11:00 pays LPs 0.18886 NVDA.
More Hook Blocks and launches
Or deploy your own hook. An owned root is your own hook address running Hookr’s hook with your blocks, set up in one transaction. Owned roots start without arb recapture, and self-serve deploys are live.
The blocks below are live: Canonical Venue Token, Buy/Sell Block, Wallet Cap, Market Guard, best route, limit orders, Swap Reward Mint, Zap Relay, Entry Ratio Guarantee, the recovery reserve, Pay Later, Tax + Conversion, Revenue Router, Vesting Milestone and the Hook Blocks Market.
Developers can sell add-on blocks to every creator through the Hook Blocks Market.
- Build a block: pass the conformance kit, then start a partner review. hookr.fun/integrations
A creator can also launch on a plain v4 pool, or as a token that trades in one place.
Buy/Sell Block, Market Guard, Swap Reward Mint, Zap Relay and the market-hours fee each use a pool’s one add-on slot, so a pool carries at most one of them. The builder shows which blocks can’t be combined.
Your own hook
How it works
Hookr’s shared hook needs nothing deployed. A creator who wants a hook address of their own deploys an owned root: Hookr’s hook unchanged, with its own fee contract, running the set of Hook Blocks in a saved hook. It is deployed and registered in one transaction. It is public or owner-only from the start, and its owner can pause new pools and hand it on in two steps, but can never change a pool that is already open. Owned roots start without arb recapture, and each one’s lane opens through the timelock with an executor that serves any registered hook. Saved hooks and self-serve owned-root deploys in the app are both live.

What creators set
- The saved hook it runs: which core blocks are allowed, with fee caps no higher than Hookr’s own, up to 4 add-on blocks and 4 gates to choose from, and whether arb recapture is allowed. Each pool still has one add-on slot, and the builder shows blocks that cannot be combined.
- Access: public, or owner-only. A public hook must allow Anti-Snipe, dynamic fees, LP Rewards and the creator royalty, and may leave out only Auto Burn. A narrower menu deploys owner-only.
- The owner and a pause for new pools.
- The deploy fee: 0 ETH at launch, and the builder shows the fee as read from chain. Hookr can set it between 0 and 1 ETH for later deploys, through the timelock.
- Limit: 500 owned roots in total.
- Not settable: Hookr’s share floor. Pools on an owned root pay Hookr at least the same share of Hook Block fees as on the shared hook.
Use it for
- A launchpad or app that wants its own hook address and its own menu of blocks.
- A brand that wants an owner-only hook for its own pools.
- A smaller, curated menu for its owner’s pools, such as an owner-only hook that only allows Anti-Snipe and LP Rewards.
Example
A launchpad deploys a public owned root that allows Anti-Snipe, dynamic fees, LP Rewards, the creator royalty and Auto Burn. A creator launches a token on it with LP Rewards at 2%, and its Hook Blocks charge exactly what they charge on Hookr’s hook. The hook earns the launchpad nothing by itself. It earns as a creator through a royalty, or as an LP.
For integrations
- An owned root is a new hook address. Routers and Uniswap’s hook list treat it as a new hook, and until its lane opens its swaps carry no arb recapture gas floor.
Plain v4 launches
How it works
Hookr’s launch flow can also open a plain Uniswap v4 pool with no hook. In one transaction that reverts as a unit, it creates the token or takes an existing one, opens the pool at the creator’s price, seeds the founding position and can run the creator’s first buy. No Hook Block runs on these pools, so traders pay only the pool’s LP fee. Hookr’s launcher holds the founding position for the creator, and its principal can leave only to the launch owner after the lock. Every fee the founding position pays out splits 80% to the creator’s fee recipient and 20% to Hookr, and other LPs keep all of their own fees.
What creators set
- Quote: any quote Hookr accepts.
- LP fee: 0% to 10%, 0.3% by default.
- Tick spacing: 1 to 32,767, 60 by default.
- Opening price and founding band: by default the widest band holding only the token, so no quote is needed.
- Principal lock: 0 to 2,628,000 blocks, about a year. None by default.
- First buy: optional, with a minimum out.
- Fee recipient: any account, changeable later by the launch owner.
Use it for
- Launch on a plain v4 pool that every router and aggregator already knows how to trade.
- Keep fees simple: one LP fee and nothing on top.
- Start a token with only tokens in the pool and a locked founding position.
Example
Nia launches a new token on a hookless USDG pool at the default 0.3% fee, with only tokens in the founding band and a 7-day lock (50,400 blocks). Buyers spend 10,000 USDG while only her founding position is in range, so it earns 30 USDG in fees. Anyone can push them out: Hookr gets 6 USDG and Nia’s fee recipient 24 USDG. LPs who add to the pool later keep every fee their own positions earn.
For integrations
- The pools are standard Uniswap v4 pools, so every v4 router, quoter and aggregator trades them, with no Hookr contract on the swap path.
- Anyone can push the founding position’s fees to the creator’s recipient, and anyone can pay Hookr’s share on to the treasury.
Canonical Venue Token
How it works
A Canonical Venue Token is a new fixed-supply token that can enter or leave Uniswap only through its one Hookr pool, fixed when the token is created. Wallet-to-wallet transfers work like any ERC-20, but any other attempt to move it into or out of Uniswap reverts, through a router, another pool or a direct transfer. All of its trading and liquidity go through one settlement contract, the only path the token lets across. The pool itself is a normal Hookr pool with the usual Hook Blocks, opened through the existing-token path, so it takes no dev buy and never pays the Hookr minimum. The token side of LP fees is paid as claims, so a donation to the pool can’t come back out as the token. None of its contracts has an owner or an admin, so nobody can change the venue later.

What creators set
- Name (up to 64 bytes), ticker (up to 16 bytes) and a fixed supply.
- Quote: ETH by default, or any quote the registry accepts.
- Tick spacing: 60 by default.
- Founding range, opening price and amounts.
- Hook Blocks: Anti-Snipe, dynamic fees, Auto Burn, LP Rewards and royalty, inside the usual limits, and Hookr’s share of their fees.
- Arb recapture: on by default, with an opt-out.
- Add-on slot: left empty.
Use it for
- Assets meant to trade on one known venue, with one pool and one price to watch.
- Gather a token’s Uniswap liquidity in one pool instead of spreading it across copies.
- Make sure anyone who takes the token out of Uniswap bought it in its own pool, under that pool’s Hook Blocks.
Example
Ola launches VENUE as a Canonical Venue Token on ETH with a 0.3% base fee, Auto Burn 1%, LP Rewards 2%, a royalty of 5% of LP Rewards to the team wallet, and a 25% share. A trader buys with 1 ETH through the settlement. Hookr takes 0.0075 ETH and the royalty 0.00075 ETH, so 0.99175 ETH reaches the pool. LP Rewards of 2% less Hookr’s 0.5% and the 0.075% royalty leave 1.425%, so LPs earn (0.3% + 1.425%) × 0.99175 = 0.0171077 ETH, and 0.75% of the VENUE bought is burned. Anyone who tries to buy VENUE through another pool, or to pull it out of Uniswap any other way, gets a revert.
For integrations
- Standard routers, Hookr’s own router, the position manager and aggregators can’t settle this token. Apps send its swaps and liquidity through the venue’s settlement contract.
- LPs turn token-side fee claims into the quote with the venue’s claim sale, which sells them on the pool.
- Wallet transfers are plain ERC-20 transfers, so wallets and explorers need nothing new.
- On a pool with arb recapture, a venue swap must carry the lane’s gas floor, which the root reports for each pool.
Buy/Sell Block
How it works
Buy/Sell Block stops a wallet from buying and selling the same pool in the same block. In the default mode it works both ways: a buy blocks that wallet’s sell until the next block, and a sell blocks its buy. A creator can also pause buys or lock sells for the first blocks after launch. It never charges a fee, and nothing can lengthen a window after launch: a sell is refused only inside the sell lock or right after the same wallet’s buy in the same block. Removing liquidity is never refused, and a round trip split across two wallets is not caught.

What creators set
- Same-block round trip: off, sell after buy, or both ways. Default both ways.
- Buy pause: 0 to 300 blocks after launch, about an hour. Default 0. The launch’s own dev buy is exempt.
- Sell lock: 0 to 5 blocks after launch, about a minute. Default 0.
Use it for
- Stopping the one-wallet buy-then-sell in a single block that sandwiches and quick flips use.
- A quiet start, where public buys open up to an hour after the launch.
- Keeping launch-block buyers from selling into the next buyers in the first minute.
Example
TKN launches at block 1,000 on a default pool with the round trip both ways and a 5-block sell lock. A buyer from block 1,002 can sell from block 1,005. At block 1,060, past the launch guard, a bot buys 1 ETH of TKN and tries to sell in the same block, and the sell is refused. In block 1,061 its sell fills. Hookr took 0.006 ETH on the buy, and Buy/Sell Block charged nothing.
For integrations
The block keys each trade by the account the pool sees as the trader plus the transaction’s sender. Two users of one router don’t block each other as long as each sends their own transaction. Smart accounts that trade through one shared contract through one bundler share a key, so one account’s buy can hold back another’s sell until the next block. A route should never buy and sell the same pool in one transaction, because the second swap reverts.
Wallet Cap
How it works
While a pool’s launch guard lasts, no wallet can buy more than a set share of the token’s supply, counted across every pool of the launch. Each buy counts against the wallet that pays for it: the trader Hookr’s router, a gasless swap or the Uniswap router names, or the wallet that signed the transaction on any other router. Selling frees no room, and neither the creator’s dev buy nor arb recapture counts. The cap ends with the guard. Wallet Cap runs on a core of its own, the whole-pot core with the cap added, so the core blocks and King of the Pool run on it as usual.
What creators set
- Cap per wallet: 0.1% to 10% of the supply, in 0.1% steps. Default 2%. The launch turns it into an amount of tokens, and the pool keeps that amount.
- Guard: Anti-Snipe’s launch guard, at least 8 parent blocks. A pool without a guard gets one for about 3 minutes.
Use it for
- A launch where no one wallet can take a big share of the supply in its first minutes.
- Spreading the first buys over more wallets, beside Anti-Snipe’s tax.
Example
A creator launches a token with a supply of 1,000,000,000 in an ETH pool and a USDG pool, with Wallet Cap at 2%. While the guard lasts, each wallet can buy up to 20,000,000 tokens across both pools. A wallet that buys 15,000,000 in the ETH pool can buy 5,000,000 more in the USDG pool, and a buy past that is refused. Selling 10,000,000 frees nothing. Once the guard ends, any wallet can buy any amount.
For integrations
- A buy past the cap reverts with
GuardWalletLimit(wallet, actual, limit), in the token’s raw units. - The cap is the pool’s
potMinBuyQuotein itsRulesConfig. A wallet’s count is read from the core withextsload, at the slots hookr.fun/docs/pools/wallet-cap gives. - The cap limits each paying wallet, not each person.
Market Guard
How it works
Market Guard compares the pool’s price with a Chainlink price feed on every swap. Around the feed price sits a band. A swap that pushes the price past the band’s edge pays a surcharge as an LP fee, rising from zero at the edge to the full rate one ramp further out. The guard prices this before the swap by walking it across the pool’s liquidity and averaging over the input, so splitting a trade doesn’t avoid it. A swap back toward the band pays nothing extra. If the feed’s last price is older than the pool’s age limit, a pool on the default setting refuses swaps, sells included, until the feed updates.

What creators set
- Band: 0.5% to 50% each way around the feed price. Default 10%.
- Ramp: 0.5% to 50% past the band before the full surcharge. Default 10%.
- Surcharge at full ramp: up to 5%. Default 1%.
- Price age limit: 60 seconds to 25 hours. Default 25 hours.
- Minimum depth before the edge: off by default. Below it a swap pays the full surcharge.
- Feed: Chainlink’s ETH/USD, for WETH/USDG pools and USDG pools quoted in ETH or WETH.
Use it for
- A WETH/USDG pool on Hookr that should stay near the ETH market price.
- Paying LPs more when a trade drags a pool away from the market.
- A USDG pool quoted in ETH that charges trades pushing it off the market price.
Example
A WETH/USDG pool runs Market Guard at the defaults. Its WETH price has drifted to about 25% above the ETH/USD feed, past the band and the whole ramp. A trader buys WETH with 1,000 USDG and pushes it further up. The guard charges the full 1%: 10 USDG of surcharge to the pool’s LPs, on top of the 3 USDG base fee. Hookr gets none of the surcharge. A trader who sells WETH into the same pool moves the price back toward the feed and pays no surcharge.
For integrations
Hookr’s quoter includes the surcharge, and the guard can preview the surcharge a given swap would pay right now. Expect swaps to revert while the feed is stale. On a pool with arb recapture, a recapture that would push the price past the band is skipped and the trade still fills. The admitted feed and its age limit are on chain, so an app can show both before a trade.
Best route
How it works
Best route compares one exact-input trade on a Hookr pool with the same trade elsewhere. It checks Uniswap v3 pools in four fee tiers, plain Uniswap v4 pools in six fee and tick-spacing settings, and one-hop paths through ETH or USDG. It runs each swap in a call that reverts, so nothing moves. If a route beats the Hookr pool by more than the margin, it returns that route as one Universal Router call for the trader to sign. The call ends with sweeps that send any leftover back to the trader. It has no fee, no owner and no say over any pool, and every swap works the same without it. In the trade panel a trader picks slippage of 0.1%, 0.5% or 1%, and the margin is half of it. The trade panel shows an offer only on a pool that runs no arb recapture.

Use it for
- A buyer gets the better price when the token also trades on a Uniswap v3 or plain v4 pool, without leaving the app.
- Large sells that one Hookr pool would move too far.
- A lending market or vault that has to sell a token gets one ready call at the best single route.
Example
A trader buys TKN with 1 ETH at 1% slippage, so a route has to beat the Hookr pool by more than 0.5%. A Uniswap v3 route that gives 0.4% more TKN is not offered, the trade stays on the default Hookr pool, and Hookr gets 0.006 ETH. If the v3 route gives 0.6% more, it’s offered as one Universal Router call. If the trader takes it, Hookr gets nothing and the v3 pool’s LPs earn its fee.
For integrations
Call it as a read. It takes slippage up to 50% and a margin of your own, or half the slippage by default. It holds no funds and keeps no state. An offer sends the output to whoever executes it, and through pools with arb recapture it names the gas limit the route needs. It never routes through, into or out of a quote asset Hookr has braked.
Limit orders
How it works
A trader escrows the full amount and an ETH bounty in Hookr’s order book. It sets the least it will take, the recipient and a lifetime of 1 minute to 365 days, 7 days by default. The bounty is up to 1% of the order’s ETH side, 0.1% by default, or a flat amount up to 0.01 ETH when neither side is ETH, 0.0005 ETH by default. Anyone can fill the order once the pool can pay that minimum after every fee, and the whole order fills in one swap through Hookr’s router. The output goes straight to the trader’s recipient and the bounty to the filler, and the trader can cancel any time, expired or not, to get both back. On a pool with arb recapture, the trader’s share of the recapture goes on to the recipient in the same call. Any King of the Pool prize the book wins goes to the protocol, since the book can’t tell which order earned it. Every pool on Hookr’s hook and on owned roots takes orders, including pools launched before the book. Hookr’s keeper fills an order once it reaches its price and the bounty covers the gas, and anyone can fill it first.

Use it for
- Buying a dip: park ETH for a token at a lower price and walk away.
- Taking profit at a target price without watching the chart.
- Keepers earning bounties by filling other people’s orders.
Example
Ana places a 1 ETH buy order for TKN on a default pool with her limit and the default bounty, so she escrows 1.001 ETH. Two days later TKN dips far enough that the pool can pay her limit after fees, and a keeper fills the order. Ana gets at least her limit in TKN, the keeper is credited 0.001 ETH, and Hookr takes 0.006 ETH from the buy in the pool. Had TKN never dipped, Ana could cancel at any time and get the full 1.001 ETH back.
For integrations
Keepers check whether an order can fill with the book’s fill quote. On pools with arb recapture they take the gas limit from a gas estimate, since the lane floor must still be there when the swap reaches it. Bounties build up in the keeper’s balance in the book until it claims them. Wallets can place orders for their users, only an order’s owner can cancel it, and the book has no owner, admin, pause or upgrade.
Swap Reward Mint
How it works
A creator attaches a reward program to a pool at launch. It sets a reward token, a rate, a per-swap cap, a lifetime cap, an optional end time, and a slice for buys and one for sells. Every charged trade pays its side’s slice in the pool’s quote, held in that trader’s reward account. Anyone can settle an account: the program mints the reward to the trader at the fixed rate and splits the slice, 80% to the creator and 20% to Hookr. In trader mode, any slice the program can no longer reward goes back to the trader. When the lifetime cap is spent or the end time passes, the slice switches itself off.

What creators set
- Buy slice and sell slice: each 0% to 5% of the trade’s quote side, at least one above zero. Default 1% each.
- Reward token: one that reward programs can mint. An ordinary ERC-20, a token launched on Hookr included, can’t be used. The creator brings a token that answers isRewardMinter and mintReward, or makes one in the launch form. Either way, its owner lets the pool’s program mint before the pool opens.
- Making a reward token: Hookr’s reward token maker takes a name and a symbol and, in one transaction, makes a token the creator’s wallet owns, with no supply to start. Its owner can then lock its list of minters for good: a locked list takes no new minter and drops none, so lock it only once the pool’s program is let mint.
- Rate: reward tokens per unit of quote paid. Default one for one.
- Per-swap cap and lifetime cap on rewards: required, no default.
- End time: optional.
- Who earns: the trader. The contracts can also pay one fixed address, which the launch form doesn’t offer.
- Market-hours surcharge on the same pool: optional.
Use it for
- Trading rewards in a project’s own token for the first months after launch.
- A loyalty token that buyers earn and the creator later uses for perks.
- Funding the creator from sells as well as buys, with a sell slice.
Example
A creator launches TKN on a default pool with Swap Reward Mint at a 1% buy slice and reward token RWD. Ana buys with 1 ETH through Hookr’s router. Her slice is 0.01 ETH, held for her reward account, and the buy pays the pool’s own fees as usual. When anyone settles her account, she is minted 0.01 RWD at the default rate, or 10 RWD if the creator set 1,000 RWD per ETH. The creator gets 0.008 ETH and Hookr 0.002 ETH.
For integrations
In trader mode a swap pays the slice only when the account that pays for it also receives its tokens, and the reward goes to that account. Through Hookr’s router or a gasless swap, a swap that sends its tokens to another address pays no slice and earns nothing, and so does a limit order fill. Through Uniswap’s Universal Router the pool always sees the caller as the receiver, so the caller pays the slice and earns the reward even when its tokens go elsewhere. A Multi-pool trade that converts through another pool pays no slice on that conversion. A contract that pays and receives for itself, such as a vault, an escrow or a smart account, earns the rewards itself, and keeps for good any reward or refund it cannot move. A swap that reaches the pool any other way pays no slice and earns nothing, and neither does an exact-output sell. Anyone can settle any account, so an app can settle for its users after their trades.
Zap Relay
How it works
On a source pool, every buy pays a cut into a zap vault, while sells pay nothing and LPs get none of it. On the target pool, only the vaults named at launch can buy, and anyone can always sell. Once a vault holds its threshold, anyone can trigger a zap and earn the zapper reward, and Hookr’s 20% comes off first. The vault buys the target token through Hookr’s router inside a price-rise limit. It then sends the tokens to a burn address, or adds them with the other half of the budget as full-range liquidity that can never be removed. Nothing in it has an owner, an admin or a rescue path.

What creators set
- Source cut: 0.0001% to 10% of each buy. Default 1%.
- What a zap does: buy and send to a fixed address, the burn address by default, or buy and add permanent liquidity.
- Price-rise limit: 0.01% to 20% per window. Default 5%. Window: 1 to 300 blocks, default 1.
- Zapper reward: 0% to 1% of the quote a zap puts to work. Default 0.5%.
- Threshold: the saved amount that allows a zap. The app starts it at about 0.5 ETH's worth: 0.5 ETH, 1,200 USDG or 72,000 HOOKR, and 1% of the pool's quote depth on a quote with no reviewed price.
- Per-zap cap: off by default.
- Target pool: 1 to 4 vaults allowed to buy. Default 1. Each vault is one transaction of about 3.3M gas, made before the target opens. No dev buy on a target pool.
- Market-hours surcharge on either pool: optional.
Use it for
- Burning a community token with 1% of every buy on a newer pool.
- Growing permanent liquidity for a token out of another pool’s buy flow.
- Up to four pools feeding one target, so several launches support one token.
- Keepers earning the zapper reward.
Example
TKN’s default pool carries a 1% Zap Relay cut into one vault. The vault’s target is a new pool for BRN that only the vault can buy. The vault is set to buy and burn, with a 1 ETH threshold, the 0.5% zapper reward and the 5% price-rise limit. Buyers spend 100 ETH on TKN’s pool, so 1 ETH is saved. A keeper triggers the zap and Hookr’s 0.2 ETH is set aside. About 0.796 ETH buys BRN through Hookr’s router, the BRN goes to the burn address, and the keeper earns about 0.004 ETH. If BRN’s pool is too thin to take 0.796 ETH inside the 5% limit, the zap buys what fits and the rest waits for the next window.
For integrations
Buys on a target pool revert unless they come from one of its vaults, so routers should only send sells there. Anyone can trigger a zap once a vault holds its threshold, and the reward is a public race. Show whether a route is live before showing a source pool’s cut, because a cut saved for a vault its target never lists can’t be spent.
Entry Ratio Guarantee
How it works
An LP in a guarantee pool can exit with the same token amounts it put in, instead of the pool’s current mix. The pool’s reserve pays the token the LP ran short of and takes the same share of the token it gained, at the position’s own rate. The reserve fills only from fees LPs give up: every LOCK exit gives up all its fees, and an OPTION exit gives up all of them if it uses the guarantee and a set share if it doesn’t. LOCK keeps the deposit in for the lock period, while OPTION can leave after a short hold and use the guarantee inside its window. Cover is best effort, not insurance, limited by what the reserve holds, the pool’s coverage share and a cap on what all exits may draw in an hour. These pools run on their own hook with a static fee, apart from Hookr’s shared hook, so the shared hook’s other Hook Blocks and arb recapture don’t apply to them.

What Hookr set
The first wallet to register a pool on the hook sets its terms, frozen for good. Hookr registered both ETH/USDG pools, at 0.30% and 1%, with every default below, and the app offers deposits only in those two.
- LOCK length: 1 to 730 days. Default 30 days.
- How long a LOCK LP can still ask after its lock: forever by default, or 1 to 730 days.
- OPTION hold: 1 hour to 730 days. Default 1 day.
- OPTION window to use the guarantee: 1 hour to 730 days. Default 7 days.
- Share of fees an OPTION exit gives up without the guarantee: 10% to 100%. Default 25%.
- Coverage of a shortfall: 0.01% to 100%. Default 100%.
- Most that all exits may draw from the reserve in one hour: 0.01% to 100%. Default 10%.
- Hookr’s share of the fees given up: 20% to 50%. Default 20%. When the reserve pays out, a small part stays with the reserve before Hookr’s share.
- Price reference: one that Hookr allowed for the pair. Deposits and guarantee exits open only while the pool’s price is close to it. At launch the references cover ETH/USDG, where 0.30% and 1% pools work and 0.05% pools don’t.
Use it for
- Earning ETH/USDG fees without ending up all in one token after a big move.
- A 30-day LOCK program where LPs trade their fees for the right to their entry amounts.
- OPTION for LPs who may leave after a day but want a week to decide.
Example
Ben deposits into the ETH/USDG 0.30% guarantee pool on OPTION terms. After the one-day hold his position has earned fees worth 1 ETH, and the price has barely moved, so he exits without the guarantee. He gives up 25% of his fees, worth 0.25 ETH: 0.05 to Hookr and 0.20 to the reserve. Ben leaves with his liquidity at the pool’s mix and fees worth 0.75 ETH. Ana deposits on LOCK terms for 30 days. If she exits without the guarantee, the same 1 ETH of fees sends 0.20 to Hookr and 0.80 to the reserve. If ETH has moved and she asks for her entry amounts, the reserve pays what she is short. When the reserve holds enough and its hourly cap has room, she leaves with her entry amounts, to within one unit of each token.
For integrations
Swaps never call the guarantee hook, so routers trade through these pools like any plain v4 pool, and Uniswap’s Universal Router needs nothing special. Price references read the time-weighted price of a Uniswap v3 pool on the same pair. previewExit shows what an exit pays, with or without the guarantee, before the LP signs. Positions can’t be transferred or partly exited. Hookr’s registry records the hook so apps can find it.
Recovery reserve
How it works
A pool’s owner can set aside a reserve, in ETH or one token, to pay back LPs or traders after an incident. The owner sets it up on the pool page after launch, and anyone can top it up. To pay out, the owner declares an incident with a signed review from a reviewer Safe, which locks part of the reserve, and claims open 30 minutes later. Each claim needs its own signed review naming who gets how much. After the claim window and a return delay, anything unclaimed goes back to the reserve. The owner can sweep the unlocked balance to its set recipient at any time, so the reserve is money set aside in public view, not a lock.

What creators set
The pool’s owner sets these.
- Token: ETH or one ERC-20 per pool.
- Reviewer: a contract signer such as a Safe. Required.
- Recipient: where the owner’s sweeps go.
- Most one incident may lock: 5% to 100% of the unlocked balance. Default 50%.
- Pool cap: 0.001 to 1,000,000 tokens. Default 50.
- Claim window: 1 hour to 30 days. Default 7 days.
- Return delay after the window: 1 hour to 30 days. Default 3 days.
- Funding share: 0% to 20% of a pool’s claims, default 5%. It is stored with the reserve, but nothing routes a pool’s claims in yet, so nothing enforces it. The reserve holds only what anyone tops it up with.
- Fixed: Hookr’s share is 0.
Use it for
- Showing LPs and traders, on chain, that money is set aside for a bad day.
- Paying back LPs after an exploit through a reviewed claims process.
- Letting a partner or the community top up the reserve of a pool they use.
Example
Leo sets up an ETH reserve for his TOKEN/ETH pool with the default terms and his reviewers’ Safe, and tops it up with 10 ETH. An incident costs some of his LPs. With the Safe’s signed review he declares it and asks for 5 ETH, the most the 50% cap allows, so 5 ETH is locked. Claims open 30 minutes later and run 7 days. The Safe signs three claims for 1.5, 1.2 and 0.5 ETH, 3.2 ETH in all. Three days after the window closes, anyone can close the incident, the 1.8 ETH left returns, and the reserve holds 6.8 ETH. Hookr takes nothing.
For integrations
Reviews are EIP-712 typed data. A signer’s wallet shows only the Safe’s hash of a review, so the app shows every field before anyone signs, and the copy for a signer elsewhere carries the fields with that hash to check. Anyone can call the top-up, in ETH or the pool’s token. It works on pools of Hookr’s shared hook and of owned roots, and each pool of a Multi-pool launch gets its own reserve. The owner is read live from the launch, so selling the launch moves control of its reserves with it.
Pay Later
How it works
Pay Later sells calls on the tokens a launch position earns in fees. The creator hands the launch to a Pay Later vault, which collects the position’s fees while the liquidity stays locked in the pool. Fees paid in the quote go to the creator, and fees paid in the token become the vault’s inventory. A buyer pays a premium now to reserve some of that inventory at a fixed strike for a set time. If the price rises, the buyer pays the strike and takes the tokens, in part or in full, and if not, anyone can expire the call and the tokens go back to inventory. The strike is the highest of the pool price and every price the vault recorded in its recent window, so a push inside one transaction can’t lower it. There is no loan, no margin and no liquidation, and the creator can take the launch back at any time without uncovering an open call. Taking it back is two steps, Take back and then accepting the launch, and the vault keeps selling until the second. The fees earned since the last collection reach the vault as pool claims, which the creator redeems and withdraws. What a vault earned stays the creator’s to withdraw after the launch moves on.

What creators set
Frozen per vault.
- Premium: 1% to 50% of the strike. Default 5%.
- Strike markup over the recent price: 0 to 50%. Default 0.
- Term: 5 minutes to 7 days. Default 1 hour.
- Price window for the strike: 1 to 64 blocks. Default 25, about 5 minutes.
- Top guard: no calls sell while the price is within this share of the top of the band, 0 to 50% and at least 5%. Default 10%.
- How much the calls can take per block, how long a recorded high counts, the order sizes and the inventory cap. The app sizes these from the band.
- Fixed: Hookr takes 20% of every premium. A vault takes a launch only while the top of its band is at least 10x the price, and only on a pool whose base fee is at least 0.04%.
Use it for
- Turning the tokens a launch position earns from sells into ETH without selling them into the pool.
- Giving buyers a cheap way to bet on a move: 5% now, the rest only if it pays.
- Keeping launch liquidity locked while it earns more than its fees.
Example
Noor’s launch position has built up TOKEN from sell fees, and she hands the launch to a Pay Later vault. A buyer reserves 10,000 TOKEN for an hour. The highest recent price is 0.0001 ETH, so the strike is 1 ETH for all of it, and the premium is 5% of that, 0.05 ETH: 0.01 to Hookr and 0.04 to Noor. Within the hour TOKEN trades at 0.00015 ETH. The buyer pays the 1 ETH strike, which goes to Noor, and takes 10,000 TOKEN worth 1.5 ETH. Had the price not risen, anyone could expire the call after the hour, the tokens would go back to inventory, and the buyer would be out 0.05 ETH.
For integrations
The vault never sits on the swap path, so it can’t slow or block a trade. quoteOpen returns the strike and premium before a buyer commits, and the factory’s isVault tells an app which vaults are real. Harvesting fees, expiring calls, paying Hookr’s share and recording the price with poke are open to anyone, and Hookr runs no keeper for any of them. A reservation needs a price the vault recorded in an earlier block inside its window. Swaps never record one, and the vault records it only on its own calls, so after a quiet spell referencePrice reverts with NoRecentObservation until someone calls poke, and the buyer reserves from the next block. Vaults take Multi-pool launches and launches on owned roots.
Tax + Conversion
How it works
Tax + Conversion is a buy tax and a sell tax the creator keeps, each set on its own. Buyers pay the buy tax on what they spend, sellers pay the sell tax on what they receive, and each tax can start higher at launch and fall to its rate over a set number of blocks. Taxes build up in a queue for each pool and direction, outside the trade, and anyone can settle it: Hookr’s share goes to Hookr and the rest to the creator’s recipient, in the pool’s quote. A taxed pool pays no Hookr minimum, and the block takes the pool’s one add-on slot. It is offered on any launch, for a new token or one that already exists.

What creators set
- Buy tax and sell tax: 0 to 10% each, default 3%.
- Launch rate: up to 10%, default 10%, falling to the tax over 1 to 100,000 blocks, default 300 (about an hour).
- Fall curve: front-loaded by default, or a straight line.
- Recipient: default the creator.
- Hookr’s share of each tax: the pool’s share of Hook Block fees. All frozen at launch.
Use it for
- Funding a team or a treasury from every trade.
- A high launch rate that cools off, then a low tax for good.
- A sell-only tax that pays the creator when holders leave.
Example
A pool launches with a 3% buy tax and a 3% sell tax, each falling from 10% over 300 blocks. About 30 minutes in, 150 blocks into the fall, the buy tax is 3% + 7% × 0.25 = 4.75%, or 6.5% on a straight-line fall. After the fall, a 1 ETH buy pays 0.03 ETH of tax on top of the pool’s other fees. When anyone settles the queue, Hookr gets 0.006 ETH and the creator 0.024 ETH. A sell that takes 2 ETH out of the pool pays 0.06 ETH, 0.012 to Hookr and 0.048 to the creator. Arb recapture trades on the pool pay the tax like anyone else.
For integrations
Settling and paying out are open to anyone, so a keeper or the creator’s own script can run them. Hookr’s quoter simulates the whole swap, tax included, so an aggregator’s quote matches what the trade delivers.
Revenue Router
How it works
A Revenue Router split shares whatever lands on it among 1 to 8 payees at fixed shares. Its address is known before it exists, so the creator names it as the royalty recipient at launch, and anyone can create it later at that address. Once created it has no owner and can’t be changed. It takes no fee and never runs inside a swap. Besides a royalty it can take the creator’s LP fees, a tax payout or any plain transfer. Each payee’s share is booked when the money is collected.

What creators set
- Payees: 1 to 8. Default one, the creator.
- Shares: each at least 0.01%, adding up to exactly 100%.
- A label per payee: creator, protocol, builder, referrer or strategy. A strategy payee collects its own share, and anyone can pay out the others.
- The royalty sent to it: the router suggests 10%, the most a pool allows.
Use it for
- Splitting a royalty between founders, a developer and a designer.
- Paying the app or builder that brought the launch, for as long as the pool trades.
- Sending a fixed part to a charity or a DAO treasury.
Example
A creator launches with a 10% royalty paid to a split of 50% founder, 30% developer and 20% community fund. Over a week, 10,000 USDG of buys at the default blocks send 16 USDG of royalty to the split. Anyone collects it, and the three payees can withdraw 8, 4.8 and 3.2 USDG. On the same buys Hookr gets 60 USDG from LP Rewards and Auto Burn, and nothing from the split.
For integrations
A builder, a frontend or a referrer can be a payee and get paid on every buy through the creator’s royalty, with no deal to enforce later. Collecting and paying out are open to anyone, so a keeper can do both for every payee.
Vesting Milestone
How it works
Vesting Milestone locks a team’s tokens in an escrow and releases them after a cliff, then in a straight line. Only the named beneficiary can take what has vested. After setup the creator can only slow it down, with a longer cliff or a longer vesting period, and each change goes through a timelock. It works for any token with a pool launched through Hookr, and it charges no fee. The creator turns it on at the launch’s Details step, then makes, approves and funds the escrow after the launch: on the launched screen, or later in Portfolio under Unfinished vesting.

What creators set
- Cliff: default 90 days, up to 365.
- Vesting period: default 365 days, 30 to 1,460.
- Cap on the amount: default 20% of supply, up to 50%.
- Beneficiary: fixed for good.
Use it for
- Team and advisor tokens that can’t unlock early.
- Partner allocations paid out over months, not all at once.
- Showing buyers a schedule they can check on chain.
Example
A creator locks 100,000,000 TOKEN for the team with a 90-day cliff and 365-day vesting. Nothing is releasable at day 90. Half, 50,000,000, is releasable at day 272.5, and all of it at day 455. Hookr gets nothing from the escrow, only its usual pool fees when those tokens are later sold.
For integrations
Every escrow is listed on chain, so explorers and dashboards can show each team’s lock.
Third-party add-on blocks
How it works
An add-on block is a contract that sits in a pool’s one add-on slot. On every swap it can add a fee that goes to LPs, take a fee of its own in the quote token or refuse the swap, and it can screen new liquidity. Outside developers test theirs with Hookr’s conformance kit, which runs it against a real Hookr hook and checks its fee cap, gas, failure handling and code. Hookr admits each one by its exact code through the timelock, and only if it isn’t a proxy and has no power over live pools. A pool picks one at launch and keeps it for life, and a revoke is instant but only stops new pools from picking it. Hookr takes none of an add-on’s own fee. Outside add-ons are admitted one at a time as they pass.

What creators set
- Add-on: one per pool, none by default, with its own settings picked at launch, inside the cap Hookr admitted it with.
- Each admission sets a fee cap (an LP fee up to 60%, a quote fee under 100%), a gas budget of 25,000 to 2,000,000, and whether a failure blocks the swap or charges the cap. Only an add-on that adds nothing but an LP fee may charge the cap.
Use it for
- A fee that pays your protocol on every pool that installs your add-on.
- A guard that refuses swaps outside a limit you define, like a price band.
- A surcharge for LPs at set hours, using Hookr’s market-hours calendar.
- Your block on many pools without deploying a hook, or one house add-on on every pool a launchpad opens.
Example
A developer’s add-on adds a 0.25% LP fee and takes 0.5% in the quote for itself. A creator launches a new token with it, no paying blocks and arb recapture off. On a 1 ETH buy, 0.005 ETH goes to the developer and 0.001 ETH to Hookr as its minimum. The other 0.994 ETH reaches the pool, and LPs earn 0.002982 ETH from the 0.3% base fee plus 0.002485 ETH from the add-on. On a token launched elsewhere, Hookr takes nothing from the same buy.
Hook Blocks Market
How it works
The Hook Blocks Market is where developers list add-on blocks for creators to install, with HOOKR bonds behind each one. A developer publishes a version with its permissions, its fee cap, its split and its risk tier, all fixed at publish, and Hookr admits its code through the timelock. The developer and its backers lock HOOKR behind it, sized by the tier. A version can be installed only while its bond covers its tier’s floor. Every swap in a pool that installed it pays the usage fee the creator chose, split between the developer, the backers who bonded HOOKR, Hookr and a reserve for that version. A bond can be slashed only for listed misconduct, like malicious code or breaking the permissions it declared, never because a block’s fees dried up. A slash needs a published proposal that waits out a timelock, and the guardian can veto it. Leaving takes 7 days’ notice, up to 90 days for installs to drain and a 30-day cooldown. On day one the market opens with Hookr’s own usage-fee block, and outside blocks list once they pass the conformance kit and review.

What creators set
- Block: one per pool in the add-on slot, picked at launch.
- Usage fee: 0.5% of the quote by default, from 0.0001% up to the block’s cap, 10% at most.
- Market-hours surcharge for LPs: optional, off by default.
- Developers set the block’s fee cap, its risk tier and its split: 30% to 60% to themselves and 10% to 40% to backers, 45% and 25% by default.
- Bond floor: 25,000 HOOKR for a block that sets fees or refuses swaps, with up to half off for a track record. Blocks that move assets or create credit need 100,000 and 250,000.
- Hookr and the reserve: 20% and 10% of every usage fee, fixed when the market deploys.
Use it for
- A developer earning on every pool that installs their add-on, without running pools.
- HOOKR holders backing a block they trust, for a share of its fees.
- A creator picking a reviewed, bonded add-on instead of unknown code.
Example
A developer publishes a usage-fee block with a 1% cap and the default split, and bonds 25,000 HOOKR. A creator installs it at 0.5%. A 1 ETH buy pays 0.005 ETH of usage fee: 0.00225 to the developer, 0.00125 to backers over the next 7 days, 0.001 to Hookr and 0.0005 to the block’s reserve. If the block ever breaks a permission it declared, a slash proposal is published and waits out its timelock, and the guardian can veto it before it takes any bond.
Arb recapture on your own hook
How it works
Arb recapture runs through a partner executor that Hookr’s registry opens for each root through the timelock. The executor serves any registered root, so an owned root can get arb recapture too. Before and after a swap on a pool with arb recapture, the hook calls the executor, which trades the pool back in line with other markets and pushes the profit back to the pool. The split works as on Hookr’s hook: 25% to the executor, 25% to Hookr and the rest to the pool. An owned root gets arb recapture once the registry opens its lane, and its pools opened before then never get it.

What creators set
- Arb recapture on or off per pool, on by default once the root’s lane is open. The trader share and the LPs’ payout over about an hour work as on Hookr’s hook.
- Hookr sets each root’s lane: its executor and a gas cap from 50,000 to 5,000,000. Hookr’s hook runs a 3,000,000 gas cap.
Use it for
- Brands and launchpads with their own hook that want arb recapture on their pools.
- Multi-pool launches on an owned root, with gaps between their pools recaptured in the same swap.
Example
A launchpad’s own hook is registered after launch, and Hookr queues its lane with the same executor. Once the lane executes, a pool opened on that hook with arb recapture on splits each recapture’s profit exactly as a pool on Hookr’s hook does. A pool the launchpad opened before the lane keeps trading without it.
Fair launch
Who it’s for
A meme or community token that wants a clean start, where bots and the team buy on the same terms.

The blocks
- A new token on one ETH pool, on the core board: Anti-Snipe, dynamic fees, LP Rewards and Auto Burn at their defaults.
- Anti-Snipe with the app’s per-block buy cap.
- Buy/Sell Block in the add-on slot: a wallet can’t buy and sell the pool in the same block, either way round, and nobody can sell in the first 5 blocks. It runs on its own core, which keeps every other block on the board.
- A dev buy, if the team wants one, inside the buy cap.
- Launch lock, forever, set right after launch, with the team’s Safe as beneficiary.
Why they work together
Anti-Snipe makes the first minutes expensive for bots, spreads early supply across many blocks, and pays its tax into the launch position. Buy/Sell Block stops the one-wallet buy and sell in a single block, and the sell lock keeps the first buyers from selling into the next ones. The team’s dev buy pays the same tax as everyone else. The launch lock shows the liquidity can never be pulled, while the Safe keeps collecting everything it earns, its share of arb recapture included.
Example
TKN opens at block 1,000. A bot buys in block 1,001, inside the guard, and pays the Anti-Snipe tax, most of which goes to the launch position. It tries to sell in the same block and is refused. The sell lock then holds its sell until block 1,005, so it can’t sell into the buyers right behind it.
Weekly crown with buy rewards
Who it’s for
A token that wants a bigger weekly contest and a reward for every buyer, not only the king.

The blocks
- A new token on one ETH pool, on the core board with Hookr’s share at 50%.
- King of the Pool on, with these settings:
- Pot: all of the pool’s half of each arb recapture, as on every King of the Pool pool.
- Round: 7 days.
- Release: half of the pot after a week with no king.
- Prize: the whole pot.
- Smallest buy that counts: 0.1 ETH.
- Swap Reward Mint in the add-on slot, with these settings:
- Slice: 1% of each buy and none of sells, earned by the trader.
- Reward token: one the creator deploys and owns, built to be minted by reward programs.
- Rate: 1,000 reward tokens per ETH, up to 500 per swap and 10,000,000 in all.
Why they work together
A week of arb recapture fills the pot, and the week’s biggest buy takes all of it. Swap Reward Mint pays every buyer. The reward and the crown both go to the account the pool sees as the trader, so a buy through Hookr’s router, a signed swap or Uniswap’s Universal Router can earn both. Hookr’s share at 50% means LPs keep half of LP Rewards instead of 80%.
Example
Say arb recaptures make 8 ETH of profit in a week. The executor keeps 2 ETH, Hookr takes 2 ETH and the pot gets 4 ETH. The week’s biggest buy is 20 ETH, so its buyer wins the whole 4 ETH pot. Its 0.2 ETH slice mints the buyer 200 reward tokens when anyone settles the account, and pays the creator 0.16 ETH and Hookr 0.04 ETH.
Creator economy token
Who it’s for
A creator or small team that wants steady income from trading and a public schedule for its own tokens.

The blocks
- A new token with 1,000,000,000 supply on one ETH pool, seeded with 850,000,000. The creator keeps the other 150,000,000, so there is no dev buy, which would cap what the creator can hold at 5%.
- The core board without Anti-Snipe, plus a 10% creator royalty.
- Tax + Conversion in the add-on slot, at its default buy and sell taxes, paid in ETH.
- A Revenue Router split, created before launch, as both the tax recipient and the royalty recipient: 50% to the founder, 30% to the developer and 20% to a community fund.
- Vesting Milestone for 100,000,000 of the team’s tokens, on its default cliff and vesting period.
Why they work together
The tax and the royalty land in one split, so every trade pays the team at fixed shares with nobody running payouts. The tax starts high and cools off over the first hour, so the earliest buys and sells pay the team more. Vesting puts the team’s own tokens on a schedule anyone can read.
Example
After the fall, each 1 ETH buy pays the split 0.0256 ETH, the creator’s part of the tax plus the royalty: 0.0128 for the founder, 0.00768 for the developer and 0.00512 for the community fund.
Charity token
Who it’s for
A token launched to fund a charity or a community fund.
The blocks
- A new token on one USDG pool, on the core board with a 10% creator royalty.
- A Revenue Router split as the royalty recipient: 50% to the charity, 30% to a community fund and 20% to the creator.
- Launch lock, forever, with the charity’s Safe as beneficiary.
Why they work together
The royalty pays the cause on every buy out of the LPs’ part, so buyers pay no more and sellers pay no tax. The split pays three parties at shares nobody can change. The lock keeps the founding liquidity in the pool for good, and every fee it earns, its arb recapture share included, goes to the charity’s Safe.
Example
Over a week, 10,000 USDG of buys pay the split its royalty, and half of that goes to the charity. Leaving any dynamic fee aside, and while the launch position is the pool’s only LP, the same buys pay it about 173 USDG of LP fees, which the charity’s Safe collects. Sells add the base fee, and arb recaptures add the LP share of their profit.
Deep liquidity for a token that already trades
Who it’s for
A project whose token launched elsewhere and wants deep Hookr pools that outside LPs commit to.

The blocks
- Pools for a token that already exists but has no Hookr pools yet: an ETH pool and a USDG pool in one launch, funded from the project’s wallet.
- Each pool on the core board without Anti-Snipe or Auto Burn, so outside LPs can add from the first block and buyers keep every token they buy.
- An opening-price check: the USDG pool must open within 1% of the ETH pool’s price, converted through a USDG/ETH pool.
- LP Time-Lock Boost on the ETH pool, paying USDG, with the widest lock range and the top boost. For a token launched elsewhere, Hookr first sets the token’s supply bound through a timelock.
- Recovery reserve: an ETH reserve on default terms, funded by the project, with its reviewers’ Safe.
Why they work together
LP Rewards pay LPs on every buy, and the Boost pays them for every week they stay locked, out of a budget nobody can take back. Arb recapture trades gaps between the two pools, and with the token’s other markets, back in line, and pays LPs part of the profit. The reserve shows money set aside for LPs and traders if something goes wrong. A token launched elsewhere never pays the Hookr minimum.
Example
The project funds the ETH pool’s gauge with 5,200 USDG for 52 weeks, about 100 USDG a week. An outside LP who locks a full-range position for 104 weeks earns three times what a 1-week lock of the same size earns, and keeps all of its swap fees. The project’s own launch position earns its share of the fees, but it can’t be staked in the Boost.
Trader-first pools
Who it’s for
A token whose holders trade often and want to pay little and get the most back.

The blocks
- A Multi-pool launch with an ETH pool and a USDG pool, each on the core board without LP Rewards or Auto Burn.
- Arb recapture with the trader share at 50%, the most a pool can give.
- The add-on slot empty.
- Multi-pool trades, exact quotes, limit orders, best route and signed swaps that any relayer can send, which every Hookr pool takes with nothing to turn on.
Why they work together
After the launch guard, buys pay the base fee and any dynamic fee and nothing else, and a trader whose own buy opened a price gap gets half of the pool’s part of the arb recapture profit. A limit order passes that share on to the order’s recipient. With the slot empty, a relayer can take its fee from a signed sell’s proceeds. Signed sells work on both pools and signed buys on the USDG pool, since a signed swap can’t spend native ETH. A big buy can fill across both pools in one Multi-pool trade instead of pushing one pool’s price.
Example
A trader’s 1 ETH buy moves the price up 10% and pays the base fee and the dynamic fee for that move. Say the arb recapture right after makes 0.1 ETH. With the trader share at 50%, the trader is credited 0.025 ETH, twice the default, and LPs get the other 0.025 ETH of the pool’s half over the next hour.
Burn relay
Who it’s for
A community token that newer launches want to back with their buy flow.

The blocks
- A new ETH pool for the community token, BRN, with the Zap Relay target in its add-on slot, listing up to four zap vaults as its only buyers. If BRN already has a Hookr ETH pool, the new one takes a tick spacing that pool doesn’t use. Anyone can sell into it. No dev buy and no arb recapture on this pool.
- Each vault: buy and burn, a 1 ETH threshold, and the default zapper reward and price-rise limit. The preset makes four, one transaction and about 3.3M gas each, about 13.3M gas in all, so set fewer if fewer sources will join.
- Up to four source pools, each a newer token’s ETH pool on the core board with the Zap Relay source in its add-on slot, sending 1% of every buy to its own vault.
Why they work together
Buyers of the newer tokens fund steady BRN buys on a pool where only the vaults can buy, and every BRN they buy is burned. The price limit keeps each zap from moving BRN too far, and holders can always sell into the target. Set up the vaults and launch the target before the sources, so no source pays into a vault the target doesn’t list.
Example
Four newer tokens each send 1% of their buys to their own vault, and each vault can zap once it holds 1 ETH. Every zap buys BRN on the target pool inside the price-rise limit and burns it, whichever source filled the vault.
Live today
Arb recapture is open on Hookr’s hook, so every new pool can launch with arb recapture and King of the Pool. Saved hooks and your own hook are live. The LP Time-Lock Boost is live. The managed fee and the market-hours fee are live.

Start in the builder. Open the default board, a combo or someone’s link, tune the numbers and take it into the launch flow, for a new token or for new pools on a token that already exists. Integrators can start with the Universal Router, the quoter and the SDK.
Hookr has been adversarially reviewed. It has not been externally audited.