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
- USDT / AIN (Dynamic fee) — 24h volume $18, TVL $5.48K, 5 swaps today