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