Likely dynamic fee hook on Polygon

Uniswap v4 Hook Contract 0xcff2fb5c4f6503375a82f987169fecc240fce0c0 on Polygon · Dynamic fee

Volume (24h)
$758
Value locked (TVL)
$8.07K
All-time volume
$3.75K
Pools using this hook
1
Swaps (24h)
38 (5 traders)
Total swaps
159

What it does

This hook sets owner-controlled dynamic swap fees with a separate buy fee and can cap how much each address sells per day, so large sellers may be blocked while LPs remain free to withdraw.

How it works step by step

  • Sets the swap fee dynamically on each swap, with a separate buy fee and other fee settings stored as small fee values (exact percentages not verifiable from bytecode).
  • Tracks how much each address has sold per day and can enforce a daily sell cap while a cap is active.
  • Relies on a list of owner-approved trusted routers to identify the real trader behind a swap.
  • Appears tied to a USDT pair, with a cap that can expire at a set time.
  • LPs can add and withdraw liquidity freely; the hook never runs on liquidity changes.
Swap behaviour
Before each swap the hook checks the trader (via trusted routers), applies a fee override and may revert sells that exceed a per-address daily sell limit while the cap is active. After the swap it updates the trader's daily sold amount.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely.
Fee behaviour
Swap fees are set dynamically per swap from owner-configurable values (a buy fee and other fee tiers), paid to LPs through the normal pool fee; the exact fee caps cannot be confirmed from bytecode.
Owner & admin controls
The owner can change fee tiers, set sell limits and toggle the cap, set the cap expiry, and add or remove trusted routers. Fee and limit caps are not verifiable from bytecode.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeSwap, afterSwap

beforeInitialize: validates pool setup; beforeSwap: sets the fee and enforces the daily sell cap; afterSwap: records sold amounts per address.

Security & trust assessment

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

Who controls it: A single owner (two-step transferable) controls fees, sell limits, cap toggling and trusted routers. At worst they can raise fees to an unknown level or tightly cap sells.

Risk to user funds: The hook holds no funds and cannot take tokens via deltas; traders only pay the pool fee, whose maximum is unverified. LP principal cannot be locked or drained.

Security findings

  • [medium] Daily sell cap can restrict selling: The owner can turn on a per-address daily sell limit, which makes swaps that sell beyond the limit revert while buys still go through; limits and expiry are owner-set.
  • [medium] Owner-set dynamic fees with unverified caps: Fee values are owner-adjustable and no maximum could be confirmed from the bytecode.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks and return deltas are disabled, so the hook cannot block withdrawals or take tokens from swaps.

Contract details

Verified source
No
Bytecode size
7,215 bytes
Upgradeable proxy
No
Detected patterns
ownable

Pools using Likely dynamic fee hook