UniHooks

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