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
10mo 0xcd8d…0088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 10mo 0x72de…0088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 10mo 0x4a5d…0088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 10mo 0x4932…0088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 10mo 0x6dde…80c0Runs code on every swap · Sets its own swap fee Unichain beforeSwapafterSwap 1 10mo 0x694e…0088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 10mo 0x9e3b…0088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 10mo 0x420b…9a80Runs code on every swap · Sets its own swap fee · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation Unichain afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap 1 10mo 0xe3ed…0088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 10mo 0x5ab6…20c0Runs code on every swap · Sets its own swap fee · Runs at pool creation Unichain beforeInitbeforeSwapafterSwap 1 10mo 0x597a…40c0Runs code on every swap · Sets its own swap fee Unichain beforeSwapafterSwap 1 10mo 0x6bc7…0088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 10mo 0xc6d4…80c0Runs code on every swap · Sets its own swap fee Unichain beforeSwapafterSwap 1 10mo 0x4074…71dcRuns code on every swap · Can take tokens from swaps · Runs at pool creation · Handles donations to LPs Unichain beforeInitafterInitafterRemoveLiqbeforeSwap+4 1 10mo 0xeb90…e7dfRuns code on every swap · Can take tokens from swaps · Can block LP withdrawals · Takes a cut when LPs withdraw · Adjusts deposit amounts · Runs at pool creation · Handles donations to LPs Unichain beforeInitafterAddLiqbeforeRemoveLiqafterRemoveLiq+7 1 10mo 0xf1b9…0fc1Runs code on every swap · Can block LP withdrawals · Takes a cut when LPs withdraw · Gates who can add liquidity Unichain beforeAddLiqafterAddLiqbeforeRemoveLiqafterRemoveLiq+3 1 10mo 0x1e6e…9accRuns 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 Unichain afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 1 10mo 0xb9f0…9accRuns 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 Unichain afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 1 11mo 0x3818…daccRuns 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 Unichain afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 1 11mo 0x557c…e080Runs code on every swap · Runs at pool creation Unichain beforeInitbeforeSwap 1 11mo AssetToAssetSwapHookForERC4626Periphery hook that automatically converts ERC20 assets to/from ERC4626 vault wrapper shares when swapping, enabling users to trade underlying assets against yield-harvesting hook pools without manual vault conversion. Supports per-swap vault overrides via hookData, with owner-configurable per-pool defaults. Unichain beforeAddLiqbeforeSwapswapDelta 1 12mo 0x6e72…2080Runs code on every swap · Runs at pool creation Unichain beforeInitbeforeSwap 1 12mo 0x4440…c0c4Runs code on every swap · Can take tokens from swaps Unichain beforeSwapafterSwapafterSwapDelta 1 12mo EZKLDynFeeHookDynamic fee hook for Uniswap v4 that uses EZKL ZK proofs (Halo2Verifier) to compute LP fees off-chain. Fees are verified on-chain via a Lit Network signature and then published to pools via `poolManager.updateDynamicLPFee()`. The `beforeInitialize` hook enforces that only dynamic-fee pools (fee = 0x800000) can use this hook. Unichain beforeInit 1 12mo 0x5930…d4daRuns code on every swap · Can take tokens from swaps · Adjusts deposit amounts · Runs at pool creation · Handles donations to LPs Unichain afterInitafterAddLiqbeforeSwapafterSwap+3 1 12mo EulerSwapA custom AMM hook that replaces Uniswap v4's standard concentrated liquidity with a proprietary curve backed by Euler lending vaults. In beforeSwap, it computes swap output via a curve invariant (CurveLib), deposits input tokens into an Euler vault, and withdraws output tokens from another vault, fully handling the exchange itself. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 13mo AssetToAssetSwapHookForERC4626Periphery hook for pools using ERC4626 vault wrapper tokens. In beforeSwap, converts input ERC20 assets to vault wrapper shares, performs a nested swap in the corresponding vault wrapper pool via poolManager.swap(), then redeems output shares back to underlying assets. Handles both exact-input and exact-output swaps. Vault wrappers can be supplied via hookData or configured as per-pool defaults by the owner. Unichain beforeAddLiqbeforeSwapswapDelta 1 13mo YoyoStrategyHookA fee-taking hook that charges a time-decaying fee (starting at 26%, decreasing 200 bps every 25 blocks) on all swaps, taken from the output token via afterSwapReturnsDelta. When the fee currency is WETH, a 100% fee is applied instead. Non-ETH fees are converted to ETH via a nested pool swap and forwarded to a designated fee address. Unichain beforeInitafterSwapafterSwapDelta 1 13mo 0xafeb…a8c4Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation Unichain beforeInitbeforeAddLiqbeforeSwapafterSwap+1 1 13mo 0x7c52…a8c4Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation Unichain beforeInitbeforeAddLiqbeforeSwapafterSwap+1 1 13mo 0xfa92…2044Runs code on every swap · Can take tokens from swaps · Runs at pool creation Unichain beforeInitafterSwapafterSwapDelta 1 13mo 0xfe78…a8c4Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation Unichain beforeInitbeforeAddLiqbeforeSwapafterSwap+1 1 13mo 0x84e8…8fc0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity Unichain beforeAddLiqafterAddLiqbeforeRemoveLiqafterRemoveLiq+2 1 13mo 0x5503…28c4Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation Unichain beforeInitbeforeAddLiqbeforeSwapafterSwap+1 1 13mo TornadoHookA privacy-preserving hook implementing Tornado Cash-style anonymous deposits and withdrawals. Users deposit ERC-20 tokens by adding liquidity with a cryptographic commitment, and withdraw by submitting a ZK proof (Circom Groth16 or Noir Honk) against a Merkle tree root, with fees redistributed to the pool. Unichain beforeAddLiqafterAddLiqafterRemoveLiqaddLiqDelta+1 1 13mo RebasingParityPoolRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity Unichain beforeAddLiqbeforeSwapswapDelta 1 13mo 0xa927…0088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 13mo 0xf2ce…0088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 13mo 0x904d…8088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 13mo 0x541d…0c00Gates who can add liquidity Unichain beforeAddLiqafterAddLiq 1 13mo 0xa3ad…8088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 13mo 0xfa1b…4088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1 13mo BaseStrategyHookAn automated liquidity management (ALM) hook that acts as the exclusive liquidity provider for a single authorized pool. In beforeSwap it deposits liquidity at active tick boundaries, and in afterSwap removes all liquidity and settles token balances, with a dynamic LP fee updated on rebalance and a price-deviation circuit breaker that reverts swaps exceeding a configured threshold. Unichain afterInitbeforeAddLiqbeforeSwapafterSwap 1 13mo 0x0fa7…c503Takes a cut when LPs withdraw · Adjusts deposit amounts Unichain afterAddLiqafterRemoveLiqaddLiqDeltaremoveLiqDelta 1 14mo AssetToAssetSwapHookForERC4626Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity Unichain beforeAddLiqbeforeSwapswapDelta 1 14mo EulerSwapA custom-curve AMM hook backed by Euler Finance lending vaults. Instead of using Uniswap v4's concentrated liquidity, it routes swaps entirely through its own bonding curve: depositing input tokens into an Euler vault and withdrawing output tokens from another, then verifying the resulting reserves satisfy the curve invariant. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA custom AMM hook that routes swaps through Euler Finance vaults. It fully overrides Uniswap v4 swap execution via beforeSwapReturnsDelta: input tokens are deposited into an Euler vault and output tokens are withdrawn from another, with reserves tracked against a custom bonding curve invariant verified by CurveLib. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA Uniswap v4 hook implementing a custom AMM backed by Euler lending vault positions. In beforeSwap, it intercepts every swap, computes amounts via a configurable price curve, and routes funds through Euler vaults, returning a BeforeSwapDelta to bypass pool-native pricing. Adding CLAMM liquidity and donations are blocked to protect against unproductive positions. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo EulerSwapA custom AMM hook that implements single-LP pools backed by Euler Finance lending vaults. In beforeSwap, it fully processes each swap by depositing input tokens into and withdrawing output tokens from Euler vaults, returning a BeforeSwapDelta to bypass Uniswap's native liquidity math. Reverts on direct liquidity additions and donations to enforce the custom curve invariant. Unichain beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 14mo 0x444f…0088Runs code on every swap · Can take tokens from swaps Unichain beforeSwapswapDelta 1