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
0xce0f…8080Runs code on every swap · Sets its own swap fee
Arbitrum
beforeSwap
1
14mo
0x5857…0080Runs code on every swap · Sets its own swap fee
Arbitrum
beforeSwap
1
14mo
0x7059…6dc1Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+3
1
14mo
0xa093…adc1Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+3
1
14mo
0x7880…edc1Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+3
1
14mo
0xe062…edc1Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+3
1
14mo
0x19e3…edc1Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+3
1
14mo
0x0b2c…6dc1Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+3
1
14mo
0xb94a…6dc1Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+3
1
14mo
0x28f7…8080Runs code on every swap · Sets its own swap fee
Arbitrum
beforeSwap
1
14mo
0x50bd…6dc1Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+3
1
14mo
0x2707…adc1Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+3
1
14mo
0x50ee…edc1Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+3
1
14mo
0xf680…6dc1Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+3
1
14mo
0xf70c…edc3Runs code on every swap · Takes a cut when LPs withdraw · Gates who can add liquidity · Adjusts deposit amounts · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqafterAddLiqafterRemoveLiq+4
1
14mo
0x1d3c…4a80Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity
Arbitrum
beforeAddLiqbeforeRemoveLiqbeforeSwap
1
14mo
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
0x9fb5…ca80Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity
Arbitrum
beforeAddLiqbeforeRemoveLiqbeforeSwap
1
15mo
0x20b5…8a80Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity
Arbitrum
beforeAddLiqbeforeRemoveLiqbeforeSwap
1
15mo
0xa642…4a80Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity
Arbitrum
beforeAddLiqbeforeRemoveLiqbeforeSwap
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
0x15e2…5540Runs code on every swap · Runs at pool creation
Arbitrum
afterInitafterAddLiqafterRemoveLiqafterSwap
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
0x199c…d540Runs code on every swap · Runs at pool creation
Arbitrum
afterInitafterAddLiqafterRemoveLiqafterSwap
1
15mo
0x459d…8080Runs code on every swap · Sets its own swap fee
Arbitrum
beforeSwap
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
15mo
0xf79f…7a88Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+2
1
15mo
0x6d01…1540Runs code on every swap · Runs at pool creation
Arbitrum
afterInitafterAddLiqafterRemoveLiqafterSwap
1
15mo
0xe0ac…ba88Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+2
1
15mo
0x471f…9540Runs code on every swap · Runs at pool creation
Arbitrum
afterInitafterAddLiqafterRemoveLiqafterSwap
1
15mo
0x055d…7a88Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+2
1
15mo
0x6405…fa88Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+2
1
15mo
0xb5db…e888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Arbitrum
beforeInitbeforeAddLiqbeforeSwapswapDelta
1
15mo
0x61b1…a540Runs code on every swap · Runs at pool creation
Arbitrum
beforeInitafterAddLiqafterRemoveLiqafterSwap
1
15mo
0xb820…c080Runs code on every swap · Sets its own swap fee
Arbitrum
beforeSwap
1
15mo
0xbb77…4080Runs code on every swap · Sets its own swap fee
Arbitrum
beforeSwap
1
15mo
0xbf67…c080Runs code on every swap · Sets its own swap fee
Arbitrum
beforeSwap
1
15mo
0x0046…4080Runs code on every swap · Sets its own swap fee
Arbitrum
beforeSwap
1
15mo
0xe16e…1540Runs code on every swap · Runs at pool creation
Arbitrum
afterInitafterAddLiqafterRemoveLiqafterSwap
1
15mo
0x6558…c080Runs code on every swap · Sets its own swap fee
Arbitrum
beforeSwap
1
15mo
0x8d14…0080Runs code on every swap · Sets its own swap fee
Arbitrum
beforeSwap
1