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
3mo
BasedBidHookRuns code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation
Ethereum
afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
11
5mo
OneTimeLaunchHookTemplateA launch hook that restricts pool initialization and liquidity addition to a single occurrence per token. In afterSwap, when enabled via the permissionless zero() function, reverts non-zeroForOne (buy) swaps if tx.origin is not in a deployer-managed allowlist, creating asymmetric swap access control.
Ethereum
beforeInitbeforeAddLiqafterSwap
11
6mo
Unipump Fee HookSingleton Uniswap v4 hook that collects a configurable fee (50–1000 bps) from the unspecified token of each swap in Unipump pools. Splits fees 60% to the pool creator and 40% to a fixed platform wallet; only factory-registered pools may use this hook.
Ethereum
beforeInitafterSwapafterSwapDelta
11
20mo
Cork AMM (Ethereum)Cork AMM is a custom Uniswap v4 hook for the Cork Protocol that implements a specialized AMM for depeg-swap token pairs (RA and CT). It replaces the standard Uniswap price curve with its own pricing logic, gates all native liquidity modifications through the hook's own interface, and supports optional flash swaps via a CorkSwapCallback pattern.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1
11
22d
0x2c29…60ccRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
10
24d
0xdc67…6044Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Runs at pool creation
Ethereum
beforeInitafterSwapafterSwapDelta
10
27d
HashmindHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
10
31d
RotationHookRuns code on every swap · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate
10
57d
SimHookDynamic-fee Uniswap v4 hook that prices each swap based on cumulative directional price impact with time decay, simulating the swap first to estimate impact before execution. Includes JIT liquidity protection via block-based position locks and takes a governance-controlled protocol fee split from the dynamic LP fee.
Ethereum
beforeInitafterInitbeforeAddLiqafterAddLiq+4
10
2mo
ForgeHookV4A Uniswap v4 hook for controlled token launches that enforces launchManager authorization for pool initialization and liquidity provision. Collects configurable buy/sell fees via swap deltas and distributes fee shares across platform, creator, rewards, and utility recipients. Remove liquidity and donations are permanently disabled.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+4
10
2mo
BallisticFeeHookV3Directional quote-currency fee hook with configurable per-pool buy/sell fee rates, a time-decaying opening fee schedule, and a 10 bps platform floor. Fees are split between a per-pool creator allocation vault and a platform treasury collector. The hook bypasses fees for the registered allocation vault address.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
10
3mo
SaturnOmnichainV4HookHook for the Saturn Omnichain project with only the afterInitialize flag set. All hook callbacks are pure no-ops returning the selector. An external initializePools() function delegates to an ISaturnOmnichainLiquidityBootstrapper contract to bootstrap liquidity and records the resulting initial tick on-chain.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA hook for the Saturn Omnichain protocol that records the initial pool tick after initialization via a separate liquidity bootstrapper contract. Only afterInitialize is enabled; all swap hooks are no-op stubs, making swap behavior entirely vanilla.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA hook for the Saturn Omnichain project that records the initial tick after pool initialization via an external liquidity bootstrapper contract. All swap and liquidity callbacks are no-ops.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol with the afterInitialize permission enabled. The afterInitialize callback performs no action. A separate initializePools() function (not invoked via the hook mechanism) calls a LiquidityBootstrapper to record the initial tick and set a poolInitialized flag.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA v4 hook with only an afterInitialize permission, which performs no action in the callback (returns selector only). Exposes an initializePools() function that delegates to an external ISaturnOmnichainLiquidityBootstrapper contract to bootstrap initial liquidity and record the pool's initial tick.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookSaturn Omnichain V4 hook with an afterInitialize flag set (callback is a no-op). The initial tick is recorded via the separate `initializePools()` function, which calls the liquidity bootstrapper contract to seed initial positions.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA pass-through Uniswap v4 hook for the Saturn Omnichain project. Only afterInitialize is enabled, but the callback performs no logic. A separate initializePools() function bootstraps liquidity via an external contract and records the initial tick.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook that implements only the afterInitialize permission, recording an initial tick from a separate liquidity bootstrapper contract. All hook callbacks are no-ops; swap behavior is identical to a standard pool.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookMinimal Uniswap v4 hook for the Saturn Omnichain project. Only `afterInitialize` is enabled (as a no-op). Exposes an `initializePools()` function that calls an external liquidity bootstrapper contract to record the initial tick and mark the pool as initialized.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook with only the afterInitialize permission bit set. The afterInitialize callback is a no-op (returns the selector only). Liquidity bootstrapping and initial tick recording are performed via a separate initializePools() call that delegates to an external ISaturnOmnichainLiquidityBootstrapper contract. No swap, liquidity, or donate hooks are active.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for Saturn Omnichain token pools that registers an afterInitialize callback (which is a no-op) and exposes an initializePools() function that delegates liquidity bootstrapping to a separate LiquidityBootstrapper contract to set initial tick positions.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookUniswap v4 hook for the Saturn Omnichain project. Implements only the afterInitialize permission (as a no-op) and exposes an initializePools() function that delegates to an external LiquidityBootstrapper contract to seed initial liquidity and record the pool's starting tick.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol that registers afterInitialize as a no-op permission placeholder. Pool setup is delegated to an external LiquidityBootstrapper contract via initializePools(), which records the initial tick and marks the pool as initialized on-chain.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain protocol that activates only on pool initialization. The afterInitialize callback is a no-op (returns selector only); external liquidity bootstrapping is handled by a separate ISaturnOmnichainLiquidityBootstrapper contract. Has no swap hooks.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that records pool initialization state. The afterInitialize callback is enabled but performs no additional logic; a separate initializePools() function delegates to an external ISaturnOmnichainLiquidityBootstrapper contract to bootstrap liquidity and store the initial tick.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA hook for the Saturn Omnichain project that records the initial tick after pool initialization via an external liquidity bootstrapper contract. Only the afterInitialize permission is enabled; swap behavior is identical to a standard Uniswap v4 pool.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol with only the afterInitialize permission bit set. The afterInitialize callback is a no-op. The contract also exposes an initializePools() function that calls an external liquidity bootstrapper to record an initial tick and set a poolInitialized flag. It does not interfere with swaps, liquidity operations, or donations.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook that holds afterInitialize permission but implements all callbacks as no-ops. Coordinates multi-chain pool setup via a separate LiquidityBootstrapper contract, recording the initial tick on-chain when initializePools() is called.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that stores pool configuration constants and integrates with a liquidity bootstrapper contract to initialize liquidity positions. The afterInitialize callback is a no-op; swaps execute without any hook intervention.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that records the initial pool tick after initialization. An external ISaturnOmnichainLiquidityBootstrapper contract handles liquidity bootstrapping; the hook stores the resulting tick and a poolInitialized flag for on-chain state tracking.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook with only afterInitialize permission. The afterInitialize callback is a no-op. A separate initializePools() function delegates to a linked ISaturnOmnichainLiquidityBootstrapper contract to bootstrap pool liquidity and record the initial tick.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that uses only the afterInitialize permission. The afterInitialize callback is a no-op stub; all swap-related callbacks are stubs not active in the address bitmask. Pool setup is delegated to an external ISaturnOmnichainLiquidityBootstrapper via a separate initializePools() function that records the initial tick.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookMinimal hook for the Saturn omnichain token project. Only the afterInitialize flag is set; the callback is a pure no-op returning the selector. Includes an initializePools() function that delegates to an external ISaturnOmnichainLiquidityBootstrapper contract to seed initial pool liquidity and records the resulting initial tick.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookSaturn Omnichain hook with afterInitialize permission (no-op callback). Provides an initializePools() function that delegates to a separate LiquidityBootstrapper contract to seed initial liquidity and records the starting tick.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookMinimal Uniswap v4 hook for the Saturn Omnichain project. Registers only the afterInitialize permission (the callback itself is a no-op). Pool initialization and tick recording are performed by calling initializePools(), which delegates to an external ISaturnOmnichainLiquidityBootstrapper contract. All other hook callbacks are no-ops.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn omnichain protocol. Only afterInitialize is flagged but its callback is a no-op (returns selector only). The actual pool bootstrapping is performed by a separate LiquidityBootstrapper contract invoked via the initializePools() function, which records the initial tick and sets a poolInitialized flag.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookMinimal hook for the Saturn Omnichain protocol that registers only an afterInitialize permission (no-op callback). Exposes an initializePools() function that calls an external ISaturnOmnichainLiquidityBootstrapper contract to bootstrap pool liquidity and record the initial tick.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain protocol implementing only afterInitialize as a no-op. Exposes initializePools() which delegates to an external LiquidityBootstrapper to record the initial tick and mark the pool as initialized. All swap and liquidity callbacks are no-ops.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookHook for the Saturn Omnichain project that implements only afterInitialize as a no-op. Includes an external initializePools() function that calls a liquidity bootstrapper contract and records the initial tick; all other hook callbacks are pure no-ops.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that holds the afterInitialize permission but performs no action in its callback. Liquidity bootstrapping is delegated to an external ISaturnOmnichainLiquidityBootstrapper contract via initializePools(), which records the initial tick on-chain.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project that implements only afterInitialize as a no-op. It stores pool initialization state and delegates initial liquidity bootstrapping to an external ISaturnOmnichainLiquidityBootstrapper contract via initializePools().
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that holds an afterInitialize permission but performs no logic in that callback. Pool initialization state (initialTick, poolInitialized) is tracked via the separate externally-callable initializePools() function, which calls a liquidity bootstrapper contract. All hook callbacks are no-ops.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol that records the initial tick after pool initialization via an external liquidity bootstrapper contract. No swap behavior is modified; all swap-related hook functions are no-ops.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol that registers afterInitialize to track pool setup. An initializePools() function delegates to an external LiquidityBootstrapper to bootstrap liquidity and records the initial tick. The hook applies no logic to swaps, liquidity, or donations.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that implements only afterInitialize. It provides an initializePools() function that calls an external liquidity bootstrapper to set the initial tick; swap and liquidity callbacks are no-ops with no access control or fee logic.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that only implements afterInitialize as a no-op. It stores pool initialization parameters and delegates liquidity bootstrapping to a companion ISaturnOmnichainLiquidityBootstrapper contract via initializePools(). All swap, liquidity, and donate callbacks are pure stubs.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that enables afterInitialize but performs no logic in any hook callback. Pool initialization tick is recorded externally via a separate liquidity bootstrapper contract called through initializePools().
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that registers afterInitialize permission to validate hook address constraints at deployment. The afterInitialize callback is a no-op; actual pool setup is performed via initializePools(), which delegates liquidity bootstrapping to a separate ISaturnOmnichainLiquidityBootstrapper contract.
Ethereum
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook with a no-op afterInitialize callback. Pool initialization is triggered externally via initializePools(), which calls an ISaturnOmnichainLiquidityBootstrapper contract to bootstrap liquidity and records the resulting initial tick and pool initialization status on-chain.
Ethereum
afterInit
10