UniHooks

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.

Filters 1
Type
Safety
Activity
Permissions
Hooks with all of the selected permissions:
Sort
AgeHookChainPermissionsPools
7mo LiquidHookDynamicFeeV2A Uniswap v4 hook that adjusts LP fees dynamically based on a volatility accumulator derived from tick movement between swaps, and collects protocol fees on each swap by modulating swap deltas via beforeSwapReturnsDelta and afterSwapReturnsDelta. Supports optional MEV module and pool extension integrations. Base beforeInitbeforeAddLiqbeforeSwapafterSwap+2 17 28d 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 16 2mo FewHookA fee-collection hook for few.fun launchpad pools that takes a fixed percentage of each swap in the quote asset, split between the pool creator and a protocol treasury. Includes a temporal guard that caps individual buy sizes during a configurable opening window after pool launch. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 16 2mo OmniHookTakes a 10 bps fee on every swap output, splitting it among five hardcoded recipients via an on-chain owed-balance ledger that anyone can claim permissionlessly. Fees are captured via beforeSwap and afterSwap delta returns. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 16 2mo PumpV4StockHookA fee-and-liquidity hook for token launches quoted in an arbitrary ERC-20. Charges a 2% fee on both buy (via beforeSwap delta) and sell (via afterSwap delta) swap directions, restricts liquidity additions to a single factory-authorized initial seed, and permanently locks liquidity removal by reverting in beforeRemoveLiquidity. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 16 3mo LaunchpadHookA launchpad hook that collects configurable swap fees on registered token pools, splits fees between token creators and a platform treasury, distributes cuts through a three-tier referral chain, and records quote volume to a factory contract for graduation tracking. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 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 6mo 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 ClankerHookDynamicFeeV2Clanker's v2 dynamic fee hook that adjusts LP fees based on a tick-difference volatility accumulator, collecting a 20% protocol fee on each swap. Supports optional MEV protection and pool extension modules. BSC beforeInitbeforeAddLiqbeforeSwapafterSwap+2 16 9mo 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 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 22d DynamicFeeUniswap v4 hook that lets an off-chain keeper dynamically set LP fees per pool within configurable min/max bounds, with a TTL-based expiry that falls back to a default fee. Also charges a separate hook fee per swap, minted as ERC-6909 claims to a treasury address. Base beforeSwapafterSwapafterSwapDelta 15 36d LimitOrderHookA Uniswap v4 Hook that enables on-chain limit orders on supported liquidity pools. Users can set a target price, and when the pool price reaches the specified price, the Hook automatically executes the order. This enables users to place limit orders directly on Uniswap v4. Base afterInitafterSwap 15 2mo 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 2mo 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 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 LaunchpadHookA token launchpad hook that collects swap fees and splits them between creators and a platform treasury, with optional buyback-and-burn and dividend distribution. Enforces a snipe-protection window and a per-token max-buy cap during a fair launch period, both gated by block.timestamp. BSC beforeSwapafterSwapswapDeltaafterSwapDelta 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 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 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 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 3mo SaturnOmnichainV4HookMinimal hook for the Saturn Omnichain project that only registers an afterInitialize permission. The afterInitialize callback is a no-op; pool initialization and liquidity bootstrapping are handled externally via a separate LiquidityBootstrapper contract. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project that records pool initialization state via an external liquidity bootstrapper contract. Only afterInitialize is active; no swap or liquidity callbacks modify swap behavior. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that records initial tick data. Implements only afterInitialize (a no-op returning the selector), while a separate initializePools() function triggers an external bootstrapper contract to seed liquidity and store the initial tick. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that only implements afterInitialize. It delegates liquidity bootstrapping to an external ISaturnOmnichainLiquidityBootstrapper contract and records the initial tick. No swap, fee, or liquidity logic is active. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that records the pool's initial tick after initialization, delegating liquidity setup to an external bootstrapper contract. No swap, liquidity modification, or fee logic is implemented. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for Saturn Omnichain that registers only the afterInitialize permission but performs no action in the callback. The contract separately exposes an initializePools() function that calls an external ISaturnOmnichainLiquidityBootstrapper to coordinate initial liquidity bootstrapping. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol with an afterInitialize callback that is a no-op stub. The contract exposes an initializePools() function that calls an external liquidity bootstrapper and stores the resulting initial tick and initialization status on-chain. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project. Only `afterInitialize` is enabled (as a no-op returning the selector). Liquidity bootstrapping is delegated to an external `ISaturnOmnichainLiquidityBootstrapper` contract via the `initializePools()` function. All swap and liquidity callbacks are pure no-ops. Ethereum afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project with only the afterInitialize permission enabled (implemented as a no-op stub returning the selector). Pool initialization is bootstrapped via an external ISaturnOmnichainLiquidityBootstrapper contract through a separate initializePools() call; the hook does not modify swap or liquidity behavior. Ethereum afterInit 15