Every Uniswap v4 hook, live
Every hook attached to at least one Uniswap v4 pool, explained in plain English, with safety checks and the pools that use it.
AgeHookChainPermissionsPools
15mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
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
Ethereum
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
Ethereum
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
Ethereum
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
Ethereum
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
Ethereum
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
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
15mo
M0 Allowlist HookAn access-control hook that restricts swaps to allowlisted addresses using the Predicate authorization system and restricts liquidity provision to approved providers; donations are blocked.
Ethereum
beforeAddLiqbeforeSwapbeforeDonate
1
15mo
0x094a…0080Runs code on every swap · Sets its own swap fee
Ethereum
beforeSwap
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
0xd0a4…0080Runs code on every swap
Ethereum
beforeSwap
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
0x9a1e…0412Adjusts deposit amounts · Handles donations to LPs
Ethereum
afterAddLiqafterDonateaddLiqDelta
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapEulerSwap is a custom-curve AMM hook that routes swaps through Euler lending vaults. It implements a configurable bonding curve, depositing swap input into an Euler vault and withdrawing output from another, bypassing Uniswap v4 concentrated liquidity entirely.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapCustom-curve AMM hook that uses Euler vault positions as its liquidity layer. In beforeSwap, it computes amounts via a bonding curve, deposits input tokens to an Euler vault, withdraws output tokens from another Euler vault, and verifies the curve invariant — fully replacing the standard Uniswap v4 CLAMM. Reverts on direct liquidity additions and donations to prevent unproductive positions.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
16mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
17mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
17mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
17mo
PredicateHookRuns code on every swap · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate
1
17mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
17mo
0x0000…0840Runs code on every swap · Gates who can add liquidity
Ethereum
beforeAddLiqafterSwap
1
17mo
EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler Finance lending vaults. It intercepts swaps in `beforeSwap`, deposits input tokens into an Euler vault, withdraws output tokens from another vault, and enforces a bonding curve invariant, returning a BeforeSwapDelta to handle all swap accounting.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
17mo
0x9067…c080Runs code on every swap · Sets its own swap fee
Ethereum
beforeSwap
1
17mo
0x0000…0040Runs code on every swap
Ethereum
afterSwap
1
17mo
AngstromRuns 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 · Handles donations to LPs
Ethereum
beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4
1
17mo
TaxHookRuns code on every swap · Can take tokens from swaps · Sets its own swap fee
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
1
17mo
0x6f47…8080Runs code on every swap · Sets its own swap fee
Ethereum
beforeSwap
1
17mo
CabalcoinHookCharges a fixed fee (initially 3%, reducible by the Cabalcoin owner) on each swap via afterSwapReturnsDelta, converting non-ETH fees to ETH through an internal nested swap. Gates pool initialization and liquidity addition to a controlled loadingLiquidity phase enforced by the Cabalcoin token contract; afterSwap also requires the caller to implement IValidRouter.
Ethereum
beforeInitbeforeAddLiqafterSwapafterSwapDelta
1
17mo
0xdc6a…4080Runs code on every swap · Sets its own swap fee
Ethereum
beforeSwap
1
17mo
0x9f9b…c080Runs code on every swap · Sets its own swap fee
Ethereum
beforeSwap
1
17mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
17mo
EulerSwapCustom-curve AMM hook integrating with Euler Finance vaults. In beforeSwap, it computes quotes using its own invariant curve, deposits input tokens into and withdraws output tokens from Euler vaults, and returns a BeforeSwapDelta — fully bypassing Uniswap v4 concentrated liquidity. Liquidity additions and donations revert by design.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
17mo
EulerSwapRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1