Dynamic fee hook on Polygon

Uniswap v4 Hook Contract 0xa2212c375bc4816809794536d00356ebd1a48080 on Polygon · Dynamic fee

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

What it does

This hook sets a dynamic LP fee on each swap before it executes, but the exact fee amounts and which trades pay more or less cannot be determined from the decoded bytecode.

How it works step by step

  • Implements beforeSwap, a view hook that runs before each swap on the pool it is attached to
  • Exposes a FEE() getter and a poolManager() getter, indicating a constant fee value and a reference to the Uniswap v4 PoolManager
  • Calls updateDynamicLPFee(PoolKey, uint24) on the pool manager, so it sets the LP fee used for swaps dynamically
  • Other callbacks (initialize, liquidity, donate) are present in the dispatch table but appear to be default no-op pure implementations
  • No storage variables were inferred, so the fee logic appears to rely on computed or constant values rather than mutable state
Swap behaviour
beforeSwap is a view function that computes an LP fee and passes it to the pool manager through updateDynamicLPFee before the swap executes. Which trades pay more or less cannot be determined from the decoded bytecode alone.
Liquidity behaviour
No liquidity callbacks.
Fee behaviour
Sets the LP fee dynamically per swap via updateDynamicLPFee, using a FEE value exposed by the FEE() getter. The exact fee formula cannot be determined from decoded bytecode.
Owner & admin controls
No admin controls found.

Enabled Uniswap v4 callbacks

beforeSwap

beforeSwap is enabled and used to set the dynamic LP fee for each swap; all other callbacks are present in the dispatch table but are not used for any observed logic.

Security & trust assessment

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

Who controls it: No privileged key or admin function was identified in the decoded bytecode, so no centralized control over fees was found.

Risk to user funds: The hook does not appear to take, hold or move tokens directly; it only sets the LP fee through updateDynamicLPFee and returns no balance deltas, though this is inferred from selectors rather than verified source.

Security findings

  • [info] Dynamic fee set before each swap: beforeSwap calls updateDynamicLPFee on the pool manager, so the fee applied to swaps is determined by hook logic rather than a static pool fee.
  • [info] No storage or admin functions observed: No storage layout was inferred and no owner, pause or upgrade selectors were found, so no privileged key was identified from the bytecode.
  • [low] Fee formula not fully decoded: Without source, the logic that determines the fee value cannot be fully verified, so the actual fee range and any bounds are unknown.

Contract details

Verified source
No
Bytecode size
2,440 bytes
Upgradeable proxy
No
Detected patterns
dynamic-fee

Pools using Dynamic fee hook