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
3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project with only afterInitialize enabled (no-op). Provides a permissionless initializePools() function that delegates to an external LiquidityBootstrapper contract and records the pool's initial tick. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol that records the initial tick after pool initialization. It delegates liquidity bootstrapping to an external ISaturnOmnichainLiquidityBootstrapper contract and has no swap-time logic. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project. Only the afterInitialize permission is set; the callback is a no-op returning the selector. Provides an initializePools() function that delegates liquidity bootstrapping to an external LiquidityBootstrapper contract and records the resulting initial tick. Robinhood afterInit 10 3mo SaturnOmnichainV4HookMinimal hook for the Saturn Omnichain protocol that only uses afterInitialize, which is a no-op returning the selector. An external initializePools() function calls a LiquidityBootstrapper contract to set the initial tick and mark the pool as initialized. No swap, liquidity, or donate logic is modified. Robinhood afterInit 10 3mo SnipeGuardHookApplies a punitive dynamic swap fee at pool launch that decays linearly from 50% to 1% over 180 seconds, discouraging sniper bots from buying in the first blocks after a pool is created. Robinhood afterInitbeforeSwap 10 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project with only the afterInitialize flag set. All hook callbacks are no-ops that return their selectors. The contract also exposes an `initializePools()` function that calls a liquidity bootstrapper to record an initial tick, but this is not part of the hook callback logic. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that registers afterInitialize but performs no action in that callback. Provides an external initializePools() function that calls an external liquidity bootstrapper and records the returned initial tick. Has no swap, liquidity, or donate logic. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA Saturn Omnichain hook that registers the afterInitialize permission but performs no action in that callback. Separately exposes an `initializePools()` function (callable by anyone) that invokes a LiquidityBootstrapper to record the initial tick and mark the pool as initialized. Swaps execute identically to a standard Uniswap v4 pool. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA Saturn Omnichain hook that enables only afterInitialize (which is a pure no-op). Pool setup is handled externally via initializePools(), which calls a bootstrapper contract to record the initial tick. No logic executes at swap or liquidity time. Robinhood 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. All hook callbacks (swap, liquidity, donate) are no-op stubs that simply return their selectors. Robinhood afterInit 10 3mo SaturnOmnichainV4HookUniswap v4 hook for the Saturn Omnichain project that activates only on pool initialization (afterInitialize). It delegates liquidity bootstrapping to an external ISaturnOmnichainLiquidityBootstrapper contract and records the initial tick. No swap or liquidity modification logic is active. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project with only the afterInitialize flag active (implemented as a no-op). Includes a separate initializePools() function that delegates to an external LiquidityBootstrapper to record the initial tick. Swap behavior is entirely vanilla. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project that registers an afterInitialize callback (no-op) and provides an `initializePools()` function for bootstrapping initial liquidity and recording the pool tick via an external liquidity bootstrapper contract. Robinhood afterInit 10 3mo SaturnOmnichainV4HookMinimal Uniswap v4 hook for the Saturn Omnichain protocol. Only implements the afterInitialize flag (as a no-op callback). Pool initialization and initial tick recording are handled externally via `initializePools()`, which calls an external `ISaturnOmnichainLiquidityBootstrapper` contract. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project that enables the afterInitialize permission (as a no-op callback), with pool bootstrapping performed via a separate initializePools() function that calls a dedicated ISaturnOmnichainLiquidityBootstrapper to record the initial pool tick. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA Uniswap v4 hook for Saturn Omnichain that enables only the afterInitialize callback (a no-op returning only the selector) and exposes an initializePools() function that delegates liquidity bootstrapping to a separate contract and records the initial tick. All swap, liquidity, and donate callbacks are no-ops. Robinhood afterInit 10 3mo SaturnOmnichainV4HookUniswap v4 hook for the Saturn Omnichain project that only uses afterInitialize. All swap and liquidity callbacks are no-ops. On pool initialization, it delegates to an external LiquidityBootstrapper to bootstrap liquidity and records the initial tick. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project that implements only afterInitialize (returning the selector as a no-op). All swap, liquidity, and donate callbacks are pure stubs. Pool initialization is managed externally via a LiquidityBootstrapper contract called through initializePools(). Robinhood afterInit 10 3mo Rivers LaunchHookSingleton Uniswap v4 hook for Rivers protocol launch pools, managing a pre/post-graduation lifecycle. During pre-launch phases, liquidity and swaps are restricted to the pool controller. After graduation, public swaps are enabled with protocol and creator fees taken as BeforeSwapDelta/AfterSwapDelta values and a dynamic LP fee override returned from beforeSwap. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 10 3mo BagsV4HookA shared Uniswap v4 hook for Bags platform pools that enforces full-range, permanently locked liquidity, overrides LP fees to 0, and charges a 2% fee on the WETH leg of every swap, split 50/50 between the Bags vault and a per-pool creator fee share recipient. Robinhood beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+4 10 3mo BasedBidHookRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Runs at pool creation Robinhood afterInitbeforeSwapafterSwapswapDelta+1 10 2d BlackSwanHookRuns code on every swap · Sets its own swap fee · Runs at pool creation Robinhood beforeInitbeforeSwapafterSwap 9 10d HookManagerRuns code on every swap · Can take tokens from swaps · Runs at pool creation Robinhood beforeInitafterInitbeforeSwapafterSwap+2 9 12d FullRangeGates who can add liquidity · Runs at pool creation Robinhood beforeInitbeforeAddLiq 9 17d 0x9585…c880Runs code on every swap · Sets its own swap fee · Gates who can add liquidity Robinhood beforeAddLiqbeforeSwap 9 25d StaticsSwapFeeHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation · Handles donations to LPs Robinhood afterInitbeforeSwapafterSwapbeforeDonate+2 9 28d LaunchpadFeeHookV3Runs code on every swap · Can take tokens from swaps · Runs at pool creation Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 9 28d BorroHookRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation Robinhood beforeInitbeforeAddLiqbeforeSwapswapDelta 9 36d 0xc902…20c4Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Runs at pool creation Robinhood beforeInitbeforeSwapafterSwapafterSwapDelta 9 38d LaunchHookV12Runs code on every swap · Runs at pool creation Robinhood beforeInitafterInitbeforeSwapafterSwap 9 40d LaunchHookV12Runs code on every swap · Runs at pool creation Robinhood beforeInitafterInitbeforeSwapafterSwap 9 45d StreetHookRuns code on every swap · Can take tokens from swaps Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 9 45d LauncherpadFeeHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 9 45d BlissHookRuns code on every swap · Sets its own swap fee · Runs at pool creation Robinhood beforeInitbeforeSwap 9 45d 0x84ab…e0ccRuns code on every swap · Can take tokens from swaps · Runs at pool creation Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 9 46d 0x5afd…90c4Runs code on every swap · Can take tokens from swaps · Runs at pool creation Robinhood afterInitbeforeSwapafterSwapafterSwapDelta 9 48d 0x2437…c0ccRuns code on every swap · Can take tokens from swaps Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 9 51d StonkHookV4A token launchpad hook for Robinhood Chain that gates swaps to an ERC-20-enforced trading window (NYSE hours), applies dynamic fees with an anti-snipe surcharge that decays over three seconds post-launch, and withholds asset-leg fees as ERC-6909 claims split among liquidity, creator, protocol, and treasury. Liquidity removals are permanently blocked; the liquidity fee share is placed as one-sided resting bids below spot, funding a perpetual price floor. Robinhood afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 9 51d 0x4949…80c4Runs code on every swap · Can take tokens from swaps · Sets its own swap fee Robinhood beforeSwapafterSwapafterSwapDelta 9 51d 0x58f5…8080Runs code on every swap · Sets its own swap fee Robinhood beforeSwap 9 52d MarketHookA prediction market hook that gates all pool operations through a designated router contract. Swaps and liquidity additions require trading to be open (via IMarketHookRouter.isTradingOpen()), fees must remain at zero, and donations are permanently disabled. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 9 53d UnihoodStockHookRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation Robinhood beforeInitbeforeAddLiqbeforeSwapafterSwap+2 9 53d 0x9954…1080Runs code on every swap · Sets its own swap fee · Runs at pool creation Robinhood afterInitbeforeSwap 9 54d ForgeHookV4Token launch hook that collects configurable buy/sell fees (via swap deltas) on launchManager-registered pools, distributing proceeds among platform, creator, rewards, and utility recipients. Enforces a single liquidity position per pool and permanently disables liquidity removal. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+4 9 55d 0x772d…6044Runs code on every swap · Can take tokens from swaps · Runs at pool creation Robinhood beforeInitafterSwapafterSwapDelta 9 55d 0x8561…45c7Runs code on every swap · Can take tokens from swaps · Takes a cut when LPs withdraw · Adjusts deposit amounts Robinhood afterAddLiqafterRemoveLiqbeforeSwapafterSwap+3 9 57d 0xc732…3accRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation Robinhood beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 9 59d 0x9a8a…4880Runs code on every swap · Sets its own swap fee · Gates who can add liquidity Robinhood beforeAddLiqbeforeSwap 9 59d DynamicFeeHookV4Sets its own swap fee · Runs at pool creation Robinhood afterInit 9 2mo 0x990b…0088Runs code on every swap · Can take tokens from swaps Robinhood beforeSwapswapDelta 9