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
11mo 0x39c9…c080Runs code on every swap · Sets its own swap fee Arbitrum beforeSwap 1 11mo 0x2884…8080Runs code on every swap · Sets its own swap fee Arbitrum beforeSwap 1 11mo 0x33ae…1ac0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation Arbitrum afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 1 11mo 0x823d…0040Runs code on every swap Arbitrum afterSwap 1 11mo 0x957d…00c0Runs code on every swap Arbitrum beforeSwapafterSwap 1 12mo 0xc5be…fff0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Arbitrum beforeInitafterInitbeforeAddLiqafterAddLiq+6 1 12mo 0xb534…fff0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Arbitrum beforeInitafterInitbeforeAddLiqafterAddLiq+6 1 12mo EulerSwapA Uniswap v4 hook implementing a custom bonding-curve AMM backed by Euler Protocol vaults. Swaps are handled entirely in `beforeSwap` via delta returns: input tokens are deposited into an Euler vault and output tokens are withdrawn from another, with reserves verified against a configurable curve invariant (CurveLib). Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA custom AMM hook that routes Uniswap v4 swaps through Euler Finance vaults. The beforeSwap handler computes quotes using a proprietary curve invariant, deposits input tokens into and withdraws output tokens from Euler vaults, and returns a custom delta to the PoolManager — bypassing standard concentrated liquidity. Liquidity addition and donations are intentionally blocked. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapCustom-curve AMM hook backed by Euler lending vaults. Computes swap amounts via a configurable bonding curve, handles full settlement in beforeSwap by taking input tokens into Euler vaults and withdrawing output tokens from them, and returns a BeforeSwapDelta to the PoolManager — bypassing standard concentrated liquidity entirely. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA Uniswap v4 hook that implements a custom AMM curve backed by Euler Finance lending vaults. Swaps are handled entirely in beforeSwap via BeforeSwapDelta: input tokens are deposited into an Euler vault and output tokens are withdrawn from another, while enforcing a custom invariant curve over the vault reserves. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA custom-curve Uniswap v4 hook backed by Euler lending vaults. In beforeSwap, it routes token flows through configurable Euler vaults, verifies a custom concentration curve, and returns a full BeforeSwapDelta to bypass standard concentrated liquidity mechanics — acting as a self-contained AMM that uses Euler vault balances as its liquidity source. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapEulerSwap is a custom-curve AMM hook backed by Euler Finance lending vaults. In beforeSwap it computes pricing via its own curve invariant, deposits swap input into an Euler vault, withdraws swap output from another Euler vault, and returns a BeforeSwapDelta to the PoolManager, bypassing Uniswap concentrated liquidity entirely. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler Finance lending vaults. Each hook instance is a delegatecall proxy; swaps deposit input tokens into and withdraw output tokens from Euler vaults directly, enforcing a concentration-parameterized invariant curve rather than the standard xy=k formula. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA custom-curve AMM hook backed by Euler Finance vaults. In beforeSwap, it computes swap quotes using a proprietary bonding curve, deposits input tokens into Euler vaults, withdraws output tokens from Euler vaults, and returns the full swap delta to bypass Uniswap v4's standard pool math. Liquidity addition and donations are intentionally blocked via reverts. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapSingle-LP AMM hook implementing a custom bonding curve backed by Euler lending vaults. In beforeSwap, it computes quotes via its custom curve, deposits input tokens into an Euler vault, withdraws output tokens, and returns a BeforeSwapDelta to fully bypass Uniswap v4's CLAMM math. Prevents standard LP positions and donations via revert-only beforeAddLiquidity and beforeDonate. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA Uniswap v4 hook implementing a custom AMM that routes swaps through Euler Finance lending vaults. In beforeSwap, it takes input tokens into an Euler vault, withdraws output tokens from another vault, and enforces a custom curve invariant — fully replacing the standard pool swap logic via BeforeSwapDelta. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA custom-curve Uniswap v4 hook that routes swap assets through Euler Finance lending vaults and enforces a proprietary AMM curve invariant (EulerSwap v1). Intentionally reverts on direct liquidity additions and donations; swap accounting is handled entirely in beforeSwap via BeforeSwapDelta. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo ArrakisLendingHookRuns code on every swap · Can block LP withdrawals · Runs at pool creation · Handles donations to LPs Arbitrum afterInitafterAddLiqbeforeRemoveLiqafterRemoveLiq+3 1 12mo EulerSwapA custom-curve AMM hook backed by Euler Finance lending vaults. In beforeSwap, it fully handles each swap by taking input tokens from the pool manager, depositing them into an Euler vault, withdrawing output tokens from another vault, and verifying a proprietary curve invariant — bypassing standard Uniswap v4 concentrated liquidity entirely. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA custom-curve AMM hook for Uniswap v4 that routes swaps through Euler Protocol lending vaults. In beforeSwap, it computes quotes using a bonding-curve invariant, deposits input tokens into an Euler vault, withdraws output tokens from the opposite vault, and returns a BeforeSwapDelta to handle all pool accounting. Vanilla concentrated-liquidity positions are blocked. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapCustom AMM hook for Uniswap v4 that implements a proprietary pricing curve backed by Euler Finance vaults. On each swap, it deposits input tokens into and withdraws output tokens from Euler vaults via EVC accounts, bypassing standard Uniswap concentrated liquidity. Each pool instance is deployed as a minimal delegatecall proxy to this implementation contract. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA custom curve AMM hook that routes swaps through Euler Finance lending vaults rather than Uniswap v4 concentrated liquidity pools. In beforeSwap, the hook computes quotes using its own curve invariant, takes input tokens into an Euler vault, and withdraws output tokens from a second vault, returning a BeforeSwapDelta to fully handle the swap accounting. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA custom-curve AMM hook that routes swaps through Euler lending vaults instead of concentrated liquidity. In beforeSwap, it deposits input tokens into an Euler vault and withdraws output tokens, enforcing a bonding-curve invariant. It blocks direct liquidity additions and donations to prevent misuse of the underlying Uniswap v4 pool. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapEulerSwap is a custom-curve AMM hook that routes swaps through Euler Finance lending vaults rather than Uniswap concentrated liquidity. It implements its own bonding curve invariant in beforeSwap, depositing input tokens into and withdrawing output tokens from Euler vaults, returning a full BeforeSwapDelta to settle the swap. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapEulerSwap implements a custom AMM curve as a Uniswap v4 hook, routing swaps entirely through Euler lending vaults. In beforeSwap, it computes quotes via a custom curve invariant, deposits input tokens into the appropriate Euler vault, withdraws output tokens, and returns a BeforeSwapDelta to bypass standard pool liquidity. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA custom-curve AMM hook that routes swaps through Euler Finance lending vaults. In beforeSwap, it computes quotes via a proprietary curve invariant, takes input tokens into an Euler vault, withdraws output tokens from the counterpart vault, and returns a BeforeSwapDelta — bypassing standard Uniswap concentrated-liquidity math entirely. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapEulerSwap implements a custom AMM curve as a Uniswap v4 hook, routing swap inputs into Euler Finance lending vaults and paying swap outputs from them. All swap accounting is handled in beforeSwap via a BeforeSwapDelta return, bypassing the pool's native concentrated-liquidity math entirely. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler Finance lending vaults. In beforeSwap, the hook takes full control of swap accounting: input tokens are deposited into an Euler vault and output tokens are withdrawn from another, with the curve invariant verified before returning a BeforeSwapDelta to the pool manager. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 12mo EulerSwapA custom-curve Uniswap v4 hook that implements a single-LP AMM backed by Euler lending vaults. Deployed as a delegatecall proxy clone per pool, it executes swaps by depositing and withdrawing assets directly from Euler vaults using a parameterized bonding curve, bypassing Uniswap's concentrated liquidity entirely. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 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 0x7b09…2fe0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Arbitrum beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+4 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 12mo 0x5bc8…28ccRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation Arbitrum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 1 12mo 0xd67a…43cdRuns code on every swap · Can take tokens from swaps · Can block LP withdrawals · Takes a cut when LPs withdraw Arbitrum beforeRemoveLiqafterRemoveLiqbeforeSwapafterSwap+3 1 12mo 0x3db9…4189Runs code on every swap · Can take tokens from swaps · Takes a cut when LPs withdraw Arbitrum afterRemoveLiqbeforeSwapswapDeltaremoveLiqDelta 1 12mo 0xf4bf…afe0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Arbitrum beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+4 1 12mo 0xd058…0080Runs code on every swap Arbitrum beforeSwap 1 12mo 0x29d3…c101Takes a cut when LPs withdraw Arbitrum afterRemoveLiqremoveLiqDelta 1 12mo 0xada6…4101Takes a cut when LPs withdraw Arbitrum afterRemoveLiqremoveLiqDelta 1 12mo 0x772f…8100Does nothing (no permissions) Arbitrum afterRemoveLiq 1 13mo 0x5ef7…2440Runs code on every swap · Runs at pool creation Arbitrum beforeInitafterAddLiqafterSwap 1 13mo 0x7754…2fe0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Arbitrum beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+4 1 13mo 0xe2b8…c080Runs code on every swap Arbitrum beforeSwap 1 13mo 0xd31d…8080Runs code on every swap Arbitrum beforeSwap 1 13mo 0x9a15…6fe0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Arbitrum beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+4 1 13mo 0x5437…5540Runs code on every swap · Runs at pool creation Arbitrum afterInitafterAddLiqafterRemoveLiqafterSwap 1 13mo 0xdeaa…0fc0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity Arbitrum beforeAddLiqafterAddLiqbeforeRemoveLiqafterRemoveLiq+2 1