Every Uniswap v4 hook, live
Every hook attached to at least one Uniswap v4 pool, graded and explained in plain English, with the pools that use it.
AgeHookChainPermissionsPools
5mo
0x74de…0101Takes a cut when LPs withdraw
Unichain
afterRemoveLiqremoveLiqDelta
1
5mo
0x4d8f…0044Runs code on every swap · Can take tokens from swaps
Unichain
afterSwapafterSwapDelta
1
5mo
0xae1b…c044Runs code on every swap · Can take tokens from swaps
Unichain
afterSwapafterSwapDelta
1
5mo
0x431b…c044Runs code on every swap · Can take tokens from swaps
Unichain
afterSwapafterSwapDelta
1
5mo
SpireTracks per-address "horn length" (HORN token balance weighted by holding tenure) after each swap, accumulating reward weight for a UNI distribution system. Periodically harvests LP fees from a HORN/UNI pool to burn HORN and distribute UNI to holders proportionally; includes a "monarch" mechanic where the highest horn-length holder can claim a crown pot after a cooldown.
Unichain
afterSwap
1
5mo
0xbd62…c040Runs code on every swap
Unichain
afterSwap
1
5mo
0xd750…c044Runs code on every swap · Can take tokens from swaps
Unichain
afterSwapafterSwapDelta
1
5mo
0x8c19…d4ceRuns code on every swap · Can take tokens from swaps · Adjusts deposit amounts · Runs at pool creation
Unichain
afterInitafterAddLiqbeforeSwapafterSwap+3
1
5mo
0x3bbb…54ceRuns code on every swap · Can take tokens from swaps · Adjusts deposit amounts · Runs at pool creation
Unichain
afterInitafterAddLiqbeforeSwapafterSwap+3
1
6mo
0xd733…00c0Runs code on every swap
Unichain
beforeSwapafterSwap
1
6mo
AsyncSwapConverts exact-input swaps into async limit orders: the maker's input is escrowed in beforeSwap via BeforeSwapDelta, bypassing the pool AMM entirely. A pre-authorized filler later settles by delivering at least the maker's specified minimum output. Supports order cancellation and limit-price updates; full-fill only in v1.
Unichain
beforeInitbeforeAddLiqbeforeSwapswapDelta
1
6mo
AsyncSwapAsync order book that intercepts exact-input swaps — the maker's input is taken as a 6909 claim and an open order is created at a limit price. A filler later settles by delivering the minimum output amount directly to the maker, bypassing the AMM entirely.
Unichain
beforeInitbeforeAddLiqbeforeSwapswapDelta
1
6mo
0x14aa…e080Runs code on every swap · Runs at pool creation
Unichain
beforeInitbeforeSwap
1
6mo
CounterA simple counter hook that increments per-pool counters on beforeSwap, afterSwap, beforeAddLiquidity, and beforeRemoveLiquidity. Each callback only records call counts with no access control, fee logic, or swap modification.
Unichain
beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap
1
6mo
PointsHookAwards ERC20 loyalty points to users who buy a paired token using TOKEN_A through allowlisted routers. In afterSwap, mints points proportional to the TOKEN_A amount spent; non-allowlisted routers can still swap but receive no points.
Unichain
afterSwap
1
7mo
0x3a3a…4080Runs code on every swap
Unichain
beforeSwap
1
7mo
0x7480…00ccRuns code on every swap · Can take tokens from swaps
Unichain
beforeSwapafterSwapswapDeltaafterSwapDelta
1
7mo
0x94ae…d540Runs code on every swap · Runs at pool creation
Unichain
afterInitafterAddLiqafterRemoveLiqafterSwap
1
7mo
LimitOrderHookRuns code on every swap
Unichain
afterSwap
1
7mo
0xaafe…0ac8Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity
Unichain
beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+1
1
7mo
LogCumHookA dynamic fee hook that sets swap fees proportional to cumulative logarithmic price impact with time decay. It tracks directional market imbalance across swaps and charges higher fees when swaps increase imbalance, using a configurable illiquidity metric and min/max fee bounds.
Unichain
beforeInitafterInitbeforeSwapafterSwap
1
7mo
0x1112…28c4Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Unichain
beforeInitbeforeAddLiqbeforeSwapafterSwap+1
1
7mo
0xd2ab…0a00Can block LP withdrawals · Gates who can add liquidity
Unichain
beforeAddLiqbeforeRemoveLiq
1
7mo
0x8922…ca00Can block LP withdrawals · Gates who can add liquidity
Unichain
beforeAddLiqbeforeRemoveLiq
1
7mo
0x308a…cac8Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity
Unichain
beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+1
1
7mo
0xd376…4ac8Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity
Unichain
beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+1
1
7mo
0xca5d…30c0Runs code on every swap · Sets its own swap fee · Runs at pool creation
Unichain
beforeInitafterInitbeforeSwapafterSwap
1
7mo
0x8987…d3c0Runs code on every swap · Sets its own swap fee · Can block LP withdrawals · Runs at pool creation
Unichain
afterInitbeforeRemoveLiqafterRemoveLiqbeforeSwap+1
1
7mo
EnhancedFeeDistributionHookV2Captures swap fees via afterSwapReturnsDelta (pool must have fee=0), buffers them per token, and converts to a single configured reward token via a nested V4 pool swap when a buffer threshold is met. Rewards are distributed to in-range liquidity providers using ERC-6909 accounting and tick-based reward growth tracking, with claims settled through PositionManager NFT ownership.
Unichain
beforeAddLiqafterAddLiqbeforeRemoveLiqafterRemoveLiq+3
1
8mo
DynamicFeeHookAdjusts LP swap fees dynamically based on on-chain price volatility using EWMA of sqrt price changes; collects a configurable owner-controlled protocol fee share from the spread above the base fee into a treasury address. In practice, the afterInitialize flag is absent from the address bitmask, so pool configs are never populated and the hook always returns a hardcoded 3000 bps fallback fee.
Unichain
beforeInitbeforeSwapafterSwap
1
8mo
0xc1e1…80c0Runs code on every swap · Sets its own swap fee
Unichain
beforeSwapafterSwap
1
8mo
0x3771…0040Runs code on every swap
Unichain
afterSwap
1
9mo
0x376f…8040Runs code on every swap
Unichain
afterSwap
1
9mo
VolatilityFeeHookA Uniswap v4 hook that combines two fee mechanisms: a dynamic LP fee set by an owner/operator (via off-chain volatility signals) overriding the pool's swap fee each trade, and an additional protocol fee taken as a percentage of each swap's output amount accumulated as ERC-6909 claims for the hook owner.
Unichain
afterInitbeforeSwapafterSwapafterSwapDelta
1
9mo
VolatilityDynamicFeeLimitOrderHookA Unilaunch singleton hook that adjusts LP fees dynamically based on a volatility oracle with configurable surge multipliers (activated during high-volatility periods), enforces a one-block trading delay on pool launch, and triggers limit order execution via ILimitOrderManager on every swap.
Unichain
beforeInitbeforeSwapafterSwap
1
9mo
VolatilityDynamicFeeLimitOrderHookUnilaunch singleton hook that implements volatility-responsive dynamic LP fees: applies a base fee plus a surge multiplier when large tick movements are detected in afterSwap, decaying it over a configurable duration. Blocks trading for one block after pool initialization as an anti-sandwich measure. Integrates with an external limit order manager for limit order execution.
Unichain
beforeInitbeforeSwapafterSwap
1
9mo
VolatilityDynamicFeeLimitOrderHookSingleton hook for Unilaunch pools that dynamically adjusts LP fees based on volatility, applying surge fee multipliers after high-volatility CAP events detected by an on-chain oracle. Executes limit orders via an external LimitOrderManager after each swap, and gates trading until a configured block number.
Unichain
beforeInitbeforeSwapafterSwap
1
9mo
VolatilityDynamicFeeLimitOrderHookRuns code on every swap · Sets its own swap fee · Runs at pool creation
Unichain
beforeInitbeforeSwapafterSwap
1
9mo
VolatilityDynamicFeeLimitOrderHookAdjusts LP fees dynamically based on a configurable base fee plus a time-decaying surge fee triggered by volatility cap events detected via a VolatilityOracle. Also executes on-chain limit orders through a LimitOrderManager on each swap, and temporarily blocks trading until a configured block number to prevent launch sniping.
Unichain
beforeInitbeforeSwapafterSwap
1
9mo
0xaed7…80c8Runs code on every swap · Can take tokens from swaps
Unichain
beforeSwapafterSwapswapDelta
1
9mo
0xede6…82c8Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals
Unichain
beforeRemoveLiqbeforeSwapafterSwapswapDelta
1
9mo
0x56eb…80c8Runs code on every swap · Can take tokens from swaps
Unichain
beforeSwapafterSwapswapDelta
1
9mo
0x5902…00c8Runs code on every swap · Can take tokens from swaps
Unichain
beforeSwapafterSwapswapDelta
1
9mo
0x3b58…c0ccRuns code on every swap · Can take tokens from swaps
Unichain
beforeSwapafterSwapswapDeltaafterSwapDelta
1
9mo
0x75ac…80ccRuns code on every swap · Can take tokens from swaps
Unichain
beforeSwapafterSwapswapDeltaafterSwapDelta
1
9mo
0x0ec6…00c8Runs code on every swap · Can take tokens from swaps
Unichain
beforeSwapafterSwapswapDelta
1
9mo
0x15ad…40c8Runs code on every swap · Can take tokens from swaps
Unichain
beforeSwapafterSwapswapDelta
1
9mo
0x52b8…00c8Runs code on every swap · Can take tokens from swaps
Unichain
beforeSwapafterSwapswapDelta
1
9mo
0x9926…80c8Runs code on every swap · Can take tokens from swaps
Unichain
beforeSwapafterSwapswapDelta
1
9mo
0xe06b…00c8Runs code on every swap · Can take tokens from swaps
Unichain
beforeSwapafterSwapswapDelta
1