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
6mo
HubrisHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitafterInitafterSwapafterSwapDelta
1
6mo
UHookRuns at pool creation
Ethereum
beforeInit
1
6mo
PeptideHookRuns code on every swap
Ethereum
afterSwap
1
6mo
UHookRuns at pool creation
Ethereum
beforeInit
1
6mo
0xc0fc…eaa8Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2
1
6mo
HHookA Uniswap v4 hook implementing a reserve-backed floor price for the H token. On exact-input sells below RFV, beforeSwap intercepts the swap, burns the H, and pays ETH from the treasury at RFV. A 5% swap tax is applied via afterSwap (burning H on buys, routing ETH to treasury on sells). Also mints epoch-based staking rewards on each swap.
Ethereum
afterInitbeforeSwapafterSwapswapDelta+1
1
6mo
0xffa2…08c0Runs code on every swap · Sets its own swap fee · Gates who can add liquidity
Ethereum
beforeAddLiqbeforeSwapafterSwap
1
6mo
0xaef2…4044Runs code on every swap · Can take tokens from swaps
Ethereum
afterSwapafterSwapDelta
1
6mo
0x1cdf…0440Runs code on every swap
Ethereum
afterAddLiqafterSwap
1
6mo
HookDoes nothing (no permissions)
Ethereum
afterAddLiq
1
6mo
BumsSprayHookRuns code on every swap · Runs at pool creation
Ethereum
beforeInitafterSwap
1
6mo
UPetHookA tamagotchi-themed hook that applies a variable swap tax (1% when the pet is healthy, 5% when sick/dead) via afterSwap delta return. Buy taxes burn the paired token; sell taxes accumulate in a treasury. Permissionless skill functions (feed, play, clean) let anyone spend the treasury to restore pet vitals and burn more tokens.
Ethereum
afterInitafterSwapafterSwapDelta
1
6mo
UpegHookCalls start() on a configured IStartableToken when the first liquidity is added to its pool. Updates an on-chain pseudo-random seed (using block.timestamp, prevrandao, and block.number) after each swap involving the configured token.
Ethereum
afterAddLiqafterSwap
1
6mo
0xadd9…5044Runs code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
afterInitafterSwapafterSwapDelta
1
6mo
0x7b20…c145Runs code on every swap · Can take tokens from swaps · Takes a cut when LPs withdraw
Ethereum
afterRemoveLiqafterSwapafterSwapDeltaremoveLiqDelta
1
6mo
0x5f02…d044Runs code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
afterInitafterSwapafterSwapDelta
1
6mo
Uni500HookRuns code on every swap
Ethereum
afterSwap
1
6mo
0xbc4a…c044Runs code on every swap · Can take tokens from swaps
Ethereum
afterSwapafterSwapDelta
1
6mo
0x7ec6…c040Runs code on every swap
Ethereum
afterSwap
1
6mo
0x77a1…e888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
1
6mo
PokemonPegHookPokémon Peg ($pPEG) v4 hook. Mints NFT fragment metadata (one Pokémon per fragment) on every buy, proportional to pPEG received. Resolves the recipient address from hookData (20- or 32-byte) or falls back to tx.origin for contract callers. Calls start() on the token on first liquidity addition and randomises the RNG seed on each afterSwap.
Ethereum
afterAddLiqafterSwap
1
6mo
EdenHookBinds to a single pool on initialization and, after each qualifying zeroForOne swap (buy) above a minimum token threshold, calls an external IEdenGarden contract to plant a flower for the buyer. Swap execution is entirely unaffected; the hook acts as an on-chain participation tracker for a gamified garden mechanic.
Ethereum
beforeInitafterSwap
1
6mo
0x0800…1080Runs code on every swap · Sets its own swap fee · Runs at pool creation
Ethereum
afterInitbeforeSwap
1
6mo
0xb270…40c4Runs code on every swap · Can take tokens from swaps · Sets its own swap fee
Ethereum
beforeSwapafterSwapafterSwapDelta
1
6mo
0x4b66…5080Runs code on every swap · Sets its own swap fee · Runs at pool creation
Ethereum
afterInitbeforeSwap
1
6mo
0xc583…8044Runs code on every swap · Can take tokens from swaps
Ethereum
afterSwapafterSwapDelta
1
6mo
0x042e…4040Runs code on every swap
Ethereum
afterSwap
1
6mo
0x4a88…8080Runs code on every swap
Ethereum
beforeSwap
1
6mo
0xff99…08c0Runs code on every swap · Sets its own swap fee · Gates who can add liquidity
Ethereum
beforeAddLiqbeforeSwapafterSwap
1
6mo
Sat0padHookRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
1
6mo
PactHookCharges a fixed 3% fee on each swap's output token, taking 2% to a game contract (pactGame) and 1% to a dev wallet (devWallet) via afterSwap with a return delta. Fee recipient addresses are mutable by an owner.
Ethereum
afterSwapafterSwapDelta
1
6mo
0xfdbc…9080Runs code on every swap · Sets its own swap fee · Runs at pool creation
Ethereum
afterInitbeforeSwap
1
6mo
0xac3f…0080Runs code on every swap
Ethereum
beforeSwap
1
6mo
ONPUNKS HookA Uniswap v4 hook for the oPunks ETH/PUNKS pool that charges a flat 5% ETH fee on every exact-input swap, distributing 80% to NFT holders (via cumulative per-NFT accounting in the NFT contract) and 20% to a platform treasury. Fees are extracted using poolManager.take() with BeforeSwapDelta/AfterSwapDelta adjustments; no hookData is required.
Ethereum
afterInitbeforeSwapafterSwapswapDelta+1
1
6mo
0XPAIN HOOKPokemonPegHook is a Uniswap v4 hook that powers PokemonPeg ($pPEG), an art-coin where every buy mints a unique on-chain pixel-art NFT fragment to the trader.
Hook permissions: afterAddLiquidity + afterSwap.
Mechanism: on each ETH→pPEG swap, the hook resolves the real recipient (via hookData 20b/32b, with tx.origin fallback
for EOAs) and mints a deterministic ...
Ethereum
afterAddLiqafterSwap
1
6mo
UNISOCKSHookRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
1
6mo
0x4885…8044Runs code on every swap · Can take tokens from swaps
Ethereum
afterSwapafterSwapDelta
1
6mo
PepePartyHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
1
6mo
0x7f2e…4044Runs code on every swap · Can take tokens from swaps
Ethereum
afterSwapafterSwapDelta
1
6mo
0xc996…4044Runs code on every swap · Can take tokens from swaps
Ethereum
afterSwapafterSwapDelta
1
6mo
0x914b…60ccRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
1
6mo
ToshisHookOn first liquidity add, calls token.start() on the bound IStartableToken to lift a pre-start trading cap. On each swap, re-rolls an internal random seed by mixing swap count, prevrandao, block number, and timestamp; the seed is publicly readable via randomSeed().
Ethereum
afterAddLiqafterSwap
1
6mo
0x56df…80ccRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
1
6mo
0x4aa1…0044Runs code on every swap · Can take tokens from swaps
Ethereum
afterSwapafterSwapDelta
1
6mo
0x9a8b…c044Runs code on every swap · Can take tokens from swaps
Ethereum
afterSwapafterSwapDelta
1
6mo
0x9b46…80ccRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
1
6mo
0xbc25…00ccRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
1
6mo
0x972a…60ccRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
1
6mo
0x051d…00ccRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
1
6mo
0x93a2…20ccRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
1