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