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
16mo Clanker Static Fee Hook (Unichain)Applies configurable, direction-dependent static fees to swaps involving Clanker-deployed tokens, collecting protocol fees from the paired token side. Includes an optional MEV-protection module that is active for the first two minutes after pool deployment. Unichain beforeInitbeforeAddLiqbeforeSwapafterSwap+2 1,310 5mo PrediXHookProxyV2ERC1967-style upgradeable proxy for a prediction market AMM hook. Gates swaps through a trusted-router allowlist with per-swap anti-sandwich identity commitments; all registered pools must use dynamic fees, which the hook overrides per-swap. Emits per-trade price and USDC volume events for each registered prediction-market pool. Enforces 48-hour timelocks on upgrades, diamond rotation, and admin transfers. Unichain beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2 1,034 17mo Uniderp Hook (Unichain)A fee-collection and referral hook for Uniderp token launches on Unichain that takes a 1% fee on swaps and distributes it among token creators, multi-level referrers (up to 3 tiers), and the platform via afterSwapReturnsDelta. It also records referral relationships during swaps and liquidity additions when a referrer address is provided in hookData. Unichain afterAddLiqafterSwapafterSwapDelta 114 16mo Clanker Dynamic Fee Hook (Unichain)A Clanker-integrated hook that dynamically adjusts LP fees based on price volatility (tick-difference accumulation with decay), charging a base fee plus a variable component scaled by recent price movement. It also extracts a 20% protocol fee on non-clanker token sides of swaps, and temporarily protects newly launched pools via a configurable MEV module for the first 2 minutes post-creation. Unichain beforeInitbeforeAddLiqbeforeSwapafterSwap+2 71 17mo BunniHookFull-featured AMM hook implementing custom swap routing via beforeSwapReturnsDelta, TWAP-based dynamic fees, surge fees, am-AMM auction-managed fee markets, and a TWAP price oracle. Liquidity distribution is controlled by pluggable Liquidity Density Functions (LDF); pool-specific logic can be extended via an optional hooklet interface. Unichain afterInitbeforeAddLiqbeforeSwapswapDelta 50 12mo Aegis v3 Hook (Unichain)A dynamic AMM hook that adjusts LP fees based on market volatility using a truncated geometric oracle with surge fee mechanism, enforces tick movement caps to limit price manipulation, and automatically reinvests protocol fees into full-range liquidity positions. Unichain afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 39 13mo PolymarketHookA prediction market hook that creates binary-outcome YES/NO token pairs backed by USDC. The `beforeSwap` handler intercepts trades on YES/USDC and NO/USDC pools: for buy orders it mints equal YES+NO tokens from USDC, performs an internal swap on the YES/NO pool to consolidate into the desired token, and returns the delta to settle the trade entirely within the hook. Unichain beforeAddLiqbeforeSwapswapDelta 34 12mo UniswapCupHookUniswap v4 hook for the UniswapCup protocol that restricts pools to exact-input swaps only and collects a percentage fee from each swap's output. If the output token is non-native, the fee is converted back to ETH via a nested pool swap inside afterSwap. Collected ETH is forwarded to the factory owner, and transfer restrictions on UniswapCupTeamToken are updated after each swap. Unichain beforeInitafterSwapafterSwapDelta 32 17mo Aegis v2 Hook (Unichain)Spot is a Uniswap v4 hook that implements dynamic fee management using a truncated geometric oracle and a DynamicFeeManager to compute base and surge fees based on recent trading activity. It also collects protocol fees and reinvests them into a full-range liquidity position via a FullRangeLiquidityManager. Unichain afterInitbeforeSwapafterSwapswapDelta+1 28 7mo EMADynamicFeeHookEMA-based dynamic fee hook for Uniswap V4. Calculates swap fees using Exponential Moving Average of price, with 30-step fee schedule (0.01%-3.00%) and 300-block anti-JIT protection via tx.origin. No owner, no admin functions, fully immutable. Unichain afterInitbeforeAddLiqbeforeRemoveLiqafterRemoveLiq+2 10 7mo GridHookGrid trading hook that deploys user liquidity across multiple evenly-spaced tick ranges. Supports configurable order count, distribution weights, and automated rebalancing by authorized keepers when price moves beyond a threshold. Uses permit2 for token settlement. Unichain afterInitafterAddLiqafterRemoveLiqafterSwap 9 17mo Limit Order Hook (Unichain)Enables limit order functionality on Uniswap v4 pools by storing the pre-swap tick in transient storage and executing limit orders after each swap based on tick crossings. Also supports dynamic LP fee updates through a role-based access control system. Unichain beforeSwapafterSwap 9 3mo DynamicFeeHookV2A time-tiered dynamic fee hook that starts pools at 1% LP fee and steps down to 0.5% at 7 days and 0.3% at 15 days post-launch. After 30 days, it may further reduce the fee based on fresh data from a SustainedFeeOracle. Only pools launched via the designated launch authority can use this hook. Unichain afterInitbeforeSwap 6 3mo DynamicFeeHookV1A Uniswap v4 hook that applies a time-and-FDV-based dynamic fee schedule to newly launched token pools: fees start at 1% for the first 7 days, then step down based on pool age and token fully-diluted value (via an external oracle), reaching a minimum of 0.1% at ≥$100M FDV. Also maintains an onchain TWAP with up to 128 observations to support at-least-24h price history queries. Unichain afterInitbeforeSwapafterSwap 6 10mo Universal Hook (Unichain)A JIT (Just-In-Time) liquidity hook that intercepts swaps via beforeSwap and fulfills them internally at oracle-reported prices through a MerchantController-managed liquidity system. Standard liquidity additions and removals are blocked; only owner-initialized, oracle-whitelisted pools with an approved pair token are supported. Unichain beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2 5 3mo DynamicFeeHookImmutable Uniswap v4 hook that applies time-decaying dynamic LP fees for unifan launch pools. Starts at 1% (100 bps) and decreases based on pool age (days 8, 16) and FDV milestones ($10M, $50M, $100M USD), with a floor of 0.1%. Fees can only decrease over time. Unichain afterInitbeforeSwap 4 13mo Generic4626RouterA hook that routes swaps through ERC4626 vaults by intercepting beforeSwap to deposit or redeem the underlying asset. Disallows direct liquidity addition and enforces pool initialization via the hook to ensure correct vault pairing. Unichain beforeInitbeforeAddLiqbeforeSwapswapDelta 4 17mo BunniHookAn AMM hook that handles all swap execution internally using a configurable Liquidity Density Function (LDF). Computes dynamic fees based on TWAP and surge detection, supports optional am-AMM bid-based fee management, and maintains a TWAP oracle for price data. Unichain afterInitbeforeAddLiqbeforeSwapswapDelta 4 18mo BackGeoOracleOracle hook with automated backrun functionality that mitigates price impact. Enforces zero-fee, max-tick-spacing, full-range-only pools. On swaps (exactIn only), computes a tick delta versus the last observation; if the price impact exceeds a threshold, executes an inverse nested swap and mints ERC6909 tokens to the original sender. Requires swap routers to implement `IMsgSender.msgSender()` or backrun-triggering transactions will revert. Unichain beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+3 4 6mo AegisHookUniswap v4 hook that applies dynamic LP fees via an oracle-driven fee manager, charges a configurable hook fee on each swap's input amount, and periodically reinvests accumulated hook fees as full-range liquidity through the AegisEngine. Unichain afterInitbeforeSwapafterSwapswapDelta+1 3 12mo SuperDCAGaugeA Uniswap v4 hook for SuperDCA token pools that enforces a three-tier dynamic fee structure (0% internal, 0.10% keeper, 0.50% external) based on swapper identity, restricts swaps to admin-allowlisted routers, and distributes minted SuperDCA rewards 50/50 between LPs (via pool donation) and a developer address during liquidity and swap operations. Unichain beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+1 3 17mo BunniHookCore Uniswap v4 hook for Bunni v2 implementing a custom AMM with configurable liquidity density functions (LDF), dynamic surge fees, TWAP oracle, am-AMM fee auctions to recapture LVR/MEV, and auto-rebalancing via the FloodPlain protocol. Handles swap math entirely via BeforeSwapDelta. Unichain afterInitbeforeAddLiqbeforeSwapswapDelta 3 18mo UniMemeHookA Uniswap v4 hook that collects a 0.7% fee on swaps, distributing it among the platform, the token creator (if the pool's token exposes a creator() function), and a 3-tier referral tree. Also records referrer addresses on swaps and liquidity additions via hookData. Unichain afterAddLiqafterSwapafterSwapDelta 3 14d DynamicFeeUniswap v4 hook with off-chain keeper-driven dynamic LP fees and a separate hook fee charged to a treasury on every swap. An operator configures per-pool min/max/default fee bounds; a pusher pushes the current fee within those bounds. If the keeper stops updating, the pool falls back to a default fee. The hook fee is minted to the treasury as ERC-6909 claims in afterSwap. Unichain beforeSwapafterSwapafterSwapDelta 2 3mo GlueHookSingleton buyback-and-burn hook with a per-pool donation pot: on sells (MAIN→SECONDARY), beforeSwap absorbs the sell at the pool's exact price from pot funds (shield), preventing price impact; on buys (SECONDARY→MAIN), afterSwap uses pot funds to buy more main (pump), capped to prevent sandwiching. Supports an auto-compounding hook-held LP position with configurable fee splits for burns, buybacks, and compounding. Unichain beforeInitbeforeSwapafterSwapswapDelta 2 6mo GridHookAutomated grid trading hook that deploys user-configured liquidity positions across evenly-spaced tick ranges. Supports per-user grid deployment, rebalancing when price moves beyond a configurable threshold, and enforces a per-block maximum price impact circuit breaker in afterSwap. Unichain afterInitafterAddLiqafterRemoveLiqbeforeSwap+1 2 7mo GridHookA grid trading hook that lets users configure and deploy automated grid liquidity orders around the current tick. After each swap, it records the updated tick and swap count to support user-triggered rebalancing of grid positions. Unichain afterInitafterAddLiqafterRemoveLiqafterSwap 2 7mo GridHookA grid trading hook that allows users to deploy configurable liquidity grids around the current tick. Supports manual and keeper-triggered rebalancing as price moves, with slippage protection and Permit2-based token settlement. Unichain afterInitafterAddLiqafterRemoveLiqafterSwap 2 7mo AssetToAssetSwapHookForERC4626Periphery hook that automates asset-to-asset swaps for ERC4626 vault-backed pools. In beforeSwap, it converts the user's input asset into vault wrapper shares, performs a nested swap through a companion yield-harvesting pool, then redeems the output shares back to the underlying asset, returning the full delta so the pool itself executes no further swap. Unichain beforeAddLiqbeforeSwapswapDelta 2 8mo EnhancedFeeDistributionHookV2Captures swap output fees via afterSwapReturnDelta and distributes them as a single reward token to LPs. Fees are buffered per token until a configurable threshold is met, then converted to the reward token via a nested swap on a separate pool. Uses ERC-6909 accounting and NFT-based position tracking for reward claims. Unichain beforeAddLiqafterAddLiqbeforeRemoveLiqafterRemoveLiq+3 2 8mo YieldHarvestingHookHarvests pending yield from ERC4626 vault wrappers for each pool currency and donates the accrued interest to LPs via poolManager.donate() before each swap and liquidity modification, enabling LPs to earn lending protocol yield on top of swap fees. Unichain beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap 2 9mo VolatilityDynamicFeeLimitOrderHookSingleton hook for Unilaunch pools that dynamically adjusts LP fees using a volatility oracle and executes limit orders on every swap. A surge multiplier is applied on top of the base fee after high-volatility events (CAP detections), decaying linearly over a configurable duration. New pools are blocked from swapping until the block after registration. Unichain beforeInitbeforeSwapafterSwap 2 9mo VolatilityDynamicFeeLimitOrderHookUnilaunch singleton hook that applies volatility-based dynamic LP fees with surge pricing triggered by tick-change-per-block thresholds (CAPs), and executes limit orders after each swap. Trading is blocked for one block after pool registration via a block.number gate. Unichain beforeInitbeforeSwapafterSwap 2 14mo YieldHarvestingHookHarvests pending yield from ERC4626 vault wrappers (supporting any lending protocol) and distributes it to LPs via poolManager.donate() before each swap, add-liquidity, and remove-liquidity operation. Pool initialization is restricted to the associated ERC4626VaultWrapperFactory. Unichain beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap 2 17mo LimitOrderHookRecords the pool tick before each swap in transient storage, then executes limit orders via an external ILimitOrderManager contract after the swap completes using the before/after tick range. A privileged fee manager role can update the pool's dynamic LP fee via poolManager.updateDynamicLPFee(). Unichain beforeSwapafterSwap 2 18mo UniswapV4KEMHookA Uniswap v4 hook that gates each swap with an off-chain signed quote from a designated signer, enforcing max input amounts and exchange rates. In afterSwap, excess output above the signed rate is absorbed as 'eg tokens' minted to the hook and claimable by authorized accounts. Unichain beforeSwapafterSwapafterSwapDelta 2 18mo Renzo Hook (Unichain)A peg stability hook for the ETH/ezETH pool that charges a minimum fee for trades moving toward the peg and a linearly-scaled fee based on deviation from the ezETH rate provider price for trades moving away from the peg. Unichain afterInitbeforeSwap 2 22d DeviationFeeHookDynamic LP fee for a native ETH/wstETH pool, driven by the deviation between the pool price and the Chainlink wstETH/stETH rate. Base fee 0.01% inside a 35 bps deadband; swaps that correct the deviation pay base + 50% of the excess, capped at 0.5%; from 100 bps both directions pay. Falls back to the base fee if the feed is stale or fails. afterInitialize + beforeSwap only; no deltas, hookData, storage, admin or upgradeability. Unichain afterInitbeforeSwap 1 42d 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. Unichain afterInitafterSwap 1 55d GlueHookPer-pool buyback hook that performs automated swaps to purchase the pool's main asset after every user swap, funded by a configurable buyback pot paced by a volume-weighted spend bucket with a 10-minute time-weighted reference tick. Supports an optional self-compounding LP program with configurable fee splits for autocompound, burn, pot refuel, and custom recipient. Unichain beforeInitafterSwap 1 57d GlueHookA Uniswap v4 hook for static-fee pools that implements a reference-tick-gated buyback pump and LP fee auto-harvesting with auto-compounding. After each swap, it harvests accrued LP fees, executes a nested pump swap to buy the configured main token using pot secondary tokens, and distributes all proceeds in a single batched send phase. Unichain beforeInitafterSwap 1 2mo UniFoxHookA hook that restricts pool initialization to a single pre-configured uFOX pool (beforeInitialize rejects all other keys), then in afterSwap mints an NFT fox to a caller-supplied recipient when the swap delivers at least minBuy uFOX and does not exceed the optional maxBuy cap. Unichain beforeInitafterSwap 1 3mo ILAwareLimitOrderHookOn-chain limit order hook for Uniswap v4 that maintains a sorted doubly-linked list of active tick positions per pool. Executes limit orders in afterSwap when the pool price crosses user-defined trigger thresholds, deducts a configurable execution fee (default 5 BPS), and represents each order as an ERC721 NFT. Unichain afterInitafterAddLiqbeforeSwapafterSwap+3 1 3mo flUSDCHooksA custom constant-sum hook implementing 1:1 swaps between USDC and flUSDC. In beforeSwap, the hook takes the full input, converts it via flUSDC deposit or withdraw, and settles the output back to the PoolManager. Direct liquidity provision is blocked. Unichain beforeInitbeforeAddLiqbeforeSwapswapDelta 1 3mo flETHHooksA custom-curve hook for ETH/flETH pools implementing a 1:1 constant-sum swap: it takes the full input from the PoolManager, converts it via flETH deposit/withdraw, and settles the output back — bypassing concentrated liquidity math entirely. Direct liquidity addition is blocked. Unichain beforeInitbeforeAddLiqbeforeSwapswapDelta 1 5mo SpireTracks per-address "horn length" (HORN token balance weighted by holding tenure) after each swap, accumulating reward weight for a UNI distribution system. Periodically harvests LP fees from a HORN/UNI pool to burn HORN and distribute UNI to holders proportionally; includes a "monarch" mechanic where the highest horn-length holder can claim a crown pot after a cooldown. Unichain afterSwap 1 6mo AsyncSwapConverts exact-input swaps into async limit orders: the maker's input is escrowed in beforeSwap via BeforeSwapDelta, bypassing the pool AMM entirely. A pre-authorized filler later settles by delivering at least the maker's specified minimum output. Supports order cancellation and limit-price updates; full-fill only in v1. Unichain beforeInitbeforeAddLiqbeforeSwapswapDelta 1 6mo AsyncSwapAsync order book that intercepts exact-input swaps — the maker's input is taken as a 6909 claim and an open order is created at a limit price. A filler later settles by delivering the minimum output amount directly to the maker, bypassing the AMM entirely. Unichain beforeInitbeforeAddLiqbeforeSwapswapDelta 1 6mo CounterA simple counter hook that increments per-pool counters on beforeSwap, afterSwap, beforeAddLiquidity, and beforeRemoveLiquidity. Each callback only records call counts with no access control, fee logic, or swap modification. Unichain beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap 1 6mo PointsHookAwards ERC20 loyalty points to users who buy a paired token using TOKEN_A through allowlisted routers. In afterSwap, mints points proportional to the TOKEN_A amount spent; non-allowlisted routers can still swap but receive no points. Unichain afterSwap 1