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
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 3mo SaturnOmnichainV4HookHook for the Saturn Omnichain project that records the initial tick after pool initialization via an external liquidity bootstrapper. Only afterInitialize is active; all swap and liquidity callbacks are no-ops that return their selectors unchanged. Ethereum afterInit 10 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that implements afterInitialize as a no-op and exposes an initializePools() function that calls an external liquidity bootstrapper and records the initial tick and poolInitialized flag. Ethereum afterInit 10 3mo SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that only implements afterInitialize to support pool setup. It stores the initial tick and a poolInitialized flag when called via initializePools(), which delegates to an external liquidity bootstrapper. No swap-side logic is present. Ethereum afterInit 10 3mo SaturnOmnichainV4HookHook with only afterInitialize permission. Exposes an initializePools() function that delegates to an external LiquidityBootstrapper contract to set up liquidity positions, recording the initial tick and marking the pool as initialized. All swap, liquidity, and donate callbacks are pure no-op stubs. Ethereum afterInit 10 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project with only the afterInitialize flag set. The afterInitialize callback is a pure no-op (returns selector only). Pool initialization is triggered externally via initializePools(), which delegates to a LIQUIDITY_BOOTSTRAPPER contract to bootstrap liquidity and record the initial tick. Ethereum afterInit 10 5mo LivoSwapHookSingleton Uniswap v4 hook for tokens graduated via the Livo launchpad that collects a 0.5% LP fee (split 50/50 between creator and treasury) on all swaps, plus an optional time-limited buy/sell tax configurable per token. Swaps are blocked before token graduation. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 10 7mo TokiHookUniswap v4 custom curve hook implementing Pendle-style fixed-rate yield trading for Principal Tokens. Uses a custom AMM curve with optional ERC4626 rehypothecation to boost LP yields, maintains a TWAP oracle for logarithmic implied rates, and enforces curator-controlled pool lifecycle with pause and maturity expiry. Ethereum afterInitbeforeAddLiqbeforeSwapswapDelta 10 9mo UPeg HookCalls `start()` on a configured token when the first liquidity is added to that token's pool, and updates an internal random seed on each swap involving the configured token. Both actions are no-ops when no token is configured or for pools not involving the token. Ethereum afterAddLiqafterSwap 10 18mo BackGeoOracleAn oracle hook for Uniswap v4 that records TWAP price observations and executes backrun protection after large swaps. When tick movement exceeds a threshold, the hook performs an inverse counter-swap and credits recovered value to the user as ERC-6909 tokens via the router's `msgSender()` interface. Ethereum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+3 10 2mo StockpairHookUniswap v4 hook that charges a 2% fee on token sells (0% on buys), split 60/40 between the pool creator and a platform address. Liquidity additions are restricted to the factory contract and removals always revert, locking LP positions permanently. Ethereum beforeAddLiqbeforeRemoveLiqafterSwapafterSwapDelta 9 2mo LaunchHookA token launch hook that seeds a single-range liquidity position and charges a high anti-snipe fee (99%) that linearly decays to 1% over 20 seconds post-launch. Only the hook itself can add/remove liquidity. Buy fees are collected via beforeSwap; sell fees via afterSwap. Fees are split between the token creator and a protocol fee escrow. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 9 2mo MixpadHookMixpadHook collects a configurable platform fee on every swap for factory-registered tokens, splitting revenue between the token creator and treasury. It applies anti-snipe surcharges in blocks immediately after launch, a time-decaying deployer dump surcharge, optional buyback-and-burn of the creator's fee share, and optional dividend routing to a yield vault. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 9 3mo BallisticFeeHookV1Charges immutable directional buy/sell fees on registered native ETH/token pools, splitting collected fees 90/10 between a per-pool creator reward vault and an immutable treasury. Supports optional launch-period fee schedules with linear time-decay from a higher opening rate to a settled base rate. Ethereum beforeInitbeforeSwapafterSwapswapDelta+1 9 3mo BDeFiHookBuilDeFi's swap hook that applies configurable buy/sell taxes on each trade, routes proceeds to fee distributors, fulfills queued token orders at TWAP price against collected fees, and records truncated geo-oracle observations. Trading is gated on a per-token fully-initialized flag set by the LP manager. Ethereum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 9 4mo SimHookMVPA dynamic-fee hook that sets LP fees based on simulated price impact and a time-decaying cumulative price imbalance score. Includes an owner-configurable JIT liquidity lock that prevents LPs from removing liquidity within a configurable block window after adding it. Ethereum beforeInitafterInitafterAddLiqbeforeRemoveLiq+2 9 6mo HeisenbergHookA Uniswap v4 hook for an ETH/$HEIST token pool that charges a 2% swap fee split 50/40/10 between a redemption treasury, a platform wallet, and a buy-and-burn fund. Operates 300-block "heist" windows where buyers earn $LOOT rewards based on buy volume and entry timing, with a probabilistic bust mechanic driven by a global heat accumulator and a swap coherence metric. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2 9 6mo LimitOrderHookA deployment of OpenZeppelin's LimitOrderHook — a Uniswap v4 hook implementing single-tick limit orders. Users place orders by providing concentrated liquidity at a specific tick; when the pool price crosses that tick, the position is automatically filled and can be withdrawn at any time. Original implementation by OpenZeppelin (github.com/OpenZeppelin/uniswap-hooks). Deployed to Ethereum mainnet to make this functionality publicly accessible. Ethereum afterInitafterSwap 9 10mo BVCC Dynamic Fee Hook (Ethereum)An advanced anti-bot Uniswap v4 hook by BlockVenture Chain Capital that dynamically adjusts LP fees based on gas price levels, volatility, and 24-hour pool volume. It applies a repeat-swap penalty to deter bot activity and collects a small hook fee from each swap's output amount. Ethereum afterInitbeforeSwapafterSwapafterSwapDelta 9 11mo ArrakisPrivateHookA Uniswap v4 hook for the Arrakis private vault system that applies directional dynamic LP fee overrides per pool (separate rates for zeroForOne and oneForZero swaps), and restricts liquidity additions to the authorized module for each pool. Ethereum beforeAddLiqbeforeSwap 9 2mo LoomHookLoomHook charges a configurable levy (up to 5%) on swaps in registered token pools, deducting the fee from either the input or output amount using BeforeSwapDelta/AfterSwapReturnDelta. Fees accumulate per-maker and can be withdrawn via harvest(). Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 8 2mo GweiFeeHookThe single Uniswap v4 hook used by all gwei.fun launchpad pools. In `beforeSwap`, it deducts a configurable fee (platform fee plus optional per-pool creator tax with separate buy/sell rates and a linearly-decaying anti-snipe tax) from the specified currency via BeforeSwapDelta, routing proceeds to the creator's fee recipient and a GWEI buyback vault as ERC-6909 claims. Ethereum beforeInitbeforeSwapswapDelta 8 4mo OrbitHookA hub-and-spoke liquidity hook for the ORBIT token. Satellite pools (ORBIT/quote) use fully custom accounting: buys fill from a hook-held ORBIT reserve, sells draw from banked quote inventory, both priced via Core TWAP × external oracle with a spread earmarked for token burns. The Core pool (ORBIT/WETH) is passthrough-guarded by a TWAP deviation band and per-block notional cap. Ethereum beforeInitafterInitbeforeSwapafterSwap+1 8