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
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