Likely dynamic fee hook on Ethereum

Uniswap v4 Hook Contract 0x607c442150c8eab0866937544e6241f8cc321080 on Ethereum · Dynamic fee

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

What it does

A Uniswap v4 hook that sets a dynamic swap fee from an owner-configurable base fee plus an extra fee for addresses flagged as MEV bots.

This read was written for the hook 0xd237…d080 on Ethereum and reused here: the two run the same code.

How it works step by step

  • beforeSwap overrides the LP fee on each swap using the stored base fee
  • An additional MEV fee applies when the sender is flagged in the isMevBot mapping
  • The owner updates the base fee through setBaseFee
  • The owner flags or unflags addresses as MEV bots through the 0x09acb823 setter
  • Liquidity add and remove and donate callbacks exist in the dispatch table but are not enabled by the hook permissions
  • Ownership is managed through standard Ownable functions
Swap behaviour
beforeSwap returns a dynamic fee computed from baseFee and the MEV bot flag of the sender; afterSwap is present in the dispatch table but no afterSwap permission is enabled.
Liquidity behaviour
No liquidity callbacks are enabled; add and remove liquidity are not modified by the hook.
Fee behaviour
Swap fee is set per pool by a base fee (baseFee()) plus an extra MEV fee (mevFee()) that applies to addresses flagged in the isMevBot mapping; the owner sets the base fee via setBaseFee and the MEV fee is read from storage.
Owner & admin controls
Owner can call setBaseFee(uint24), setMevFee-style toggle via 0x09acb823(address,bool) which updates the MEV bot mapping, and transferOwnership/renounceOwnership. No pausing or upgrade mechanism detected.

Enabled Uniswap v4 callbacks

afterInitialize, beforeSwap

afterInitialize records pool setup; beforeSwap computes the dynamic LP fee for each swap based on base fee and MEV bot status.

Security & trust assessment

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

Who controls it: The owner can change the base fee at will (up to the LP fee cap) and can flag or unflag any address as an MEV bot, which changes the fee that address pays on swaps.

Risk to user funds: The hook does not hold or move user tokens and does not block swaps or liquidity; exposure is limited to fee level changes applied at swap time.

Security findings

  • [medium] Owner-controlled swap fee: setBaseFee(uint24) is callable by the owner and the value is applied to every swap in the pool, so a privileged key could raise fees sharply.
  • [medium] Owner can selectively tax addresses: The owner can add or remove addresses from the MEV bot mapping, changing the fee charged to specific traders.
  • [low] Single-owner key: Owner is set via Ownable with transferOwnership and renounceOwnership; a single key controls all parameters.

Contract details

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

Pools using Likely dynamic fee hook