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
15d
PannotiaHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
5
18d
0xba01…c800Gates who can add liquidity
Ethereum
beforeAddLiq
5
25d
0x77ad…28ccRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
5
28d
0x7112…2080Runs code on every swap · Runs at pool creation
Ethereum
beforeInitbeforeSwap
5
31d
FewV4ShellHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapswapDelta
5
46d
0xb572…e8e0Runs code on every swap · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+1
5
50d
TunaHookRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
5
52d
0x28ea…4a44Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity
Ethereum
beforeAddLiqbeforeRemoveLiqafterSwapafterSwapDelta
5
53d
0xfda4…a080Runs code on every swap · Sets its own swap fee · Runs at pool creation
Ethereum
beforeInitbeforeSwap
5
53d
FugaziV4HookA Uniswap v4 hook for Fugazi token pools that collects a fixed 1% swap fee denominated in the reserve token and distributes it among a burn address, the token creator, and a protocol treasury. Only works with pools pairing a FugaziToken against a designated reserve token with zero LP fee.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
5
54d
0x71be…80ccRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
5
57d
NFTXFlexHookAllows for exotic token pairings for liquidity against NFTX pools
Ethereum
beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+4
5
2mo
SpectraBlocklistHookUniswap v4 hook that blocks swaps from addresses on a configurable blocklist, checking both the immediate swap caller (sender) and tx.origin. The immutable owner can update the blocklist but cannot affect fees, liquidity, or swap amounts.
Ethereum
beforeSwap
5
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project. The afterInitialize callback is a pure no-op (just returns the selector). An external initializePools() function calls a LiquidityBootstrapper contract to seed liquidity and stores the resulting initial tick. Has no swap, liquidity modification, or donation logic.
Ethereum
afterInit
5
4mo
0xe551…c088Runs code on every swap · Can take tokens from swaps
Ethereum
beforeSwapswapDelta
5
5mo
0x54ee…0044Runs code on every swap · Can take tokens from swaps
Ethereum
afterSwapafterSwapDelta
5
5mo
OneTimeLaunchHookTemplateEnforces one-time pool initialization and initial liquidity per token (currency1). When the buy gate is activated via the unprotected `bigInt()` function (callable by anyone), non-zeroForOne (buy) swaps revert unless `tx.origin` is in a deployer-managed allowlist.
Ethereum
beforeInitbeforeAddLiqafterSwap
5
8mo
FreeholdHookIntercepts all swaps in creator-registered sDAI/SyntheticFiatToken pools and routes them through the token's mint() and redeem() functions via BeforeSwapReturnsDelta, providing oracle-priced, zero-slippage virtual liquidity with no real liquidity held in the pool.
Ethereum
beforeSwapswapDelta
5
8mo
CumHookDynamic LP fee hook that adjusts fees based on cumulative price impact (CPI) across swaps. Fees scale with directional market imbalance and time-decay between swaps; each pool must be explicitly configured with fee bounds, decay parameters, and illiquidity scale before trading is permitted.
Ethereum
beforeInitafterInitbeforeSwapafterSwap
5
9mo
0x9c69…6888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
5
9mo
ERC20StrategyHookA Uniswap v4 hook for ERC20Strategy pools that takes time-based buy fees (starting at 99%, decreasing 1% per minute to a floor of 10%) and distributes collected fees among the strategy contract (80%), PunkStrategy token (10%), and a configurable protocol fee address (10%). Pool creation and liquidity addition are restricted to the ERC20StrategyFactory.
Ethereum
beforeInitafterAddLiqafterSwapafterSwapDelta
5
12mo
0x769f…68c4Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+1
5
16mo
0x0000…0840Runs code on every swap · Gates who can add liquidity
Ethereum
beforeAddLiqafterSwap
5
21mo
FairTradeHookAnti-MEV hook that blocks swaps from owner-blocklisted addresses, reverts same-block swaps from the same sender (sandwich detection), and enforces a configurable per-address timestamp cooldown between swaps.
Ethereum
beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap
5
21mo
BunniHookCore hook for Bunni v2, a concentrated liquidity protocol on Uniswap v4. Implements a virtual AMM with dynamic fees (TWAP-based + surge detection), am-AMM bidding for LVR/MEV recapture, auto-rebalancing via FloodPlain, and an on-chain price oracle.
Ethereum
afterInitbeforeAddLiqbeforeSwapswapDelta
5
9d
SigilV4LauncherRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
4
10d
HawthornHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
4
10d
MultistockHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
4
14d
TransparentUpgradeableProxyRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+1
4
15d
ChangingFeeHookRuns code on every swap · Sets its own swap fee · Runs at pool creation
Ethereum
beforeInitbeforeSwap
4
24d
0x35af…2080Runs code on every swap · Runs at pool creation
Ethereum
beforeInitbeforeSwap
4
24d
UnrektHookRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
4
26d
ILandSniperHookRuns code on every swap · Sets its own swap fee · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation
Ethereum
afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap
4
27d
UpgennyFactoryRuns code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
4
28d
PepesFamilyRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
4
29d
BackstopHookRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
4
29d
0x7ba0…6accRuns code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
4
29d
0x1468…a8ccRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
4
32d
0x5548…60c0Runs code on every swap · Sets its own swap fee · Runs at pool creation
Ethereum
beforeInitbeforeSwapafterSwap
4
36d
EthXV4FeeHookRuns code on every swap · Can take tokens from swaps
Ethereum
afterSwapafterSwapDelta
4
41d
NFTStrategyHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitafterAddLiqafterSwapafterSwapDelta
4
42d
Permissioned PoolsPermissioned Pools are a Uniswap V4 hook system that allows trading of tokenized and regulated assets onchain. The hook checks an issuer-managed allowlist on every swap and liquidity addition, while a verified wrapper contract keeps the permissioned token compatible with the standard PoolManager.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap
4
42d
LaunchFeeHookRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
4
43d
LaunchTaxHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
4
46d
0xd3ef…28e0Runs code on every swap · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+1
4
49d
EtherStockHookRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
4
54d
StockpairHookA Uniswap v4 hook implementing a token launchpad with permanently locked liquidity after seeding. Charges 0% on buys and a 2% sell fee on exact-input token sells, split 60% to the token creator and 40% to the platform via afterSwapReturnsDelta.
Ethereum
beforeAddLiqbeforeRemoveLiqafterSwapafterSwapDelta
4
55d
LaunchHookToken launch hook that charges a time-decaying anti-snipe fee on quote-currency buys, starting near 99% at pool open and decreasing linearly over 20 seconds to a configured steady-state rate (1%–10%). Fees are split between a platform and a tracker.
Ethereum
afterInitbeforeSwapafterDonateswapDelta
4
55d
MeridianHookA launchpad hook managing Meridian launch pools: single-sided concentrated liquidity positions (token-only, LP locked). Skims fees from buy inputs via beforeSwap delta and sell outputs via afterSwap delta, splitting between protocol, creator, and an optional holder distributor. Includes an anti-snipe fee that decays linearly from a higher rate to the base fee over a configurable post-launch window.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
4
56d
NimbusHookFee-collection hook for registered token/quote pairs. On each eligible swap, takes a configurable toll (up to 5%) from the quote amount via BeforeSwapDelta/afterSwap return delta, and accumulates the fees for a designated seeker address to withdraw via siphon().
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
4