ReservHook on Base

Uniswap v4 Hook Contract 0x267f4276afe3352e8e67985392265fb9400d65cc on Base · Fee sharing · Verified contract

Volume (24h)
$0
Value locked (TVL)
$0
All-time volume
$0
Pools using this hook
1
Swaps (24h)
0 (0 traders)
Total swaps
0

What it does

Every swap in the ETH/RSRV pool pays a fixed 1% hook fee (plus a launch fee of up to 10% fading to zero in the first hour), with the converted ETH split 64% donated to in-range LPs, 16% to a daily LP lottery, and 20% to a business draw, while LPs withdraw freely.

How it works step by step

  • Charges a 1% hook fee on the non-specified side of every swap in the single ETH/RSRV pool.
  • Adds a launch fee of 10% in the pool's first block, falling linearly to 0% over 1,800 blocks (about one hour), paid to the owner treasury.
  • Converts collected RSRV fees to ETH by selling them to later ETH-to-RSRV buyers at the pool price, then splits all fee ETH: 20% to a fixed business draw contract, 16% to an LP prize pot, 64% donated to in-range LPs.
  • Runs a daily no-loss lottery via Chainlink VRF that pays the prize pot to one PositionManager LP, weighted by liquidity times time in range.
  • Only a fixed initializer (the Liquidity Launcher strategy) can create the one pool.
Swap behaviour
Each swap pays an extra 1% of the unspecified amount to the hook, plus a decaying launch fee of up to 10% during the first hour; ETH-to-RSRV buyers may be partly filled from the hook's held RSRV fees at the current pool price without the LP fee, limited to the current tick interval and within 10 ticks of the block's opening tick.
Liquidity behaviour
Adding or removing liquidity through the PositionManager only updates lottery entry tracking; the remove callback never reverts on purpose or takes tokens, so LPs can withdraw freely.
Fee behaviour
Hook fee is a fixed 1% plus a launch fee from 10% to 0% over the first 1,800 blocks (launch fee to the owner treasury). Of the 1% fee converted to ETH, 20% goes to the business draw, 16% to the LP prize pot, and 64% is donated to in-range LPs; the pool's own LP fee applies separately.
Owner & admin controls
The owner can only set the Chainlink VRF subscription id and receives launch-fee payments; fee rates, splits, and the business recipient are hard-coded constants.

Enabled Uniswap v4 callbacks

beforeInitialize, afterAddLiquidity, afterRemoveLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize restricts pool creation to the authorized initializer and one ETH/RSRV pool; afterAddLiquidity and afterRemoveLiquidity track LP lottery weights; beforeSwap with return delta fills RSRV buyers from held fee tokens; afterSwap with return delta takes the 1% and launch fees and records tick checkpoints.

Security & trust assessment

Risk level: low (verified source, high confidence).

Who controls it: The owner (a Safe treasury) can only set the VRF subscription and receives launch fees; it cannot change fees, pause swaps, or move LP funds.

Risk to user funds: The hook takes 1% of each swap plus a launch fee of at most 10% decaying to 0 within an hour, and holds fee ETH for the prize pot and business share. LP principal cannot be locked or drained.

Security findings

  • [low] Temporary high launch fee: Swaps in the first hour pay an extra fee starting at 10% and declining linearly to 0% over 1,800 blocks, sent to the owner.
  • [info] Fixed fees and splits: The 1% fee and 20%/16%/64% split are constants; no admin can change them.
  • [info] Unrestricted LP withdrawals: The remove-liquidity callback only updates lottery bookkeeping and returns zero delta.
  • [info] Lottery depends on VRF subscription: If the owner never funds or sets the subscription, draws cannot run and the pot stays in the hook; stale draws can be retried or cancelled by anyone.

Contract details

Verified source
Yes (ReservHook)
Compiler
solc 0.8.30+commit.73712a01
Bytecode size
21,546 bytes
Upgradeable proxy
No
Detected patterns
donates, erc6909-claims, launchpad, moves-currency, ownable, return-delta

Pools using ReservHook