Likely dynamic fee hook on Base

Uniswap v4 Hook Contract 0xc16b5231eb89d6d8948b459c6c13ffb197bb00c0 on Base · Dynamic fee

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

This hook likely adjusts swap fees per pool based on configured fee values and recent swap timing, with traders paying more or less depending on activity, while LPs can always withdraw freely.

This read was written for the hook 0x7fd7…c0c0 on Base and reused here: the two run the same code.

How it works step by step

  • Runs a check before and after every swap in pools that use it.
  • Stores a per-pool configuration (an address plus fee-related parameters such as two fee values, an amount and a time window) set through two setup functions.
  • Records per-pool timestamps or counters after each swap, likely to track activity over a time window that affects the fee or swap rules.
  • Does not touch liquidity adds or withdrawals; LPs can add and remove freely.
Swap behaviour
Before each swap the hook reads the pool's configuration and recent activity data, likely to set a dynamic fee or apply a timing rule; after the swap it updates per-pool tracking data. It cannot take tokens from swaps because return-delta permissions are disabled.
Liquidity behaviour
No liquidity callbacks; LPs can add and withdraw freely.
Fee behaviour
The configuration includes two fee-like values (uint24) suggesting a fee that moves between a minimum and maximum over time or with activity, but exact percentages and caps cannot be confirmed from bytecode. Any fee goes to LPs through the normal pool fee, since the hook cannot take a cut via deltas.
Owner & admin controls
Two setup functions write the per-pool configuration (an address, two fee values, an amount and a duration); who may call them and whether values are capped cannot be verified from bytecode.

Enabled Uniswap v4 callbacks

beforeSwap, afterSwap

beforeSwap: reads pool config and likely sets the swap fee or checks a rule; afterSwap: updates per-pool activity or timestamp tracking.

Security & trust assessment

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

Who controls it: Whoever can call the pool setup functions controls fee parameters for that pool; the exact caller restrictions and fee limits are unknown from bytecode.

Risk to user funds: The hook holds no user funds and cannot deduct tokens from swaps or LP positions; its only influence is on the swap fee level, whose maximum is not verifiable. LP principal cannot be locked or drained.

Security findings

  • [low] Unverified fee configuration: Per-pool fee parameters are set by setup functions whose access rules and maximum fee cannot be confirmed without source.
  • [info] LP withdrawals unrestricted: Remove-liquidity callbacks are disabled, so the hook can never block or charge LP withdrawals.
  • [info] No token deductions: Swap return deltas are disabled, so the hook cannot take tokens directly from swaps.

Contract details

Verified source
No
Bytecode size
11,957 bytes
Upgradeable proxy
No

Pools using Likely dynamic fee hook