Dynamic fee hook on BNB Chain

Uniswap v4 Hook Contract 0x60aa2a5966d7dcf19c98eb7a598210674dd79482 on BNB Chain · Dynamic fee

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

What it does

A dynamic-fee hook that sets the pool's LP fee for swaps and appears to take a fixed fee from LP deposits, while traders pay only the pool fee and LPs can always withdraw freely.

How it works step by step

  • Requires the pool to use a dynamic fee and sets the pool's LP fee when the pool is created.
  • Runs a check or fee update before each swap; the exact fee logic cannot be read from unverified bytecode.
  • After liquidity is added, it can take a portion of the deposited tokens from the LP via a liquidity return delta and send them to a recipient (likely the owner or treasury).
  • Has an owner role. The only owner functions found are transferOwnership and renounceOwnership.
Swap behaviour
Before each swap the hook runs logic that may set or override the LP fee. It cannot take tokens from swap amounts, because swap return deltas are disabled.
Liquidity behaviour
When LPs add liquidity, the hook can charge an extra amount on the deposit and withdraw it from the pool manager. The fee rate is a basis-point value that cannot be confirmed from bytecode. Removal callbacks are disabled, so LPs can always withdraw freely.
Fee behaviour
The pool must use a dynamic LP fee that the hook sets at initialization and possibly per swap; the exact rates are unknown. A separate deposit fee in basis points appears to be taken on liquidity additions and sent to the hook's recipient.
Owner & admin controls
The owner can only transfer or renounce ownership. No fee-setting or pause functions were found among the dispatched selectors, so fee parameters appear to be fixed constants.

Enabled Uniswap v4 callbacks

afterInitialize, afterAddLiquidity, beforeSwap, afterAddLiquidityReturnDelta

afterInitialize: checks that the pool uses a dynamic fee and sets the initial fee; beforeSwap: applies fee logic on each swap; afterAddLiquidity: runs after deposits; afterAddLiquidityReturnDelta: lets the hook charge LPs extra tokens on deposit.

Security & trust assessment

Risk level: medium, estimated (decoded bytecode, low confidence).

Who controls it: There is a single owner, but no owner-only functions beyond ownership transfer and renounce were found. The owner does not appear able to change fees or pause the pool.

Risk to user funds: LPs may lose a fixed but unverified percentage of each deposit to the hook's fee recipient. Swap amounts are never deducted, and LP principal can always be withdrawn.

Security findings

  • [medium] Deposit fee on added liquidity: The hook can take tokens from LP deposits through a liquidity return delta and withdraw them. The rate is unverified, though it appears to be a fixed basis-point constant.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook can never block or charge withdrawals.
  • [info] No swap deductions: Swap return deltas are disabled; traders only pay the pool's LP fee.

Contract details

Verified source
No
Bytecode size
3,898 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee, moves-currency, ownable, return-delta

Pools using Dynamic fee hook