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
BurnHookRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
2
6mo
0x3cc8…6888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Base
beforeInitbeforeAddLiqbeforeSwapswapDelta
2
6mo
0xe0c9…0488Runs code on every swap · Can take tokens from swaps
Ethereum
afterAddLiqbeforeSwapswapDelta
2
6mo
TheoryHookRuns code on every swap · Can take tokens from swaps
Ethereum
afterSwapafterSwapDelta
2
6mo
UniDogeBuybackHookCollects a 0.5% fee on ETH/UniDoge pool swaps via afterSwapReturnsDelta, accumulates the ETH fees, and periodically executes automated buyback swaps to purchase UniDoge tokens, which are then burned.
Ethereum
afterInitafterSwapafterSwapDelta
2
6mo
0x397f…8145Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Takes a cut when LPs withdraw
Base
afterRemoveLiqafterSwapafterSwapDeltaremoveLiqDelta
2
6mo
0x1e91…0080Runs code on every swap
Ethereum
beforeSwap
2
6mo
TaxHookApplies dynamic LP fee overrides on every swap, delegating buy/sell tax calculations to a configurable external IAntiBotModule contract. Records each user's first buy block to support anti-bot fee tiers; hookData optionally overrides the caller address for fee computation.
Ethereum
beforeSwap
2
6mo
ButeA bonding-curve ERC-20 token (BUTE) that uses beforeSwap to intercept ETH-in swaps: it mints BUTE via a multi-factor curve (temporal decay, burn echo, peak bonus) and returns a BeforeSwapDelta, routing buys through the hook's own ETH reserve. Sell-side swaps pass through unmodified; selling BUTE is handled via a direct sell() function.
Base
beforeSwapswapDelta
2
6mo
FloraHookRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
2
6mo
WhitelistTaxHookA beforeSwap hook that applies dynamic LP fee overrides based on buy/sell direction and a whitelist. Whitelisted addresses swap fee-free; non-whitelisted buyers pay a configurable buyTaxRate, and sellers pay a configurable sellTaxRate (reduced after 10 blocks since the user's first buy).
Ethereum
beforeSwap
2
6mo
0x5638…80ccRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
2
6mo
HookFeeA fee-collecting hook that charges a configurable basis-point fee on currency0 output from one-for-zero swaps, routing proceeds to a fixed feeRecipient via afterSwap delta. The fee rate is owner-controlled and capped at 10,000 bps.
Ethereum
afterSwapafterSwapDelta
2
6mo
HomelanderUniV4PluginA Uniswap v4 hook that dynamically overrides the LP fee in beforeSwap (zero for a privileged MEV executor, configurable for all others) and runs on-chain arbitrage in afterSwap by delegating to an external MEV router and executor, distributing captured profits via a configurable profit distributor.
Base
afterInitbeforeSwapafterSwap
2
6mo
PumpFeeHookA Uniswap v4 hook for token launches that applies tiered creator and protocol fees on each swap based on the token's current market cap (derived from the pool's spot price), alongside a dynamic LP fee override. Only factory-registered bonding curve pools can register with this hook; fees accumulate and are distributed to the creator and protocol via a separate skim function.
Ethereum
afterInitbeforeSwapafterSwapswapDelta+1
2
6mo
0x7985…0145Runs code on every swap · Can take tokens from swaps · Takes a cut when LPs withdraw
Base
afterRemoveLiqafterSwapafterSwapDeltaremoveLiqDelta
2
6mo
0x952f…00c4Runs code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapafterSwapDelta
2
6mo
0xac68…00c4Runs code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapafterSwapDelta
2
6mo
OracleHookA TWAP oracle hook that writes tick observations on every swap via a V3-style ring buffer, applies a dynamic LP fee scaling linearly with price drift from a reference sqrt price, and gates all liquidity operations to an authorized Stabilizer contract via a magic sentinel in hookData.
Ethereum
afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1
2
6mo
SurtHookETH/SURT bonding curve hook implementing a SATO-style pricing model with dynamic sell-side burn (2–8% of fair SURT, volume/TVL-linked) and an idle jackpot mechanism (1% of each buy credited to pot; paid to prior buyer after 1 hour of inactivity). Liquidity additions are forbidden; requires the real swapper address ABI-encoded in hookData.
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
2
6mo
FaunaHookUUPS-upgradeable hook for the FAUNA NFT pool that notifies a renderer contract after each swap to trigger butterfly reveal mechanics. No access control on swaps; only afterSwap is active and solely performs an external notification call.
Ethereum
afterSwap
2
6mo
0x8e59…4145Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Takes a cut when LPs withdraw
Base
afterRemoveLiqafterSwapafterSwapDeltaremoveLiqDelta
2
6mo
0xad1d…0442Runs code on every swap · Adjusts deposit amounts
Ethereum
afterAddLiqafterSwapaddLiqDelta
2
6mo
0xc14f…8044Runs code on every swap · Can take tokens from swaps
Base
afterSwapafterSwapDelta
2
6mo
LaunchHookFee-splitting hook that skims a fixed 1% platform fee plus a configurable creator fee (0–20%) from every exact-input swap via BeforeSwapDelta, forwarding creator fees directly to the token contract. Pool initialization is gated to a factory address; exact-output swaps are unconditionally rejected.
Base
beforeInitbeforeSwapswapDelta
2
6mo
LifeA Uniswap v4 hook combined with an ERC-20 token (LIFE) that runs Conway's Game of Life on a 64×64 toroidal grid. Each swap advances the simulation 1–10 generations, collects a 3% fee split between cell-owners and an immutable protocol recipient, and places or kills grid cells based on ETH↔LIFE swap activity and token transfers.
Ethereum
beforeSwapafterSwapafterSwapDelta
2
6mo
0x3e2e…4488Runs code on every swap · Can take tokens from swaps
Ethereum
afterAddLiqbeforeSwapswapDelta
2
6mo
0xb9e8…4accRuns code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity
Ethereum
beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+2
2
6mo
0x98de…4488Runs code on every swap · Can take tokens from swaps
Ethereum
afterAddLiqbeforeSwapswapDelta
2
6mo
UnipixelHookA Uniswap v4 afterSwap hook for the Unipixel collaborative pixel canvas. On $uPIXEL token sells, it reads the seller address from hookData and calls the canvas contract to reconcile the seller's pixel allocation to their new token balance. Reconciliation is best-effort via try/catch; swaps always proceed regardless of canvas state.
Ethereum
afterSwap
2
6mo
BpegHookCalls `start` on a configured ERC token when the first liquidity is added to its pool, and updates an on-chain random seed (using block entropy) on each swap involving that token.
Base
afterAddLiqafterSwap
2
6mo
0x2fb1…8488Runs code on every swap · Can take tokens from swaps
Ethereum
afterAddLiqbeforeSwapswapDelta
2
6mo
DynopegHookApplies a flat 3% ETH tax on every swap involving native ETH: on the buy side, reduces the swap input via BeforeSwapDelta and mints ERC-6909 claims; on the sell side, extracts ETH via poolManager.take() in afterSwap. Also advances a rolling per-swap entropy seed each call. Anyone can call normalize() to convert accumulated claims to physical ETH and push them to the DynopegToken reward distributor.
Ethereum
beforeSwapafterSwap
2
6mo
Unilaunch Fee HookSingleton v4 hook for Unilaunch pools that skims a configurable per-pool fee (50–1000 bps) from each swap and splits it 60% to the pool creator and 40% to a fixed platform wallet. Only pools registered by the factory can initialize with this hook.
Ethereum
beforeInitafterSwapafterSwapDelta
2
6mo
BpegHookSyncs BPEG token holder NFT counts after swaps by calling syncSwap() on the BPEG contract in afterSwap, and sets the pool address on the BPEG contract in afterAddLiquidity when the first liquidity is added.
Base
afterAddLiqafterSwap
2
6mo
0x8ccd…8080Runs code on every swap
Base
beforeSwap
2
6mo
DynoPEGHookCalls `start` on a configured token contract when the first liquidity is added to its pool; updates an internal random seed after each swap involving the token, supporting on-chain NFT/SVG generation.
Ethereum
afterAddLiqafterSwap
2
6mo
0x5041…d0ccRuns code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
afterInitbeforeSwapafterSwapswapDelta+1
2
6mo
0x570a…c044Runs code on every swap · Can take tokens from swaps
Base
afterSwapafterSwapDelta
2
6mo
0x2948…4888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity
Base
beforeAddLiqbeforeSwapswapDelta
2
6mo
0xdfe9…0080Runs code on every swap · Sets its own swap fee
Ethereum
beforeSwap
2
6mo
0x3eb1…2a88Runs 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
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1
2
6mo
PepeHookCalls `start` on a configured token contract when the first liquidity is added to a pool involving that token. On each swap involving that token, updates an internal random seed using block entropy (timestamp, prevrandao, block number).
Ethereum
afterAddLiqafterSwap
2
6mo
0x75dc…40c0Runs code on every swap
Base
beforeSwapafterSwap
2
6mo
0x326e…80c0Runs code on every swap
Base
beforeSwapafterSwap
2
6mo
0x3c39…0080Runs code on every swap
Ethereum
beforeSwap
2
6mo
0x9ad6…c044Runs code on every swap · Can take tokens from swaps
Base
afterSwapafterSwapDelta
2
6mo
LiquidGuardUniswap v4 hook that skims a configurable fee (in RARE tokens) from every swap in RARE-paired pools, routing the fee to a distributor contract. When RARE is the specified currency, fees are deducted in beforeSwap; when unspecified, in afterSwap. Pool initialization is restricted to owner-approved initializer addresses.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
2
6mo
0x6d72…0044Runs code on every swap · Can take tokens from swaps
Base
afterSwapafterSwapDelta
2
6mo
0xe486…14ccRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Runs at pool creation
BNB
afterInitafterAddLiqbeforeSwapafterSwap+2
2