UniHooks

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.

Filters
Type
Safety
Activity
Permissions
Hooks with all of the selected permissions:
Sort
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