UniHooks

Every Uniswap v4 hook, live

Every hook attached to at least one Uniswap v4 pool, graded and explained in plain English, with the pools that use it.

AgeHookChainPermissionsPools
14mo AssetToAssetSwapHookForERC4626Converts raw ERC20 assets to/from ERC4626 vault wrapper shares in beforeSwap, then executes a nested swap on the corresponding vault wrapper pool via poolManager.swap(), returning a BeforeSwapDelta so users can trade underlying assets directly without manually managing vault shares. Falls back to owner-configured default vault wrappers when no hookData is provided. Unichain beforeSwapswapDelta 1 14mo EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapCustom curve AMM hook backed by Euler Finance lending vaults. Executes swaps entirely in beforeSwap using a proprietary invariant curve, depositing input tokens into and withdrawing output tokens from Euler vaults via beforeSwapReturnsDelta. Reverts on beforeAddLiquidity and beforeDonate to prevent unproductive liquidity positions and irrecoverable donations. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo 0x68fe…f0c0Runs code on every swap · Sets its own swap fee · Runs at pool creation Unichain beforeInitafterInitbeforeSwapafterSwap 1 14mo EulerSwapCustom AMM hook that routes swaps through Euler lending vaults using a custom pricing curve. On each swap, it takes input tokens into the relevant Euler vault and withdraws output tokens from the other vault, verifying the curve invariant. Blocks native LP positions and donations to prevent loss of funds. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo 0x1090…62f0Runs code on every swap · Can block LP withdrawals · Runs at pool creation · Handles donations to LPs Unichain beforeInitbeforeRemoveLiqbeforeSwapafterSwap+2 1 14mo EulerSwapA custom AMM hook that routes swaps entirely through Euler Finance vaults. In beforeSwap, it computes quotes via a custom bonding curve (CurveLib), takes input tokens from the PoolManager, deposits them into an Euler vault, withdraws output tokens from the counterpart vault, and returns a BeforeSwapDelta for accounting. Native concentrated liquidity positions and donations are blocked. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA custom curve AMM hook backed by Euler Finance EVC vaults. In beforeSwap, it takes input tokens from the PoolManager, deposits them into an Euler vault, withdraws output tokens from the counterpart vault, and enforces a custom price curve invariant, fully replacing Uniswap's native swap math via BeforeSwapDelta. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo 0x7b2b…98c8Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation Unichain afterInitbeforeAddLiqbeforeSwapafterSwap+1 1 14mo EulerSwapA custom-curve AMM hook that uses Euler Finance lending vaults as liquidity sources. In beforeSwap, it computes quotes against a custom bonding curve, deposits input tokens into and withdraws output tokens from Euler vaults, and validates the curve invariant. Standard concentrated liquidity provision and donations are blocked via revert. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo 0x8116…18c8Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation Unichain afterInitbeforeAddLiqbeforeSwapafterSwap+1 1 14mo EulerSwapA custom AMM hook that integrates with Euler Finance vaults, routing all swap assets through Euler vault deposits and withdrawals while enforcing a custom bonding curve (CurveLib). It handles full swap accounting via BeforeSwapDelta, bypassing Uniswap v4 native concentrated liquidity entirely and blocking direct liquidity additions and donations. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA custom-curve AMM hook that fully handles swap execution by routing funds through Euler Finance EVC-collateralized vaults. It intercepts swaps via beforeSwap with delta returns, computes quotes against a custom price curve, and manages reserves directly—bypassing standard Uniswap v4 concentrated liquidity. Standard LP positions and donations are blocked via revert. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo 0x028a…d8c8Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation Unichain afterInitbeforeAddLiqbeforeSwapafterSwap+1 1 14mo 0x4eb1…18c8Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation Unichain afterInitbeforeAddLiqbeforeSwapafterSwap+1 1 14mo 0x10f8…f0c0Runs code on every swap · Sets its own swap fee · Runs at pool creation Unichain beforeInitafterInitbeforeSwapafterSwap 1 14mo 0xe403…58c8Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation Unichain afterInitbeforeAddLiqbeforeSwapafterSwap+1 1 14mo EulerSwapA Uniswap v4 hook implementing a custom bonding-curve AMM backed by Euler lending vaults. In beforeSwap, it computes swap amounts via a custom curve (CurveLib), deposits input tokens into one Euler vault and withdraws output tokens from another, fully replacing Uniswap's concentrated liquidity mechanism with single-sided vault-backed liquidity. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA custom-curve AMM hook backed by Euler Finance lending vaults. All swap accounting is handled in beforeSwap: input tokens are deposited into and output tokens withdrawn from Euler vaults, with trades validated against a proprietary asymmetric liquidity curve. Standard concentrated liquidity additions and donations are blocked via intentional reverts. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA Uniswap v4 hook implementing a custom AMM that routes swaps through Euler lending vaults: input tokens are deposited into an Euler vault and output tokens are withdrawn from another, with swap accounting handled entirely via a BeforeSwapDelta return and a custom invariant curve (CurveLib) enforcing reserve bounds. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA custom AMM hook that routes swaps through Euler Finance vaults, depositing input tokens and withdrawing output tokens while enforcing a custom bonding curve invariant. Bypasses Uniswap v4 concentrated liquidity; reverts on standard liquidity additions and donations to protect users from non-productive positions. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo Panoptic Oracle Hook (Unichain)Records price observations on each swap and initializes oracle state on pool initialization, exposing a Uniswap V3-compatible oracle interface with both standard and truncated tick adapters deployed per pool. Unichain afterInitbeforeSwap 1 14mo EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler lending vaults. Swaps are executed by depositing input tokens into and withdrawing output tokens from Euler vaults, with the exchange rate governed by a configurable bonding curve verified on every swap. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA Uniswap v4 hook implementing a custom AMM that routes swaps through Euler lending vaults. On each swap, input tokens are deposited into the paired Euler vault and output tokens are withdrawn from the other vault, with amounts verified against a custom bonding curve. Liquidity addition and donations are blocked to prevent non-productive positions. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA custom-curve AMM hook for Uniswap v4 that routes swaps entirely through paired Euler Finance vaults, bypassing Uniswap's concentrated liquidity. Each pool is an EIP-1167 minimal proxy; beforeSwap computes quotes via a custom bonding curve, moves tokens through Euler vaults, and verifies the curve invariant before returning a BeforeSwapDelta. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler Finance vaults. Swaps are handled entirely in beforeSwap via BeforeSwapDelta — input tokens are deposited into and output tokens withdrawn from Euler lending vaults, while enforcing a custom invariant curve. Standard concentrated liquidity is blocked; the hook is deployed per-pool as an immutable delegatecall proxy. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA custom-curve AMM hook backed by Euler vault positions. `beforeSwap` handles swaps end-to-end: it deposits input tokens into and withdraws output tokens from Euler lending vaults, enforcing a bespoke price curve invariant instead of Uniswap's standard concentrated liquidity. Standard liquidity addition and donations are intentionally blocked. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA custom-curve AMM hook for Uniswap v4 that routes swaps through Euler Finance lending vaults. In beforeSwap, it deposits input tokens into and withdraws output tokens from Euler vaults, enforces a custom pricing curve invariant, and returns a BeforeSwapDelta to settle accounting directly with the pool manager, bypassing traditional concentrated liquidity. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA Uniswap v4 hook that implements a custom AMM curve backed by Euler vault collateral. Swaps are handled entirely in beforeSwap: input tokens are deposited into an Euler vault and output tokens are withdrawn from another vault, with a custom curve constraint verified on each trade. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA custom-curve AMM hook for Uniswap v4 that routes swap funds through Euler lending vaults. Implements its own price curve (via CurveLib) and fully handles swaps in beforeSwap using BeforeSwapDelta, bypassing Uniswap's standard CLAMM mechanics. Each pool instance is deployed as a minimal delegatecall proxy to the EulerSwap implementation singleton. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapCustom AMM hook backed by Euler lending vaults. In beforeSwap, input tokens are deposited into an Euler vault and output tokens withdrawn from another, with pricing governed by a custom bonding curve (CurveLib). Standard concentrated liquidity (beforeAddLiquidity) and donations (beforeDonate) are blocked to protect users from creating idle positions or losing funds. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapEulerSwap is a custom-curve AMM hook backed by Euler Protocol vaults: during each swap, input tokens are deposited into and output tokens are withdrawn from Euler lending vaults. The hook handles all swap accounting via BeforeSwapDelta using a configurable invariant curve, bypassing standard Uniswap v4 concentrated liquidity entirely. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapCustom-curve Uniswap v4 hook that routes swaps through Euler Finance lending vaults using an asymmetric configurable bonding curve. Intercepts swaps in beforeSwap to handle token deposits and withdrawals directly from Euler vaults, returning a BeforeSwapDelta to override standard pool AMM pricing. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo LiquidityPenaltyHookA JIT (Just-in-Time) liquidity protection hook that withholds LP fees when liquidity is added and removed within a configurable block window. Fees collected during rapid add/remove cycles are penalized proportionally and donated to in-range liquidity providers, disincentivizing JIT attacks. Unichain afterAddLiqafterRemoveLiqaddLiqDeltaremoveLiqDelta 1 14mo EulerSwapCustom AMM hook backed by Euler vaults that implements its own swap curve. In beforeSwap, input tokens are deposited into an Euler vault and output tokens are withdrawn, with a custom curve invariant enforced in place of Uniswap's concentrated liquidity. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler Finance lending vaults. Each instance routes swaps directly through two Euler vaults using a configurable bonding curve invariant, bypassing standard concentrated liquidity. Deployed as delegatecall proxy clones from a shared implementation. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapCustom-curve AMM hook that routes swaps through Euler Finance lending vaults. Implements a proprietary bonding curve (EulerSwap v1) to quote and settle trades; input tokens are deposited into and output tokens withdrawn from paired Euler vaults, bypassing standard Uniswap v4 pool AMM math entirely. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA Uniswap v4 hook implementing a custom AMM backed by Euler lending vaults. In beforeSwap, the hook fully manages the trade: it takes input tokens into an Euler vault, withdraws output tokens from another Euler vault, enforces a custom curve invariant, and returns the full swap delta to the pool manager — bypassing Uniswap's concentrated liquidity entirely. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapCustom-curve AMM hook backed by Euler Finance vaults. beforeSwap handles all swap accounting directly: takes input tokens into an EVC-managed vault and withdraws output tokens, returning a BeforeSwapDelta to bypass standard pool liquidity. Standard concentrated liquidity positions and donations are intentionally blocked. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapA custom AMM hook that routes swaps through Euler Finance vault positions, bypassing Uniswap v4 concentrated liquidity. It implements a configurable bonding curve, taking input tokens into Euler vault deposits and withdrawing output tokens directly from vaults, while enforcing a curve invariant on reserves. Add-liquidity and donate are blocked to prevent idle or irrecoverable funds. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapEulerSwap is a custom-curve AMM hook that routes swaps through Euler Finance vaults. In `beforeSwap`, it computes quotes via a bonding-curve invariant, deposits input tokens into and withdraws output tokens from Euler vaults, and returns a `BeforeSwapDelta` to handle all pool accounting directly—bypassing standard Uniswap concentrated liquidity. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapA custom-curve AMM hook that handles swaps entirely in beforeSwap by routing input and output tokens through Euler Finance lending vaults, verifying trades against its own curve invariant. Native concentrated liquidity positions are blocked; the hook acts as the sole liquidity source. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapA Uniswap v4 hook implementing a custom AMM backed by Euler Finance vaults. In beforeSwap, it fully handles swaps by taking input tokens into an Euler vault and withdrawing output tokens, enforcing a custom curve invariant. Standard Uniswap concentrated liquidity positions are blocked; all liquidity is managed through the hook's vault-backed reserves. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapA custom-curve AMM hook that routes swap liquidity through Euler Finance vaults, computing quotes via a proprietary pricing curve and returning the full swap delta via beforeSwapReturnsDelta. Enforces a custom curve invariant on each swap while blocking native concentrated liquidity positions and donations. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapCustom curve AMM hook that intercepts swaps via beforeSwap with delta returns, routing assets through Euler vaults. Computes quotes using a custom invariant curve, takes input tokens from the pool manager into an Euler vault, and pays output tokens from the vault — implementing a single-LP AMM backed by Euler collateral positions. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapA Uniswap v4 hook implementing a custom AMM backed by Euler Finance vaults. In beforeSwap, it takes input tokens into Euler vaults and withdraws output tokens, enforcing a configurable bonding curve invariant instead of the standard CLAMM. Liquidity addition and donations are blocked via hook reverts to prevent non-productive positions. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 15mo EulerSwapEulerSwap is a custom AMM hook that routes swaps through Euler Protocol vaults using a custom pricing curve. It fully handles swap execution in beforeSwap by taking input tokens from the PoolManager, depositing them into Euler vaults, and withdrawing output tokens from Euler vaults, bypassing Uniswap's concentrated liquidity model entirely. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1