BoomerangHook on Base

Uniswap v4 Hook Contract 0x3f6911635018be4e2b8999287504676693290503 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

Swaps are unaffected and pay the normal pool fee, while LPs automatically give a fixed, unchangeable share (at most 10%) of their earned fees to a treasury whenever they add or remove liquidity, with principal always freely withdrawable.

How it works step by step

  • Whenever an LP adds or removes liquidity, the hook looks at the trading fees that position has earned and is being paid out.
  • It takes a fixed share of those earned fees (set once at deployment, between 0.01% and 10% of the fees) and sends it to a fixed treasury address.
  • LP principal is never touched; only accrued fee earnings are shared, and the LP keeps the rest.
  • If the treasury cannot receive the token directly, the share is credited to the treasury as a claim on the PoolManager to redeem later.
  • There is no owner, no pause, and no setter, so the share and treasury can never change.
Swap behaviour
No swap callbacks. Swaps are never touched by this hook and pay only the pool's normal fee.
Liquidity behaviour
On adding or removing liquidity, the hook deducts a fixed cut (at most 10%) of the position's collected fees and sends it to the treasury. It never reverts for lack of fees and never touches principal, so LPs can always withdraw freely.
Fee behaviour
Swaps use the pool's own fee. LPs give up a fixed share of their earned fees, between 0.01% and 10% of those fees (fixed forever at deployment, rounded down), which goes to an immutable treasury address.
Owner & admin controls
No admin controls found. The treasury and fee share are immutable values set in the constructor, with the share capped at 10% of LP fees.

Enabled Uniswap v4 callbacks

afterAddLiquidity, afterRemoveLiquidity, afterAddLiquidityReturnDelta, afterRemoveLiquidityReturnDelta

afterAddLiquidity: takes the fee share when fees are collected during a deposit; afterAddLiquidityReturnDelta: reduces the LP's payout by that share; afterRemoveLiquidity: takes the fee share when fees are collected during a withdrawal; afterRemoveLiquidityReturnDelta: reduces the LP's withdrawal payout by that share only.

Security & trust assessment

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

Who controls it: Nobody holds privileged keys; the treasury address and fee share are permanently fixed. The treasury only receives its share passively.

Risk to user funds: The hook can only take up to 10% of the trading fees an LP position has earned, at the moment those fees are collected. LP principal cannot be locked or drained, and swappers are unaffected.

Security findings

  • [info] Fixed cut of LP fee earnings: The hook takes a fixed 0.01% to 10% of each position's accrued fees on every add or remove; principal is never deducted.
  • [info] Immutable, no admin: No owner, pause, upgrade, or setter exists; the share and treasury cannot be changed after deployment.
  • [info] Withdrawals cannot be blocked: The remove-liquidity callback only computes a share of fees and falls back to minting a claim if a transfer fails, so it does not trap LP funds.

Contract details

Verified source
Yes (BoomerangHook)
Compiler
solc 0.8.30+commit.73712a01
Bytecode size
3,900 bytes
Upgradeable proxy
No
Detected patterns
erc6909-claims, fee-sharing, moves-currency, return-delta

Pools using BoomerangHook