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 0x27ea…a0ccRuns code on every swap · Can take tokens from swaps · Runs at pool creation Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 16 3mo CreatorFeeHookV1Charges fixed directional buy and sell fees in beforeSwap or afterSwap depending on trade shape, collecting a protocol fee, and paying the remainder to up to five creator-nominated recipients. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 16 3mo PonsV2MemeHookSingleton post-graduation hook for Pons V2 meme pools that charges a configurable fee on each swap via afterSwap (using the delta return mechanism), converts any memecoin-denominated fees back to the pool's quote currency through internal swaps, then splits the proceeds among protocol, creator, and buyback-and-lock buckets. Robinhood beforeInitafterSwapafterSwapDelta 16 3mo EthCreatorFeeHookV3Charges configurable directional buy/sell fees on native ETH/token pools, splitting proceeds between a creator reward vault (authenticated via a fee-split vault factory) and a fixed launcher fee recipient. Fees are applied via BeforeSwapDelta for native-specified swaps and via afterSwap return delta for token-specified swaps. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 16 3mo MoonsendFeeHook_RHGates pool initialization to factory-registered pools and sets a dynamic LP fee once via `poolManager.updateDynamicLPFee()` in `afterInitialize`. Has no swap-time callbacks; all swap behavior is standard Uniswap v4. Robinhood beforeInitafterInit 16 3mo SaturnOmnichainV4HookA Saturn Omnichain project hook that registers `afterInitialize` as a no-op callback. Initial liquidity setup is performed via a separate `initializePools()` function that invokes an `ISaturnOmnichainLiquidityBootstrapper` contract and records the initial tick. Has no swap-time logic — swaps execute identically to a standard Uniswap v4 pool. Robinhood afterInit 16 3mo SaturnOmnichainV4HookA hook for the Saturn Omnichain project with only afterInitialize permission. The afterInitialize callback is a no-op; liquidity is bootstrapped separately via initializePools(), which delegates to an ISaturnOmnichainLiquidityBootstrapper contract and records the initial tick. Robinhood afterInit 16 4mo ClankerHookStaticFeeV2A Clanker platform hook that enforces per-pool static LP fees with separate buy/sell rates for the Clanker token, collects a protocol fee on each swap via beforeSwap/afterSwap return deltas, and supports an optional MEV-protection module that temporarily raises fees on newly created pools. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 16 4mo 0x2802…60ccRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Runs at pool creation Base beforeInitbeforeSwapafterSwapswapDelta+1 16 5mo 0xaf7c…00c0Runs code on every swap Base beforeSwapafterSwap 16 5mo ContentCoinHookA Uniswap v4 hook for Zora's content coin protocol that, on each swap, collects accrued LP fees from all positions, converts them to a backing currency via multi-hop swaps, and distributes rewards to creators, trade referrers, and LPs. On pool initialization, it mints multiple Doppler-curve liquidity positions. Base afterInitafterSwap 16 7mo Flaunch PositionManagerThe Flaunch protocol's central Uniswap v4 hook managing the full memecoin lifecycle: a time-gated fair launch phase (buy-only), an internal swap pool that recycles accumulated fees as liquidity before hitting the Uniswap pool, protocol and creator fee distribution, and a bid wall for buy-side liquidity support. Base beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+6 16 8mo ClawnchHookStaticFeeV2A Uniswap v4 hook for Clawnch token deployments that sets distinct static LP fees for clawnch-direction vs. paired-direction swaps, and collects a 20% protocol fee on each swap by adjusting swap amounts via beforeSwap and afterSwap return deltas. Base beforeInitbeforeAddLiqbeforeSwapafterSwap+2 16 9mo UniClawHookV4Dual-mode Uniswap v4 hook supporting agent-only and public pools. For agent-only pools, swaps and liquidity actions are gated to verified agents via an on-chain registry. After each swap, a configurable fee (optionally scaled by the swapper's on-chain reputation score) is extracted from the output token and accumulated for the pool creator to collect. Base afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 16 12mo 0x83c7…e8ccRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation Arbitrum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 16 13mo TokenFabToken launch platform hook implementing a bonding curve for new ERC-20 tokens. Collects configurable platform and creator fees on swaps via BeforeSwapDelta and AfterSwapDelta, and automatically graduates tokens to a full AMM pool when the bonding curve supply target is reached. Base beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 16 9d 0xedf4…2880Runs code on every swap · Gates who can add liquidity · Runs at pool creation Robinhood beforeInitbeforeAddLiqbeforeSwap 15 11d FlashPerpsV5HookRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation Base beforeInitafterInitbeforeAddLiqbeforeSwap+2 15 16d 0x0a51…e080Runs code on every swap · Sets its own swap fee · Runs at pool creation Base beforeInitbeforeSwap 15 19d 0x3b0a…e080Runs code on every swap · Sets its own swap fee · Runs at pool creation Robinhood beforeInitbeforeSwap 15 19d 0xfd61…a080Runs code on every swap · Sets its own swap fee · Runs at pool creation Base beforeInitbeforeSwap 15 23d 0x3e5c…c044Runs code on every swap · Can take tokens from swaps Robinhood afterSwapafterSwapDelta 15 24d ReplicaWhitelistHookA Uniswap v4 hook that restricts swaps to whitelisted addresses. It checks `tx.origin` against an external `ISwapWhitelist` contract in `beforeSwap`, reverting with `SwapperNotWhitelisted` for non-whitelisted callers. No modification to swap execution occurs beyond access control. Ethereum beforeSwap 15 30d WstOLaunchHookRuns code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 15 56d GweiFeeHookThe shared Uniswap v4 hook for the gwei.fun token launchpad. On every swap it takes a fee in beforeSwap via BeforeSwapDelta — composed of a platform fee plus a per-pool creator tax with an optional linearly-decaying anti-snipe rate — and splits the proceeds between the pool creator and a protocol buyback vault, accumulating them as ERC-6909 claims redeemable lazily. Ethereum beforeInitbeforeSwapswapDelta 15 59d LaunchpadHookA Uniswap v4 hook that restricts pool initialization to a designated launchpad address (via afterInitialize) and emits a PoolSwap event on every swap for off-chain indexing. No hook deltas are applied and swap execution is unmodified. Robinhood afterInitafterSwap 15 2mo 0xab4b…80ccRuns code on every swap · Can take tokens from swaps Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 15 2mo ModuleNativeHookV1A Uniswap v4 hook for native ETH/token pools that restricts swaps to a pre-registered, per-pool router and charges platform and creator fees on the native currency leg. Supports a module-based programmability system that receives trade callbacks for composable post-swap logic. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 15 2mo 0xc27e…4840Runs code on every swap · Gates who can add liquidity Robinhood beforeAddLiqafterSwap 15 2mo SpotA full-range liquidity hook that applies a dynamic LP fee (base + surge) computed by an external DynamicFeeManager, charges a protocol POL share plus an undisclosed extra 0.10% fee on every swap, reinvests collected fees into a full-range liquidity position, and records truncated geometric mean oracle observations for volatility-adaptive fee tuning. Robinhood afterInitbeforeSwapafterSwapswapDelta+1 15 2mo LaunchHookFee engine for a token launchpad that charges a configurable protocol + creator fee (in the pool's quote token) on every swap via BeforeSwapDelta and afterSwapReturnsDelta. Pools are registered by a factory, liquidity is seeded exactly once and permanently locked, and an optional linearly-decaying anti-snipe fee surge applies in the blocks after launch. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 15 2mo 0x0f91…a0ccRuns code on every swap · Can take tokens from swaps · Runs at pool creation Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 15 2mo ApexHookCollects a configurable flat fee (in basis points) on every swap for factory-registered token pools, routing fees to the token creator's claimable balance. Uses beforeSwap and afterSwap return deltas to extract fees from both exact-input and exact-output swap directions. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 15 2mo PulseHookA fee-collection hook for a token launch platform (Pulse) that charges buy/sell fees and time-decaying anti-snipe fees during early blocks after launch. Fees are taken from the quote currency and routed to token creators' claimable balances. Tokens must be registered via the factory contract before fee logic activates. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 15 2mo 0x51a8…d080Runs code on every swap · Sets its own swap fee · Runs at pool creation Base afterInitbeforeSwap 15 2mo BaldPadFunFeeHookVolatility-based ETH fee hook for BaldPadFun launch pools. Charges 1–5% fees in native ETH on exact-input buys (via beforeSwap delta) and sells (via afterSwap delta), with the fee scaling linearly based on the previous swap's tick movement. Fees are sent directly to a per-pool fee recipient on each swap. Exact-output swaps are rejected. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 15 2mo 0x0000…0030Handles donations to LPs Base beforeDonateafterDonate 15 2mo 0x1030…4088Runs code on every swap · Can take tokens from swaps · Sets its own swap fee Ethereum beforeSwapswapDelta 15 2mo 0x88a5…80ccRuns code on every swap · Can take tokens from swaps Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 15 3mo NFTXV4HookNFTX's Uniswap v4 hook for NFT collection token pools, managing pool lifecycle (register, initialize, deregister), dynamic LP fees with per-address exemptions, an additional AMM fee credited to a beneficiary, deferred LP fee donations, and a truncated price oracle. Each pool is tied to one NFT collection. Ethereum beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+4 15 3mo SaturnOmnichainV4HookA hook with only the afterInitialize permission bit set, where the callback itself is a no-op. The contract exposes an initializePools() function that calls an external ISaturnOmnichainLiquidityBootstrapper to obtain and store the initial tick, but this is independent of the hook callback. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that holds only the afterInitialize permission but performs no logic within that callback. Pool initialization is delegated to an external LiquidityBootstrapper contract via initializePools(), which records the initial tick. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA Saturn Omnichain project hook that registers the afterInitialize callback (implemented as a no-op). Exposes an initializePools() function callable by anyone, which delegates to an external LiquidityBootstrapper contract to bootstrap liquidity and record the initial pool tick. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that registers an afterInitialize callback (no-op) and exposes an initializePools() function that delegates to an external liquidity bootstrapper contract to seed initial pool positions. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain protocol with only an afterInitialize permission. The afterInitialize callback is a no-op; actual pool setup is handled externally via initializePools(), which calls a LiquidityBootstrapper contract and records the initial tick. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project with only afterInitialize enabled as a no-op stub. Liquidity bootstrapping is delegated to an external ISaturnOmnichainLiquidityBootstrapper contract called via initializePools(), which records the initial tick. Has no swap-related logic. Ethereum afterInit 15 3mo SaturnOmnichainV4HookMinimal hook for Saturn Omnichain that implements only afterInitialize as a no-op. Pool bootstrapping is performed via a separate ISaturnOmnichainLiquidityBootstrapper contract that sets initial tick and liquidity; the hook records initialTick and a poolInitialized flag. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that holds an afterInitialize permission (callback is a no-op) and exposes an initializePools() entry point that delegates liquidity bootstrapping to an external contract and records the initial tick. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that registers an afterInitialize permission (the callback is a no-op). Pool initialization and liquidity bootstrapping are performed via a separate `initializePools()` function that calls an external LiquidityBootstrapper contract to set the initial tick and pool positions. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that registers the afterInitialize permission but performs no action in that callback. Pool initialization and initial tick recording are handled externally via the initializePools() function, which delegates to an immutable LiquidityBootstrapper contract. All hook callbacks are passive no-ops. Ethereum afterInit 15