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
12mo EulerSwapA custom-curve AMM hook that integrates with Euler Protocol vaults. Routes all swaps through Euler lending vaults using a proprietary invariant curve and custom delta returns, bypassing standard Uniswap v4 concentrated liquidity. Blocks native liquidity additions and donations to prevent misuse. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA custom-curve Uniswap v4 hook backed by Euler lending vaults. Each swap is handled entirely in beforeSwap via beforeSwapReturnsDelta: input tokens are deposited into an Euler vault and output tokens are withdrawn, with a configurable bonding curve verifying the reserve invariant. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA Uniswap v4 hook that implements a custom AMM curve backed by Euler Finance lending vaults. It handles swaps entirely in beforeSwap via a BeforeSwapDelta return, routing token flows through EVC vaults; native LP positions and donations are blocked to prevent unproductive or unrecoverable fund usage. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapCustom AMM hook that replaces Uniswap v4's concentrated liquidity with a bespoke bonding curve backed by Euler Finance vault assets. All swap accounting is handled in beforeSwap via delta returns, taking input tokens into an Euler vault and paying output from another vault. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 13mo SmartTrailHookAn owner-operated automated range-trailing liquidity hook that monitors tick movement after each swap and rebalances the hook's managed liquidity position to a new range when the current tick exceeds configurable thresholds above or below the position bounds. Arbitrum afterSwap 1 13mo EulerSwapCustom-curve AMM hook that routes swap liquidity through Euler Protocol vaults. Implements its own bonding curve (CurveLib) for pricing, deposits input tokens into and withdraws output tokens from Euler vaults on each swap, and prevents traditional concentrated liquidity positions by reverting in beforeAddLiquidity. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 13mo EulerSwapA custom-curve AMM hook backed by Euler Finance lending vaults. It intercepts swaps via beforeSwap, deposits input tokens into an Euler vault and withdraws output tokens from another, and enforces a proprietary curve invariant instead of using Uniswap v4 native concentrated liquidity. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 13mo EulerSwapEulerSwap is a custom-curve AMM hook for Uniswap v4 backed by Euler lending vaults. It implements full swap execution in `beforeSwap` via `BeforeSwapDelta`, routing tokens through Euler vaults and enforcing a custom bonding curve invariant instead of Uniswap's concentrated liquidity. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 13mo EulerSwapA Uniswap v4 hook implementing a custom AMM backed by Euler Finance lending vaults. In beforeSwap, it takes input tokens into Euler vaults and withdraws output tokens from Euler vaults, computing amounts via a configurable bonding curve and returning a BeforeSwapDelta to override standard pool accounting. Liquidity provision and donation are intentionally blocked. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 13mo EulerSwapA Uniswap v4 hook implementing a custom bonding curve AMM backed by Euler Finance vaults. All swap execution is handled in beforeSwap via BeforeSwapDelta, routing token flows through Euler vault deposits and withdrawals while enforcing a custom curve invariant. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 13mo EulerSwapCustom-curve AMM hook backed by Euler lending vaults. Replaces the standard CLAMM mechanism: each swap deposits input tokens into an Euler vault and withdraws output tokens from another, using a proprietary two-asset liquidity curve. All swap accounting is handled via BeforeSwapDelta, bypassing standard pool pricing entirely. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapCustom curve AMM hook for EulerSwap v1 that fully bypasses Uniswap v4's native pricing engine. On each swap, it deposits input tokens into an Euler vault and withdraws output tokens from another Euler vault, verifying the trade against a custom curve invariant. All price discovery and liquidity management is delegated to the Euler vault system. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA Uniswap v4 hook implementing a custom single-position AMM backed by Euler lending vaults. In beforeSwap, it takes input tokens into an Euler vault, withdraws output tokens from another Euler vault, and verifies trades against a parameterized pricing curve, fully replacing pool liquidity with Euler vault collateral. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo FeeHookCollects swap fees per pool and, once a threshold is reached, harvests them via the position manager and burns any non-native token proceeds to the dead address. Accumulated ETH fees are distributed weekly to vMooney token holders who explicitly check in each week. Arbitrum beforeAddLiqafterSwapafterSwapDelta 1 15mo ArbitrageHookAfter each swap, queries an oracle to determine if the pool price has deviated from a target; if so, withdraws funds from a companion INexArbitrage contract and executes a rebalancing swap via poolManager.swap() to push the pool price back toward the oracle-derived target. Arbitrum afterSwap 1 15mo EulerSwapA custom curve AMM hook for Uniswap v4 that routes swaps entirely through Euler Finance EVaults, using its own pricing curve (CurveLib/QuoteLib) and reserve tracking instead of Uniswap's CLMM. The hook returns a BeforeSwapDelta to override pool accounting, deposits input tokens into Euler vaults, and withdraws output tokens from Euler vaults. Each hook instance is a minimal proxy delegating to a shared EulerSwap implementation; native CLMM liquidity and direct pool initialization are blocked. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapA custom AMM hook for Euler Finance that handles full swap execution via beforeSwap: it computes amounts using a concentration-based price curve, deposits input tokens into Euler lending vaults, withdraws output tokens from Euler vaults, and returns a BeforeSwapDelta so the pool manager performs no additional swap math. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapA custom curve AMM hook backed by Euler Finance vaults. Swaps are handled entirely in beforeSwap using a custom bonding curve, with input tokens deposited into and output tokens withdrawn from Euler vaults; beforeSwapReturnsDelta bypasses standard Uniswap v4 pool accounting. Prevents standard liquidity additions, donations, and external pool initialization. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapA Uniswap v4 hook implementing a custom AMM using a bonding curve backed by Euler lending vaults. Replaces standard concentrated liquidity: beforeSwap handles the entire swap by depositing input tokens into an Euler vault and withdrawing output tokens, then verifies a custom curve invariant, returning a full BeforeSwapDelta to the pool manager. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapA custom-curve AMM hook that routes swaps through Euler Finance lending vaults. Each instance is a factory-deployed proxy managing a pair of Euler vaults; swaps are priced via a bespoke curve invariant and settled by depositing input tokens into and withdrawing output tokens from the corresponding vaults. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapA custom-curve AMM hook for Uniswap v4 that routes swaps through Euler Finance lending vaults. It fully handles swap execution in beforeSwap via BeforeSwapDelta, implementing its own bonding curve invariant, and blocks native concentrated liquidity positions by reverting on beforeAddLiquidity and beforeDonate. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo DynamicFeeHookA Uniswap v4 hook that records the pre-swap tick in transient storage and calls a LimitOrderManager to execute limit orders triggered by tick crossings after each swap. The contract owner can also update the pool's LP fee dynamically via updateDynamicLPFee(). Arbitrum beforeSwapafterSwap 1 15mo LimitOrderHookRecords the pre-swap tick via transient storage in beforeSwap, then in afterSwap calls an external LimitOrderManager to execute any limit orders whose tick range was crossed during the swap. Arbitrum beforeSwapafterSwap 1 15mo EulerSwapCustom AMM hook backed by Euler Protocol vaults implementing a concentrated-style curve. On each swap, input tokens are deposited into an Euler vault and output tokens are withdrawn from another vault; the hook processes the full swap via beforeSwap return delta, bypassing Uniswap's CLAMM, and verifies the curve invariant after every trade. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapEulerSwap is a custom-curve AMM hook that routes swaps through Euler Finance vault positions. Rather than using Uniswap v4 concentrated liquidity, it deposits input tokens into and withdraws output tokens from Euler vaults, enforcing a configurable bonding curve in beforeSwap with delta returns. Standard liquidity positions and donations are blocked. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo VTSwapHookA custom-curve Uniswap v4 hook that implements an AMM for swapping between a Vesting Token (VT) and its underlying token (T), delegating pricing to an external helper contract. Provides its own LP token (ERC-20) and manages reserves directly, replacing the standard concentrated liquidity curve. Arbitrum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+2 1 15mo VTSwapHookA custom-curve AMM hook for swapping between a Vesting Token (VT) and its underlying Token (T). Implements reserve-based pricing via an external helper contract, issues ERC-20 LP tokens, and fully overrides Uniswap v4 swap execution via beforeSwapReturnsDelta. Arbitrum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+2 1 16mo TestHookA minimal test hook that increments an on-chain counter and emits events on beforeInitialize and beforeAddLiquidity calls. Has no swap hooks and does not modify swap execution. Arbitrum beforeInitbeforeAddLiq 1 16mo LimitOrderHookUniswap v4 hook that records the pre-swap tick in transient storage and triggers limit order execution via an external LimitOrderManager after each swap, filling orders whose price range was crossed. Supports role-gated dynamic LP fee updates via updateDynamicLPFee(). Arbitrum beforeSwapafterSwap 1 16mo LimitOrderHookA Uniswap v4 hook that enables on-chain limit orders by recording the current tick before each swap (via transient storage) and triggering execution of crossed limit orders through an external LimitOrderManager after each swap. A privileged fee manager role can update the pool's dynamic LP fee via poolManager.updateDynamicLPFee(). Arbitrum beforeSwapafterSwap 1 16mo LimitOrderHookA Uniswap v4 hook that records the current tick before each swap via transient storage, then triggers limit order execution in afterSwap based on tick movement. Includes a privileged role that can update the pool's dynamic LP fee via poolManager.updateDynamicLPFee(). Arbitrum beforeSwapafterSwap 1 17mo BaseHookMockA minimal BaseHook mock implementation for Uniswap v4 that stubs beforeAddLiquidity, beforeRemoveLiquidity, beforeSwap, and afterSwap as no-ops. The beforeSwap returns a hardcoded fee value (4000) without the OVERRIDE_FEE_FLAG set, so it has no effect on swap execution. Arbitrum beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap 1 18mo WETHHookA Uniswap v4 hook that enables seamless wrapping and unwrapping of ETH and WETH in a dedicated zero-fee pool, intercepting swaps to perform 1:1 ETH↔WETH conversion while blocking direct liquidity operations. Arbitrum beforeInitbeforeAddLiqbeforeSwapswapDelta 1 19mo Slippage Fee Hook (Arbitrum)Dynamically computes LP fees before each swap based on the simulated price impact (tick difference between current and post-swap price), charging higher fees for larger swaps to reduce impermanent loss for liquidity providers. Requires pools to use dynamic fees and reverts any swap that would cause slippage exceeding 5%. Arbitrum afterInitbeforeSwap 1 19mo YieldSwapHookA custom AMM hook for Uniswap v4 that implements a time-decaying yield pricing curve for SY (Standardized Yield) and PT (Principal Token) pairs. Swap amounts are computed via a logarithmic formula whose rate scalar and anchor decay linearly from epoch start to zero at epoch end, with reserves managed internally by the hook. Arbitrum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 1 19mo YieldSwapHookA custom AMM hook for yield products (SY and PT tokens) that implements a time-weighted pricing formula using a logarithmic curve. Supports only unidirectional (SY→PT), exact-input swaps; price decays linearly from epoch start to end. Liquidity is managed via ERC-20 shares using a Uniswap V2-style formula. Arbitrum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 1 19mo YieldSwapHookCustom AMM hook for yield token pairs (SY and PT), implementing a time-weighted pricing formula with a decaying rate anchor (Pendle-style curve). Supports only exact-input SY-to-PT swaps; LP shares are issued as ERC20 tokens managed by the hook itself. Arbitrum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 1 19mo BlackListHookA beforeSwap hook that blocks blacklisted addresses from swapping on a per-pool basis. The swapper's address must be ABI-encoded in hookData; the pool owner manages the blacklist via setBlackListStatusForAddress. Swaps from unlisted addresses proceed normally. Arbitrum beforeSwap 1 20mo rHookRestricts liquidity provision to a deployer-managed allowlist by checking `tx.origin` in `beforeAddLiquidity`. The deployer can add or remove addresses from the whitelist. Has no swap-related hooks. Arbitrum beforeAddLiq 1 21mo SwapFeeHookCollects a configurable percentage fee from the output token of each swap using the afterSwapReturnsDelta mechanism. Fees are direction-dependent (separate rates for zeroToOne and oneToZero swaps), set by the owner, and sent to an owner-controlled fee collector address. Arbitrum afterSwapafterSwapDelta 1 21mo FedzHookA Uniswap v4 hook for a FUSD/USDT stablecoin pool that gates swaps and liquidity operations to NFT-holding players whose turn is active in a time-slot system. Enforces a depeg threshold (reverting swaps and removals when price falls below it) and returns a variable swap fee from beforeSwap based on a configurable crisis state. Arbitrum beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap 1 21mo FedzHookA stablecoin depeg-protection hook for FUSD/USDT pools that gates all swaps and liquidity operations to NFT holders with active time slots in a round-robin scheduling system. Applies dynamic fees (base or crisis rate) in beforeSwap, and reverts afterSwap if the pool price falls below a configurable depeg threshold. Arbitrum beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap 1