ClankerHookStaticFeeV2 on Base

Uniswap v4 Hook Contract 0x7a092a63065748d1999101430ba456324afa28cc on Base · Dynamic fee · Verified contract

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

What it does

A Clanker token pool hook that applies a fixed per-pool LP fee on swaps and skims a 20 percent protocol fee to the Clanker factory, with an early MEV module window and locker fee claims.

How it works step by step

  • Sets a fixed LP fee per swap direction: clankerFee when swapping into the clanker token, pairedFee otherwise, each capped at 10 percent.
  • Takes a protocol fee equal to 20 percent of the LP fee on every swap, minted as ERC-6909 claims and forwarded to the factory.
  • Blocks liquidity additions for up to 2 minutes after pool creation while the MEV module is active.
  • Allows an assigned MEV module to raise the LP fee up to 80 percent during that early window.
  • Claims accumulated fees from the LP locker before swaps and runs an optional post-swap pool extension in a try/catch.
Swap behaviour
beforeSwap sets the LP fee for the swap direction, claims accumulated hook and locker fees, optionally runs the MEV module which can raise the fee, and takes the protocol fee via a before-swap return delta. afterSwap adjusts the unspecified side for the protocol fee and optionally runs a pool extension through a try/catch helper.
Liquidity behaviour
Adding liquidity is blocked with MevModuleEnabled while the MEV module is operational (within 2 minutes of pool creation). Afterwards liquidity adds and removals are permitted; no return-delta callbacks are used on liquidity. The hook can trigger a fee claim from the LP locker before swaps.
Fee behaviour
Each pool has a fixed LP fee set at initialization (clankerFee for the clanker-side swap direction, pairedFee for the paired-side direction), capped at 10% (MAX_LP_FEE = 100,000 pips). A protocol fee equal to 20% of the LP fee is taken by the hook and minted as ERC-6909 claims, later forwarded to the factory. During the MEV module window the LP fee may be raised up to 80% by the module.
Owner & admin controls
No owner or admin setter found on the hook. The factory address is immutable and gates initializePool, initializeMevModule and mevModuleSetFee is restricted to the assigned MEV module. Fee values are set per pool at creation via immutable-after-init clankerFee/pairedFee mappings. Protocol fees accrue to the factory via ClaimProtocolFees. Upgradeability: none (immutable hook). Note the MEV module is an external contract that can set fees up to 80% for a short window, and the factory controls which module is attached.

Enabled Uniswap v4 callbacks

beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap, beforeSwapReturnDelta, afterSwapReturnDelta

beforeInitialize: reverts any initialization not routed through the factory-controlled initializePool functions. beforeAddLiquidity: blocks adds while the MEV module is active. beforeSwap: sets the dynamic LP fee, claims accumulated hook and locker fees, runs the MEV module and takes the protocol fee via a return delta. afterSwap: takes the protocol fee on the unspecified side and optionally runs a pool extension through a try/catch helper. beforeSwapReturnDelta and afterSwapReturnDelta: allow the hook to skim the protocol fee from swap amounts.

Security & trust assessment

Risk level: low (verified source, high confidence).

Who controls it: No single owner key. The factory is the privileged caller for pool setup and MEV module initialization, and the locker and MEV module contracts it wires in are trusted to act on pool liquidity and fees. Changing the factory or those modules would require redeployment, not configuration.

Risk to user funds: The hook holds no persistent user principal. It mints and burns its own ERC-6909 claims for protocol fees and forwards them to the factory. Swap amounts are adjusted by the protocol fee on each trade. Funds at risk mainly come from the trusted factory-linked MEV module and locker contracts, which act on pool fees and claims.

Security findings

  • [info] Protocol fee skimmed from swaps: The hook's return deltas take a protocol fee on every swap by minting ERC-6909 claims that are later burned and sent to the factory. Users pay the fee on swap amounts.
  • [medium] MEV module can impose up to 80% fee early: While the MEV module is operational the LP fee may be raised up to 80% for up to 2 minutes after pool creation, which can extract heavy value from early buyers. The module itself is an external contract assigned by the factory and its logic is not verified here.
  • [low] External locker call can block swaps: The hook calls external locker and pool extension contracts during swaps. A pool extension failure is caught, but the locker fee claim in beforeSwap is not wrapped in try/catch, so a faulty locker could block swaps.
  • [info] No pause or upgrade path: Initial price, fee tiers and the clanker/paired fee split are fixed at creation, so LP and traders cannot change economics after deployment; no pausing or upgrade path exists in this hook.

Contract details

Verified source
Yes (ClankerHookStaticFeeV2)
Compiler
solc 0.8.28+commit.7893614a
Bytecode size
12,888 bytes
Upgradeable proxy
No
Detected patterns
access-control, dynamic-fee, launchpad, mev-protection, moves-currency, return-delta

Pools using ClankerHookStaticFeeV2