Every Uniswap v4 hook, live
Every hook attached to at least one Uniswap v4 pool, explained in plain English, with safety checks and the pools that use it.
AgeHookChainPermissionsPools
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project with only the `afterInitialize` permission active. The `afterInitialize` callback is a pure no-op stub; the contract also exposes `initializePools()` which calls an external `ISaturnOmnichainLiquidityBootstrapper` to bootstrap pool liquidity.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA hook with afterInitialize registered but implemented as a no-op. Provides a separate initializePools() function that calls an external ISaturnOmnichainLiquidityBootstrapper.bootstrap() to record the initial tick. All hook callbacks return their selectors unchanged without performing any logic.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA hook with only the afterInitialize permission, implemented as a no-op stub. Delegates pool initialization and liquidity bootstrapping to an external ISaturnOmnichainLiquidityBootstrapper contract; all swap, liquidity, and donate callbacks are pass-through stubs with no custom logic.
Base
afterInit
15
3mo
SaturnOmnichainV4HookMinimal hook for the Saturn Omnichain project that holds the afterInitialize flag but performs no logic in any callback. Liquidity bootstrapping is delegated to an external ISaturnOmnichainLiquidityBootstrapper contract via a separate initializePools() call.
Base
afterInit
15
3mo
SaturnOmnichainV4HookSaturn Omnichain hook that uses only the afterInitialize permission as a no-op callback. Exposes an initializePools() function that delegates to an ISaturnOmnichainLiquidityBootstrapper contract to seed initial liquidity and records the resulting initial tick.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain protocol that stores pool configuration constants and a reference to a liquidity bootstrapper contract. The afterInitialize callback is a no-op; pool initialization is triggered externally via initializePools(), which delegates to the bootstrapper.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that registers only the afterInitialize permission. The afterInitialize callback is a pure no-op stub; pool initialization and liquidity bootstrapping is coordinated externally via an ISaturnOmnichainLiquidityBootstrapper contract called through initializePools().
Base
afterInit
15
3mo
SaturnOmnichainV4HookA minimal hook that implements only afterInitialize, storing the initial pool tick via an external ISaturnOmnichainLiquidityBootstrapper. All swap, liquidity, and donate callbacks are no-ops that return their selectors without modifying behavior.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project with only the afterInitialize flag set. The afterInitialize callback is a no-op; the contract exposes a separate initializePools() function that delegates to an external liquidity bootstrapper contract to set up initial liquidity and record the starting tick.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that registers only the afterInitialize permission. The afterInitialize callback is a no-op (returns the selector only). Includes an initializePools() function that delegates to an external ISaturnOmnichainLiquidityBootstrapper to bootstrap liquidity and record the initial tick.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project with only the afterInitialize flag set. The afterInitialize callback is a no-op (returns the selector only), and initializePools() delegates to an external LiquidityBootstrapper contract to seed initial liquidity after pool creation.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project with only the afterInitialize permission enabled; the callback is a no-op that performs no on-chain action. A separate initializePools() function (callable externally) delegates to a liquidity bootstrapper contract to record the initial tick. All swap behavior is entirely unmodified.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project with only the afterInitialize permission set. All hook callbacks are no-ops returning their selector. Provides an initializePools() function that delegates to a liquidity bootstrapper contract to seed initial liquidity and record the initial tick.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA minimal hook with only the afterInitialize flag enabled; the afterInitialize callback is a no-op that simply returns the selector. Pool liquidity bootstrapping is coordinated externally via a separate ISaturnOmnichainLiquidityBootstrapper contract called through initializePools().
Base
afterInit
15
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that only subscribes to afterInitialize. An external liquidity bootstrapper contract supplies the initial tick, which is stored in public state. All swap, liquidity, and donate callbacks are pure no-ops that return their respective selectors with no side effects.
Base
afterInit
15
3mo
SaturnOmnichainV4HookMinimal hook for the Saturn Omnichain protocol that records the initial tick after pool initialization via a liquidity bootstrapper contract. Only afterInitialize is active; all swap callbacks are no-ops and swap behavior is fully standard Uniswap v4.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol with a no-op afterInitialize callback. Exposes an initializePools() function that delegates to an external LiquidityBootstrapper contract to seed liquidity and record the initial tick.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that enables afterInitialize but performs no action in the callback. Provides an external initializePools() function that calls a separate liquidity bootstrapper contract to seed initial pool liquidity and record the starting tick.
Base
afterInit
15
3mo
SaturnOmnichainV4HookHook for Saturn Omnichain that records pool initialization state via a separate liquidity bootstrapper contract. The afterInitialize callback is a no-op stub; no swap or liquidity logic is modified.
Base
afterInit
15
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that implements only afterInitialize (as a no-op) and exposes an initializePools() function that delegates to an external LiquidityBootstrapper to seed pools and record the initial tick. Has no swap, liquidity, or donate logic.
Base
afterInit
15
5mo
ProjectHookEmits a ProjectPoolInitialized event on pool initialization, recording the pool ID, project token, and sender. Requires one of the pool's currencies to be native ETH; reverts if neither currency is the zero address.
Base
afterInit
15
18mo
TWAMM Hook (Base)Implements the Time-Weighted Average Market Maker (TWAMM) strategy, allowing users to place long-horizon token swap orders that are executed gradually over time against the AMM. Before each swap, liquidity add, or liquidity remove, the hook executes any pending TWAMM orders up to the current timestamp.
Base
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap
15
53d
AnyPositionManager (Flaunch vested launch hook)A Uniswap v4 hook for fair-launch memecoin pools. Implements an internal swap pool that fills swaps against fee inventory before they reach the AMM, a BidWall for liquidity support, creator fee distribution with optional referrer payouts via hookData, and temporal launch gating (pools revert until a configurable flaunchesAt timestamp passes).
Base
beforeInitafterAddLiqafterRemoveLiqbeforeSwap+4
14
8mo
UniClawHookV4Uniswap v4 hook supporting dual pool types (agent-only and public) with an on-chain agent registry allowlist for agent-only pools. Collects a configurable percentage fee from swap output via afterSwapReturnsDelta, with optional reputation-based fee tiers that discount fees for higher-reputation agents.
Base
afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
14
9mo
Liquid Launch HookAccess-controlled initialization hook for a liquid launch system. Only strategies authorized via a factory may initialize pools. In beforeSwap, automatically converts accumulated protocol fees to the pool's preferred token (token0 or token1) via nested swaps on the same pool; fee claiming is permissionless but always routes to the strategy's designated fee recipient.
Base
beforeInitbeforeSwap
14
16mo
BoardHookA Uniswap v4 hook for a token launchpad that manages fair launch phases, temporal access control, and fee distribution. During fair launch, it fills buy-side swaps from a one-sided position and optionally enforces Merkle-proof whitelisting. After launch, it captures swap fees and distributes them to creators, protocol, inspirers, and referrers via delta manipulation.
Base
beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+6
14
8mo
ZoraV4CoinHookUniswap v4 hook for Zora Coins that creates multi-curve liquidity positions on pool initialization. On every swap, collects LP fees from all positions, swaps them to a backing currency, and distributes rewards. Applies a time-decaying dynamic launch fee (99% to 1% over 10 seconds) and fills Zora limit orders when ticks cross.
Base
afterInitbeforeSwapafterSwap
13
8mo
ClankerHookStaticFeeA Clanker factory hook that launches ERC-20 tokens into Uniswap v4 pools with configurable static LP fees per trade direction (clanker-buy vs. clanker-sell). On every swap it sets the dynamic LP fee via updateDynamicLPFee, collects a protocol fee by modifying the swap delta, auto-claims LP locker rewards, and optionally runs a time-limited (2-minute) MEV protection module.
Base
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
13
9mo
BVCC Dynamic Fee Hook (Base)An advanced dynamic fee hook by BlockVenture Chain Capital that adjusts LP fees based on gas price, price volatility, and 24-hour trade volume, while applying anti-bot cooldown penalties for repeated swaps. It also collects a small protocol fee on each swap output via afterSwapReturnsDelta.
Base
afterInitbeforeSwapafterSwapafterSwapDelta
13
11mo
CornersHookStaticFeeA Uniswap v4 hook for the Corners protocol that applies asymmetric static LP fees per pool based on swap direction (corners token vs. paired token), takes a 20% protocol fee on each swap by manipulating BeforeSwapDelta/AfterSwapDelta, and optionally runs an MEV protection module during the first 2 minutes after pool creation.
Base
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
13
15mo
BoardHookA token launchpad hook that manages fair launch pools for newly issued tokens. It enforces a temporal trading gate (tokens cannot be swapped before their scheduled launch time), supports optional Merkle-proof whitelisting during the fair launch window, burns unsold supply at fair launch close, and distributes swap fees to protocol, creator, referrer, and inspired-fee recipients.
Base
beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+6
13
18mo
TokenFabA Uniswap v4 hook implementing a bonding curve token launch platform. Deploys new ERC20 tokens with configurable multi-chunk liquidity curves backed by a base token, collects a 1% swap fee split equally between creator and platform fee receivers, and automatically graduates tokens to a standard full-range AMM pool when the bonding curve supply is exhausted.
Base
beforeInitbeforeAddLiqafterSwapafterSwapDelta
13
20mo
Graduation Hook (Base)Restricts pool initialization to a designated Moxie bonding curve address, ensuring Uniswap v4 pools can only be initialized through the authorized bonding curve as part of a token graduation process.
Base
afterInit
13
57d
FlashV2Robinhood's Flash DEX hook for Uniswap v4 supporting OTC-AMM hybrid execution, impact-scaled sell taxes distributed to stakers, creators, and treasury, multiple pool types (main, sub, stock, perp pairs), and churn-based reward sweeping via delegatecall to an external routing module.
Base
beforeInitbeforeSwapafterSwapswapDelta+1
12
8mo
ClankerHookStaticFeeV2Clanker v2 hook that applies asymmetric static LP fees per pool (separate rates for buying vs selling the Clanker token), collects a 20% protocol fee on all swaps by manipulating beforeSwap/afterSwap deltas, and optionally runs a MEV protection module active for 2 minutes post-launch plus pool extension callbacks.
Base
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
12
8mo
MineSwapHookV2A universal fee-capture hook that deducts 0.15% of output tokens on every exact-input swap via afterSwapReturnsDelta, accumulating tokens in the contract. Anyone can trigger fee processing, which swaps accumulated tokens to BG via Uniswap V3, then splits the result: 50% burned to 0xdead, 49% sent to a rebate tracker for volume-based rewards, and 1% paid to the caller as a mining reward.
Base
afterSwapafterSwapDelta
12
13mo
GlassHookStaticFeeV2A Uniswap v4 hook for Glass token launchpad pools that applies direction-dependent static LP fees (different rates for buying vs. selling the glass token), collects a ~20% protocol fee via BeforeSwapDelta/AfterSwapDelta, and includes an optional MEV-protection module that can temporarily raise fees for up to 2 minutes after pool creation.
Base
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
12
17mo
Limit Order Hook (Base)A limit order hook that records the tick before each swap and triggers limit order execution after the swap completes by delegating to a LimitOrderManager contract. It also supports role-based dynamic LP fee management via AccessControl.
Base
beforeSwapafterSwap
12
5mo
IconCurveHookA bonding-curve AMM hook for player ("icon") tokens paired with country tokens. It intercepts every swap to price buys/sells using a virtual-reserves formula, mints/burns PlayerToken on demand, and burns a 5% fee on each trade. Trading is gated behind a phase2Active governance flag set by the owner or pack-opener.
Base
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2
11
11mo
HaberdasheryHookA fee-taking hook that charges a 1% fee on each swap via beforeSwapReturnsDelta, capturing the input-side token as protocol revenue retained by the contract. The owner can withdraw accumulated fees, with non-Habs tokens automatically swapped to a designated Habs token through an internal pool swap.
Base
beforeSwapswapDelta
11
3mo
SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain protocol. The afterInitialize callback is a no-op; the contract provides an external initializePools() function that delegates to a LiquidityBootstrapper contract to set the initial tick and mark the pool as initialized.
Base
afterInit
10
3mo
SaturnOmnichainV4HookA hook for the Saturn Omnichain project that only implements afterInitialize as a no-op stub. Pool and liquidity setup is handled externally via initializePools(), which calls an ISaturnOmnichainLiquidityBootstrapper to bootstrap positions and record the initial tick. No swap logic is present.
Base
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain token that records the initial tick on pool initialization and exposes an initializePools() function to trigger an external liquidity bootstrapper contract. All swap and liquidity hook callbacks are no-ops.
Base
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that implements only afterInitialize. Provides an initializePools() function that delegates to an external LiquidityBootstrapper contract and records the resulting initial tick; all other hook callbacks are no-ops.
Base
afterInit
10
3mo
SaturnOmnichainV4HookMinimal Uniswap v4 hook for the Saturn Omnichain protocol that uses only the afterInitialize permission; all other hook callbacks are no-ops. Provides an initializePools() function that delegates to an external ISaturnOmnichainLiquidityBootstrapper to seed the pool's initial tick.
Base
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol that records pool initialization state. The afterInitialize callback is a no-op; actual liquidity bootstrapping is delegated to an external ISaturnOmnichainLiquidityBootstrapper contract invoked via initializePools().
Base
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that records the initial tick after pool initialization via an external liquidity bootstrapper contract. All swap-related callbacks are no-ops; swap behavior is identical to a standard Uniswap v4 pool.
Base
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain protocol that registers an afterInitialize permission but performs no action in that callback. The contract exposes a separate initializePools() function that calls an external liquidity bootstrapper to record the initial tick.
Base
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that encodes the afterInitialize permission in its address. The afterInitialize callback is a no-op stub. Pool setup is performed via a separate initializePools() function that calls an external ISaturnOmnichainLiquidityBootstrapper.bootstrap() and records the resulting tick.
Base
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook that only implements afterInitialize (as a no-op) to satisfy the Uniswap v4 address bitmask. It exposes an initializePools() function that delegates liquidity bootstrapping to an external ISaturnOmnichainLiquidityBootstrapper contract and records the initial tick.
Base
afterInit
10