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
8mo
WhaleAIHookA Uniswap v4 hook with parabolic fee decay that collects protocol fees via hook deltas on all swap directions (buy/sell, exact-input/exact-output), includes optional same-block MEV protection via hookData, and periodically auto-sells accumulated fees to ETH.
Base
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
1
8mo
V4AlphaHookA Uniswap v4 hook that gates pool initialization, liquidity additions, and swaps behind a configurable per-pool start timestamp set by an owner. Designated pool owners may initialize pools and add liquidity before the public start time; general swaps are blocked until the timestamp is reached via block.timestamp comparison.
BSC
beforeInitbeforeAddLiqbeforeSwap
1
8mo
EnhancedFeeDistributionHookV2Captures swap fees via afterSwapReturnsDelta (pool must have fee=0), buffers them per token, and converts to a single configured reward token via a nested V4 pool swap when a buffer threshold is met. Rewards are distributed to in-range liquidity providers using ERC-6909 accounting and tick-based reward growth tracking, with claims settled through PositionManager NFT ownership.
Unichain
beforeAddLiqafterAddLiqbeforeRemoveLiqafterRemoveLiq+3
1
8mo
AccessControlDynamicFeeHookRestricts liquidity provision to the owner and a whitelist of approved addresses, and dynamically overrides the LP fee for all swaps to a value configurable by the owner.
Ethereum
beforeAddLiqbeforeSwap
1
8mo
DynamicFeeHookAdjusts LP swap fees dynamically based on on-chain price volatility using EWMA of sqrt price changes; collects a configurable owner-controlled protocol fee share from the spread above the base fee into a treasury address. In practice, the afterInitialize flag is absent from the address bitmask, so pool configs are never populated and the hook always returns a hardcoded 3000 bps fallback fee.
Unichain
beforeInitbeforeSwapafterSwap
1
8mo
ArbHookAfter each V4 swap, reads the post-swap sqrtPrice and compares it against a registered Uniswap V3 pool's slot0 price. If the deviation exceeds a configurable basis-point threshold, emits an ArbDetected event for off-chain arbitrage bots. No on-chain trade execution occurs.
Arbitrum
afterSwap
1
8mo
AlphixJIT (just-in-time) liquidity hook that atomically adds concentrated liquidity around each swap in beforeSwap and removes it in afterSwap to improve price execution. Uses a dynamic fee algorithm that adjusts LP fees based on the pool's token ratio, and re-hypothecates idle liquidity to external yield sources.
Arbitrum
beforeInitbeforeSwapafterSwap
1
8mo
EulerSwapCustom curve AMM hook for Uniswap v4 that replaces concentrated liquidity with an Euler vault-backed bonding curve. Swaps are fully handled in beforeSwap via BeforeSwapDelta, routing input funds into Euler vaults and withdrawing output funds from them, while verifying a configurable curve invariant after each trade.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
8mo
TuringHookUniswap v4 hook for the TURING protocol that collects a 10% output fee on each swap: burns TURING tokens on buys (ETH→TURING) and distributes ETH fees on sells, splitting 1% to a team wallet and 9% to the token treasury. Calls enterSwap() on the token contract before each swap to set transient authorization.
Ethereum
beforeSwapafterSwapafterSwapDelta
1
8mo
TuringHookA Uniswap v4 hook for the TURING protocol. In beforeSwap, calls token.enterSwap() to set transient authorization on the token contract; in afterSwap, collects a 10% ETH fee via afterSwapReturnsDelta and distributes it immediately — 1% to a team wallet and 9% to the token contract as treasury.
Ethereum
beforeSwapafterSwapafterSwapDelta
1
8mo
AlphixUniswap v4 hook implementing JIT (just-in-time) liquidity rehypothecation and dynamic LP fees for a single pool. Adds liquidity from configured yield sources immediately before each swap and removes it after, while adjusting fees via an EMA-based algorithm using updateDynamicLPFee.
Arbitrum
beforeInitbeforeSwapafterSwap
1
8mo
EulerSwapA custom-curve AMM hook that routes swaps through Euler Finance lending vaults. In `beforeSwap`, it takes input tokens into an Euler vault, withdraws output tokens from another vault, enforces a configurable curve invariant, and returns a `BeforeSwapDelta` to handle all accounting — bypassing standard Uniswap v4 pool math entirely.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
8mo
Angstrom HookA Uniswap v4 hook that implements MEV-aware swap and liquidity taxes, distributing fees between the protocol, pool creator, and LPs via return deltas. Includes a governance-controlled withdraw-only mode that blocks new swaps and liquidity additions.
Base
beforeInitafterAddLiqafterRemoveLiqbeforeSwap+5
1
8mo
BlockAddLiquidityHookRecords tx.origin as the pool creator on initialization, then reverts any liquidity addition where tx.origin differs from the stored creator. Only the EOA that initialized the pool can add liquidity, regardless of which router they use.
Ethereum
afterInitbeforeAddLiq
1
8mo
EulerSwapEulerSwap is a custom-curve AMM hook that handles all swap logic in beforeSwap, depositing input tokens into Euler Finance vaults and withdrawing output tokens, while verifying a proprietary bonding curve invariant. It returns a BeforeSwapDelta to fully bypass standard Uniswap v4 AMM pricing.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
8mo
MiladyStrategyHookA hook for the MLDYSTR/ETH pool that takes a time-decaying custom fee (starting at 99%, decaying 10pp/hour to 20% over 8 hours) on each ExactIn swap via afterSwap. Token fees are converted to ETH through a nested poolManager.swap(), then distributed 80% to MiladyStrategy and 20% to a protocol fee address. ExactOutput swaps are unconditionally rejected.
Ethereum
beforeInitafterSwapafterSwapDelta
1
8mo
ERC4626HookRoutes swaps between an ERC4626 vault's underlying asset and its share token entirely off-PoolManager, using vault deposit/redeem/mint/withdraw. Intercepts swaps in beforeSwap, pulls tokens from the payer, sends output to the recipient, and returns ZERO_DELTA to bypass AMM liquidity. Requires hookData encoding (address recipient, address payer).
Ethereum
beforeSwapswapDelta
1
9mo
DeathSTRHookV2A hook for an ETH/ckToken pool that enforces exact-input-only swaps, wraps all pool operations with token-level reentrancy guards (enterSwap/exitSwap), and collects a configurable fee (default 10%, max 20%) on each swap by taking the output token, optionally swapping it to ETH via a nested pool swap, and forwarding proceeds to a DeathSTRCollector fee contract.
Ethereum
beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+5
1
9mo
MiladyStrategyHookTakes a fixed 20% fee on all exact-input ETH/MLDYSTR swaps via afterSwap delta; 80% of collected fees are forwarded to the MiladyStrategy contract (for NFT purchases) and 20% go to a protocol fee address. Exact-output swaps revert. Token fees are converted to ETH via a nested pool swap before distribution.
Ethereum
beforeInitafterSwapafterSwapDelta
1
9mo
MiladyStrategyHookA fixed 20% fee hook for the MLDYSTR/ETH pool that intercepts swaps in afterSwap, takes the fee via afterSwapReturnsDelta, converts token-denominated fees to ETH via a nested poolManager.swap() call, and distributes proceeds 80% to MiladyStrategy and 20% to a protocol fee address. Exact-output swaps are blocked.
Ethereum
beforeInitafterSwapafterSwapDelta
1
9mo
MiladyStrategyHookA fixed 20% fee hook for the MLDYSTR/ETH pool that collects fees in afterSwap via afterSwapReturnsDelta, reverting on exact-output swaps. Token fees are auto-converted to ETH through a nested poolManager.swap(); proceeds are split 80% to the MiladyStrategy contract and 20% to a protocol fee address.
Ethereum
beforeInitafterSwapafterSwapDelta
1
9mo
MiladyStrategyHookCollects a fixed 20% fee on all swaps in the MLDYSTR/ETH pool via afterSwapReturnsDelta, routing 80% to a MiladyStrategy contract (for NFT purchases) and 20% to a protocol fee address. Exact-output swaps are blocked, and token-denominated fees are internally swapped to ETH before distribution.
Ethereum
beforeInitafterSwapafterSwapDelta
1
9mo
EulerSwapEulerSwap is a Uniswap v4 hook that implements a custom AMM curve backed by Euler Finance lending vaults. It handles the entire swap in `beforeSwap` by computing quotes against its internal curve, taking input tokens into an Euler vault, and paying output tokens from another vault, returning a `BeforeSwapDelta` to bypass standard pool manager accounting.
Arbitrum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
9mo
NewTknHookUniswap v4 hook for a single ETH/token pool that restricts initialization to one pool and is designed to collect configurable buy/sell fees via afterSwap with a delta return. The fee collection logic is currently commented out, so afterSwap always returns a zero delta.
Base
beforeInitafterSwapafterSwapDelta
1
9mo
VolatilityFeeHookA Uniswap v4 hook that combines two fee mechanisms: a dynamic LP fee set by an owner/operator (via off-chain volatility signals) overriding the pool's swap fee each trade, and an additional protocol fee taken as a percentage of each swap's output amount accumulated as ERC-6909 claims for the hook owner.
Unichain
afterInitbeforeSwapafterSwapafterSwapDelta
1
9mo
EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler lending vaults. All swap token flows are routed through Euler vault deposits and withdrawals rather than standard concentrated liquidity, with optional expiration-based temporal gating on swaps.
Arbitrum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
9mo
EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler lending vaults. Fully replaces standard swap execution by depositing input tokens into and withdrawing output tokens from Euler supply/borrow vaults, with configurable fees and optional expiration.
Arbitrum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
9mo
EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler Finance lending vaults. Swaps are fully handled in beforeSwap by taking input tokens into Euler vaults and withdrawing output tokens from vaults, with configurable fees and optional expiration-based deactivation of the pool.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
9mo
EulerSwapA Uniswap v4 hook implementing a custom AMM that routes swaps entirely through Euler lending vaults. In beforeSwap, it computes amounts via a custom bonding curve, takes input tokens and deposits them into Euler eVault positions, and withdraws output tokens from Euler eVaults — returning a full delta to bypass Uniswap concentrated liquidity. Supports optional pool expiration and protocol fees.
Arbitrum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
9mo
GovernedLBPStrategyA Liquidity Bootstrapping Pool (LBP) strategy hook that restricts pool initialization to the hook contract itself and gates all swaps behind a governance-approved migration flag.
Base
beforeInitbeforeSwap
1
9mo
VolatilityDynamicFeeLimitOrderHookA Unilaunch singleton hook that adjusts LP fees dynamically based on a volatility oracle with configurable surge multipliers (activated during high-volatility periods), enforces a one-block trading delay on pool launch, and triggers limit order execution via ILimitOrderManager on every swap.
Unichain
beforeInitbeforeSwapafterSwap
1
9mo
VolatilityDynamicFeeLimitOrderHookUnilaunch singleton hook that implements volatility-responsive dynamic LP fees: applies a base fee plus a surge multiplier when large tick movements are detected in afterSwap, decaying it over a configurable duration. Blocks trading for one block after pool initialization as an anti-sandwich measure. Integrates with an external limit order manager for limit order execution.
Unichain
beforeInitbeforeSwapafterSwap
1
9mo
GovernedLBPStrategyA governance-gated Liquidity Bootstrapping Pool (LBP) strategy hook that blocks swaps until a designated governance address approves migration, then migrates token distribution from a bootstrapping phase to a full-range Uniswap v4 pool position.
Base
beforeInitbeforeSwap
1
9mo
VolatilityDynamicFeeLimitOrderHookSingleton hook for Unilaunch pools that dynamically adjusts LP fees based on volatility, applying surge fee multipliers after high-volatility CAP events detected by an on-chain oracle. Executes limit orders via an external LimitOrderManager after each swap, and gates trading until a configured block number.
Unichain
beforeInitbeforeSwapafterSwap
1
9mo
GovernedLBPStrategyA governance-controlled Liquidity Bootstrapping Pool (LBP) strategy hook that restricts pool initialization to the contract itself and blocks all swaps until a designated governance address approves migration.
Base
beforeInitbeforeSwap
1
9mo
CKHookA hook restricted to ETH/CKToken pools that enforces exact-input-only swaps and applies a time-decaying fee to all swaps, both buy and sell directions (starting at 99%, decreasing by 1% per block down to 10%). After each swap, fees are taken from the pool output, swapped to ETH via an internal pool swap, and forwarded to a CKCollector contract. Certain addresses (owner, hook, fee collector) are exempt from fees.
Ethereum
beforeInitafterAddLiqbeforeSwapafterSwap+2
1
9mo
VolatilityDynamicFeeLimitOrderHookAdjusts LP fees dynamically based on a configurable base fee plus a time-decaying surge fee triggered by volatility cap events detected via a VolatilityOracle. Also executes on-chain limit orders through a LimitOrderManager on each swap, and temporarily blocks trading until a configured block number to prevent launch sniping.
Unichain
beforeInitbeforeSwapafterSwap
1
10mo
EqtInrUsdtTreasuryHookIntercepts EQT→USDT swaps on BNB Chain and redirects the entire EQT input amount to a configurable treasury address via poolManager.take(). Targets the EQT/USDT pair only; other pools are ignored. An owner-controlled pause mechanism exists in storage but the enforcement check is commented out and non-functional.
BSC
afterSwap
1
10mo
EqtInrUsdtTreasuryHookIntercepts EQT→USDT swaps on BNB Chain and redirects the full EQT input amount to a treasury address via poolManager.take() in afterSwap. Only operates on EQT/USDT pools; passes through all other pairs. hookData optionally encodes a recipient and deadline for validation.
BSC
afterSwap
1
10mo
PhiEthHooksImplements a 1:1 ETH↔phiEth custom-curve swap hook that fully bypasses concentrated liquidity. In beforeSwap, it takes input tokens from the PoolManager, deposits/withdraws via the phiEth contract, and settles the output — returning a BeforeSwapDelta to no-op the AMM. Liquidity addition is permanently blocked.
Base
beforeInitbeforeAddLiqbeforeSwapswapDelta
1
10mo
EqtInrUsdtTreasuryHookAfter EQT→USDT swaps on BSC, routes EQT proceeds to a configurable treasury address and distributes USDT output to a recipient (defaulting to the swap sender). Supports optional hookData to specify a custom recipient, minimum USDT output, and deadline; only active for the hardcoded EQT/USDT pair, and can be paused by the owner.
BSC
afterSwap
1
10mo
PhiEthHooksImplements a 1:1 ETH/phiETH custom curve swap hook. In beforeSwap, it takes the input token from the PoolManager, converts it via phiEth.deposit() or phiEth.withdraw(), settles the output token, and returns a BeforeSwapDelta that no-ops the concentrated liquidity AMM math. Direct liquidity addition is blocked with a revert.
Base
beforeInitbeforeAddLiqbeforeSwapswapDelta
1
10mo
MyNewHookA dynamic-fee Uniswap v4 hook that tracks tick changes across four timeframes (5min, 15min, 30min, 1h) using EWMA smoothing to classify pools into four volatility regimes, then adjusts LP fees between 0.01% and 2.00% via lpFeeOverride and updateDynamicLPFee. Fees are further adjusted ±10% based on current liquidity depth.
Arbitrum
afterInitbeforeSwap
1
10mo
EulerSwapA Uniswap v4 hook that replaces the standard AMM curve with a custom two-asset curve backed by Euler Protocol lending vaults. Swaps are fully intercepted in beforeSwap via BeforeSwapDelta: input tokens are deposited into and output tokens withdrawn from Euler vaults, with configurable fees, protocol fees, and optional temporal expiration.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
10mo
EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler lending vaults. It intercepts swaps in beforeSwap, computes pricing via EulerSwap's own curve, and handles token accounting directly through vault deposits and withdrawals, returning a BeforeSwapDelta to bypass Uniswap's native CLAMM execution.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
10mo
PhiEthHooksA custom curve hook that enables 1:1 swapping between ETH and phiEth (a wrapped ETH token) via the beforeSwap delta mechanism, bypassing concentrated liquidity entirely. Adding liquidity directly to the pool is blocked; the hook mints/burns phiEth via deposit/withdraw on every swap.
Base
beforeInitbeforeAddLiqbeforeSwapswapDelta
1
10mo
PercentProfitHarvestOnZeroHookA Uniswap v4 hook that enforces dynamic LP fee overrides per swap direction (configurable fee for zeroForOne swaps, zero fee for oneForZero) and collects an additional owner-configurable hook swap fee (up to 0.01%) from the output token for exact-input swaps and from the input token for exact-output swaps. Accrued fees are held in the hook contract and claimable by the owner.
Ethereum
beforeInitbeforeSwapafterSwapafterSwapDelta
1
10mo
PercentProfitHarvestOnOneHookApplies direction-specific dynamic LP fees (zero for zeroForOne swaps, an immutable rate for oneForZero swaps) and collects an additional owner-configurable hook swap fee (up to 0.01%) from the output token in afterSwap. Accrued fees are held in the hook contract and claimable by the owner.
Ethereum
beforeInitbeforeSwapafterSwapafterSwapDelta
1
10mo
PhiEthHooksA hook implementing a 1:1 ETH/phiETH custom swap curve. In beforeSwap, it takes the full input from the pool manager, wraps or unwraps via the phiEth contract, and settles the output, fully bypassing concentrated liquidity. Liquidity addition to the pool is permanently blocked.
Base
beforeInitbeforeAddLiqbeforeSwapswapDelta
1
10mo
PhiEthHooksA 1:1 ETH/phiEth custom-curve hook that intercepts swaps via beforeSwap to bypass the AMM entirely. It takes input from the pool manager, converts via phiEth.deposit() or phiEth.withdraw(), settles the output, and returns a BeforeSwapDelta consuming the full swap amount. Adding liquidity directly to the pool is blocked.
Base
beforeInitbeforeAddLiqbeforeSwapswapDelta
1