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