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
6mo 0xdfa6…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 6mo 0x2c52…e888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation Arbitrum beforeInitbeforeAddLiqbeforeSwapswapDelta 1 6mo 0x474f…5080Runs code on every swap · Sets its own swap fee · Runs at pool creation Arbitrum afterInitbeforeSwap 1 6mo AsymmetricAssetFeeHookDynamic-fee hook implementing an asymmetric asset LP fee strategy. Charges different fees based on whether a swap adds or removes a designated target asset, incorporating keeper-supplied volatility and inventory skew data that must be refreshed every 30 minutes. Arbitrum afterInitbeforeSwap 1 6mo 0x14c7…c0c4Runs code on every swap · Can take tokens from swaps Arbitrum beforeSwapafterSwapafterSwapDelta 1 6mo 0x2ea8…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 6mo DynamicFeeHookCharges a 25 BPS hook fee on each swap via afterSwapReturnDelta, with a 1.5x multiplier when inter-block price moves exceed 1%. Fees are forwarded to an owner-configured FeeDistributor. Uses per-pool, block-gated price tracking to prevent cross-pool oracle manipulation. Arbitrum beforeSwapafterSwapafterSwapDelta 1 6mo 0x0000…0020Handles donations to LPs Arbitrum beforeDonate 1 6mo The PoolUniswap v4 dynamic fee hook that captures 25 bps per swap (scaling 1.5× in volatile blocks) and routes 80% of fees back to in-range LPs via poolManager.donate(), with the remaining 20% to treasury. Pairs with an ERC-4626 vault for auto-compounding LP yield. No emissions token. Arbitrum beforeSwapafterSwapafterSwapDelta 1 6mo 0x214f…4080Runs code on every swap · Sets its own swap fee Arbitrum beforeSwap 1 6mo GridHookA grid trading hook that distributes liquidity across evenly-spaced tick ranges for a given pool. Users configure grid parameters and deploy orders; the hook tracks swaps for MEV protection and enforces a per-block maximum tick movement limit, reverting swaps that would cause excessive price impact. Arbitrum afterInitafterAddLiqafterRemoveLiqbeforeSwap+1 1 6mo 0xd733…00c0Runs code on every swap Arbitrum beforeSwapafterSwap 1 6mo 0x8b0d…8088Runs code on every swap · Can take tokens from swaps Arbitrum beforeSwapswapDelta 1 6mo 0xf504…0088Runs code on every swap · Can take tokens from swaps Arbitrum beforeSwapswapDelta 1 6mo 0x7ca8…9040Runs code on every swap · Runs at pool creation Arbitrum afterInitafterSwap 1 6mo 0x0633…4088Runs code on every swap · Can take tokens from swaps Arbitrum beforeSwapswapDelta 1 6mo 0x3d8a…8088Runs code on every swap · Can take tokens from swaps Arbitrum beforeSwapswapDelta 1 6mo 0x081c…0088Runs code on every swap · Can take tokens from swaps Arbitrum beforeSwapswapDelta 1 6mo GoldenGateFeeHookRoutes all v4 swaps through configured Uniswap v3 reference pools by absorbing the full input via BeforeSwapReturnDelta, executing the v3 swap inside beforeSwap, deducting a time-varying pulse-based fee retained as ERC20 balance in the hook, and settling net output back to the PoolManager. Arbitrum beforeSwapafterSwapswapDelta 1 6mo 0x3015…c0c8Runs code on every swap · Can take tokens from swaps · Sets its own swap fee Arbitrum beforeSwapafterSwapswapDelta 1 6mo 0x7b7f…80c8Runs code on every swap · Can take tokens from swaps · Sets its own swap fee Arbitrum beforeSwapafterSwapswapDelta 1 6mo 0x09d6…80c8Runs code on every swap · Can take tokens from swaps · Sets its own swap fee Arbitrum beforeSwapafterSwapswapDelta 1 6mo 0x71f4…c0c8Runs code on every swap · Can take tokens from swaps Arbitrum beforeSwapafterSwapswapDelta 1 6mo 0x1d8e…c0c8Runs code on every swap · Can take tokens from swaps Arbitrum beforeSwapafterSwapswapDelta 1 6mo 0x544d…00c4Runs code on every swap · Can take tokens from swaps Arbitrum beforeSwapafterSwapafterSwapDelta 1 6mo 0x7eed…80c4Runs code on every swap · Can take tokens from swaps Arbitrum beforeSwapafterSwapafterSwapDelta 1 6mo ShieldPadRouterA modular Uniswap v4 hook that delegates swap lifecycle callbacks to pluggable security modules via delegatecall. Returns a dynamic LP fee override aggregated from enabled modules, and collects a configurable protocol fee on each swap using afterSwapReturnsDelta. Arbitrum beforeInitbeforeSwapafterSwapafterSwapDelta 1 7mo 0xc7d0…40c0Runs code on every swap Arbitrum beforeSwapafterSwap 1 7mo 0x2b80…40c0Runs code on every swap Arbitrum beforeSwapafterSwap 1 7mo 0x0e98…00c0Runs code on every swap Arbitrum beforeSwapafterSwap 1 7mo 0x2a56…0040Runs code on every swap Arbitrum afterSwap 1 7mo 0x6d67…8040Runs code on every swap Arbitrum afterSwap 1 7mo 0x71a4…bac4Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation Arbitrum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+3 1 7mo 0xa0fe…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 7mo 0x7432…bac4Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation Arbitrum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+3 1 7mo EulerSwapA Uniswap v4 hook implementing a custom single-sided AMM curve backed by Euler lending vaults. Swaps are executed entirely in beforeSwap by taking input tokens into an Euler vault and withdrawing output tokens from another, using a configurable curve invariant with optional expiration. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 7mo ClassicSwapHookA Uniswap v4 hook that wraps a single pool with V2-style full-range liquidity, issuing fungible ERC-20 LP tokens proportional to deposited amounts. Direct liquidity modification is blocked at the hook level; all deposits and withdrawals go through the hook's own deposit/withdraw functions. Arbitrum afterInitbeforeAddLiqbeforeRemoveLiq 1 7mo EulerSwapCustom-curve AMM hook that routes swaps through Euler lending vaults (EVC). Handles the full swap execution in beforeSwap: computes quotes against vault reserves, deposits input tokens into Euler supply vaults, and withdraws output tokens — bypassing standard Uniswap v4 pool liquidity. Blocks external LP positions, donations, and supports optional pool expiration via block.timestamp. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 7mo 0xbfc9…9040Runs code on every swap · Runs at pool creation Arbitrum afterInitafterSwap 1 7mo 0xfebd…c888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity Arbitrum beforeAddLiqbeforeSwapswapDelta 1 7mo 0xdc3d…0888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity Arbitrum beforeAddLiqbeforeSwapswapDelta 1 7mo 0xfc32…4888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity Arbitrum beforeAddLiqbeforeSwapswapDelta 1 7mo 0x132f…6ac8Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation Arbitrum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2 1 7mo 0x8829…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 7mo 0xdbd9…a6c0Runs code on every swap · Sets its own swap fee · Can block LP withdrawals · Runs at pool creation Arbitrum beforeInitafterAddLiqbeforeRemoveLiqbeforeSwap+1 1 7mo 0xa45a…66c0Runs code on every swap · Sets its own swap fee · Can block LP withdrawals · Runs at pool creation Arbitrum beforeInitafterAddLiqbeforeRemoveLiqbeforeSwap+1 1 7mo 0x44b7…e6c0Runs code on every swap · Sets its own swap fee · Can block LP withdrawals · Runs at pool creation Arbitrum beforeInitafterAddLiqbeforeRemoveLiqbeforeSwap+1 1 8mo 0xdf4a…4040Runs code on every swap Arbitrum afterSwap 1 8mo 0xa711…0040Runs code on every swap Arbitrum afterSwap 1 8mo 0xcf83…0040Runs code on every swap Arbitrum afterSwap 1