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
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
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
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
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
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
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
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
AsteroidHookA hook for the Asteroid token project that calls start() on the token when the first liquidity is added to its pool, and updates an on-chain random seed (using block.timestamp, prevrandao, and block.number) on every swap involving the token.
Ethereum
afterAddLiqafterSwap
2
7mo
MentalUniswapHookA hook for MENTAL token pools that tracks an ICO phase (complete when 1,050,000 MENTAL net sold) and applies a 1% tax on all post-ICO MENTAL swaps, forwarding the tax to a fee recipient via afterSwap delta return and POOL_MANAGER.take().
Ethereum
afterSwapafterSwapDelta
2
8mo
LiquidGuardUniswap v4 hook that skims a configurable BPS fee on the RARE token side of every RARE pool. Uses beforeSwap (with delta return) when RARE is the specified currency and afterSwap (with delta return) when RARE is unspecified, forwarding collected fees to a configurable FeeDistributor contract. Pool initialization is restricted to an owner-managed allowlist.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
2
8mo
DynamicFeeHookA hook that overrides the pool's LP fee on every swap with a fixed fee (set as a whole percentage at deployment), and restricts liquidity additions to only the original pool creator identified by tx.origin at initialization time.
Ethereum
beforeInitafterInitbeforeAddLiqbeforeSwap
2
8mo
AICEHookA Uniswap v4 hook for the AICE platform that emits events on pool initialization and swaps for real-time price indexing, and restricts liquidity additions to a designated factory address when factory lock is enabled.
Ethereum
afterInitbeforeAddLiqafterAddLiqafterRemoveLiq+5
2
9mo
UpegAllows the deployer to define SVG data and read it using a specified seed. Stores metadata for collectible ERC-20 tokens. Calls start on the configured token when first liquidity is added, and updates randomSeed on swaps.
Ethereum
afterAddLiqafterSwap
2
11mo
DragonXHookUniswap v4 hook implementing limit orders, a truncated geometric mean price oracle, and a 10% tax on market sells (ETH output) distributed to configurable genesis wallets and a buy-and-stake contract.
Ethereum
afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
2
11mo
DragonXHookA Uniswap v4 hook combining limit orders with a tax mechanism: market sells incur a 10% tax (split between genesis wallets and a buy-and-stake contract), while limit order sells incur a 0.5% tax. Integrates a truncated geometric oracle for price observation.
Ethereum
afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
2
11mo
ImpactHookComputes a dynamic LP fee based on estimated price impact and an illiquidity metric (price impact divided by swap volume), overriding the fee before each swap via OVERRIDE_FEE_FLAG. Tracks actual post-swap price impact and updates the illiquidity state used to estimate fees for future swaps.
Ethereum
beforeInitafterInitbeforeSwapafterSwap
2
11mo
ActionFundingHookCaptures a percentage fee (up to 20%) from BUX/ETH swaps using beforeSwap and afterSwap delta returns, forwarding fees to a lottery action contract and a dev fee splitter. Exact-output swaps are blocked; only processes pools containing the configured BUX token and native ETH.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
2
12mo
NFTStrategyHookA hook for NFTStrategy pools that takes swap fees with a time-decaying buy rate (starting at 99%, decreasing by 100bps per 5 blocks down to a 10% floor) and a fixed 10% sell fee. Collected fees are distributed 80% to the NFT collection, 10% to buy-and-burn PNKSTR, and 10% to a configurable fee address. Exact-output swaps are blocked, and liquidity operations are restricted to the NFTStrategyFactory.
Ethereum
beforeInitafterAddLiqafterSwapafterSwapDelta
2
12mo
PerpetualHookA Uniswap v4 hook for the PerpetualMeme token launchpad that applies a time-decaying buy fee (starting at 95%, decaying to a 10% floor over blocks) and a fixed 10% sell fee. Fees are collected via afterSwapReturnsDelta, with 80% deposited to the PerpetualMeme contract and 20% sent to a protocol fee address. Pool initialization and liquidity additions are restricted to the PerpetualFactory.
Ethereum
beforeInitafterAddLiqafterSwapafterSwapDelta
2
13mo
HystrategyHookSkims a fee on the output token of every swap, split 80/20 between a treasury and team address. Buy-side fee decays from 15% to 10% (1% per 5 blocks from deployment); sell-side fee is a flat 10%. Fees are accrued in-contract and withdrawn by recipients separately.
Ethereum
beforeSwapafterSwapafterSwapDelta
2
13mo
NFTEngineHookA Uniswap v4 hook for the NFTEngine platform that gates pool initialization and liquidity additions to factory-authorized callers. In afterSwap, it takes a graduated fee (starting at 95% for buys, decaying ~1% per 5 blocks to a 10% floor; flat 10% for sells), swaps token fees to ETH, and distributes 80% to the NFT collection engine and 20% to a configurable fee recipient.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+1
2
13mo
HystrategyHookFee-skimming hook for ETH/WETH ↔ HYSTR pools that deducts a fee from swap output on every trade. Sell-side fee is flat 10%; buy-side decays from 15% to 10% (1% per 5 blocks after deployment). Collected fees are split 80% to treasury and 20% to team via poolManager.take().
Ethereum
beforeSwapafterSwapafterSwapDelta
2
13mo
BoredStrategyHookCollects a configurable trade tax (default 10%) on the token0 (ETH) leg of every swap via afterSwap returnDelta, splitting proceeds between a strategy contract (80%), a team wallet, and a spotlight wallet. The tax rate and allocation percentages are adjustable by the owner.
Ethereum
afterSwapafterSwapDelta
2
14mo
FeeHookAccumulates swap fees from a Uniswap v4 pool and distributes collected ETH to vMooney token holders who perform weekly check-ins, proportional to their vMooney balance. After each swap, non-native tokens collected as fees are burned to the dead address.
Ethereum
beforeAddLiqafterSwapafterSwapDelta
2
14mo
SimpHookA dynamic fee hook that computes LP fees using a VPIN-based model. It tracks order imbalance across fixed-size volume buckets and estimates price impact via an illiquidity measure, then sets a per-swap fee override in beforeSwap. afterSwap records actual price impact and updates volume trackers for subsequent fee calculations.
Ethereum
beforeInitafterInitbeforeSwapafterSwap
2
15mo
ProAdvancedTibuHookletA concentrated liquidity hook for an ETH/TIBU pool that implements dynamic swap fees with surge protection and volume-based adjustments, auto-rebalancing of the liquidity position, an on-chain oracle with manipulation protection, and owner-controlled fee collection with configurable pause and emergency modes.
Ethereum
beforeInitafterInitafterAddLiqbeforeRemoveLiq+8
2
15mo
AngstromAngstrom is a decentralized exchange that takes control of its transaction ordering, preventing value extraction from liquidity providers and traders. By running application-specific auctions, Angstrom internalizes MEV and redirects the extracted value back to users, preventing arbitrage losses and sandwich attacks while reducing trading fees and gas.
Ethereum
beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4
2
20mo
PredicateHookGates swaps via the Predicate attestation network: callers must supply a signed PredicateMessage in hookData, validated against a configurable policy and a quorum of EigenLayer operators before the swap is permitted. Requires hookData on every swap.
Ethereum
beforeSwap
2
8d
AccumulationHookDirectional LP fee for the USDC/STRK pool on Ethereum: 3% when a swap buys STRK with USDC, 1% when it sells STRK for USDC. The fee goes to the pool's LPs through v4's standard dynamic fee override. The hook is unaudited.
Ethereum
afterInitbeforeSwap
1
20d
LBPStrategyA Uniswap v4 hook implementing a Liquidity Bootstrapping Pool (LBP) strategy. It coordinates token distributions: deploying initializer contracts that run a token auction, then migrating raised funds and reserved token amounts into v4 liquidity positions at a price derived from the auction's final price. The `beforeInitialize` permission is used to gate pool creation to the strategy itself only.
Ethereum
beforeInit
1
21d
InkHookManages the INK/IMD Uniswap v4 pool with a governance gate that blocks all swaps until an external vault contract signals `released()`, then levies a configurable fee (`feeBps` bps) on every swap via afterSwapReturnsDelta, waived for holders of an agent portrait NFT. Collected fees are distributed to a treasury (IMD) and a liquidity contract (INK). Ownerless and immutable.
Ethereum
beforeInitbeforeSwapafterSwapafterSwapDelta
1
26d
Pangea Fee HookTakes a fixed fee (0.3–5%, set once at registration) in the quote currency on every swap via beforeSwap/afterSwap return deltas, accruing ERC-6909 claims redeemable to a per-pool splitter address. Restricts liquidity additions to a designated locker, exempts a designated dev buyer from fees, and reverts swaps that would move the price beyond the pool's registered launch range.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
1
29d
Ring FewV2 Shell HookUniswap v4 hook that executes each swap on the canonical Ring Swap v2 (FewV2) FewToken pair: it wraps the input 1:1 into its FewToken, swaps on the pair at live reserves, unwraps the output and settles through PoolManager. It needs no hookData and adds no hook fee. A two-step owner manages a time-locked token allowlist, and a guardian or the owner can pause swaps without blocking liquidity withdrawal.
Ethereum
beforeInitbeforeSwapswapDelta
1
33d
OHMVAULT VaultHookCharges a time-decaying fee (80% at launch, decaying to 5% over 60 seconds) on both swap directions via beforeSwapReturnsDelta, skimming tokens directly from the pool. Harvested fees are split 40% into a hook-owned locked full-range LP position and 60% to treasury. Records a running minimum OHM reserve and a 10-minute TWAP for use by external bond and emission contracts.
Ethereum
beforeInitafterInitbeforeSwapafterSwap+1
1
36d
ClausA Uniswap v4 hook for the Claus protocol that applies dynamic ETH/USD-based fees and splits them across project revenue, liquidity reserve, burn, FOMO reserve, and NFT reward destinations. Supports privacy-preserving ZK-funded buys via ClausPrivacyBuy and checkpoints market cap predictions after each swap. Deployed as a transparent upgradeable proxy.
Ethereum
beforeInitafterInitbeforeAddLiqafterAddLiq+10
1
40d
UniKingHookUniKingHook is a Uniswap v4 hook for the ETH/UNIK pool. It charges a fixed 1.5% fee in ETH on swaps using beforeSwap and afterSwap delta flags, processes up to 20 active NFT accounts per swap, and allocates realized fees: 90% to NFT account rewards, 5% to the treasury, and 5% to a buyback reserve. Pool liquidity is permanently locked. The hook does not require custom hookData.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
1
53d
ZCHFSavingsRouterHookA ZCHF/svZCHF pool hook that provides protocol-owned JIT liquidity for each swap, maintains anchor liquidity centered at the savings vault's fair price, and blocks external liquidity additions. Price sync can be triggered permissionlessly if spot price drifts too far from the fair rate.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1
1
55d
ZCHFSavingsRouterHookA zero-fee ZCHF/svZCHF pool hook that provides just-in-time liquidity for each swap from protocol-owned reserves, blocks all external liquidity providers, and reverts swaps when the spot price deviates from the savings vault's fair price beyond a configurable threshold.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1
1
55d
GlueHookA general-purpose hook that maintains a per-pool buyback pot funded by swap fees. On every afterSwap, it auto-harvests fee splits, observes the current tick against a 10-minute time-weighted reference, and executes a nested buy of the pool's designated main asset from the secondary token. A spend bucket paced by fee accrual limits pump size per swap. Supports configurable LP programs with autocompound, burn, and fee-split options.
Ethereum
beforeInitafterSwap
1
56d
PerpFeeHookCollects a fixed 1.5% ETH-denominated fee on swaps in a single designated pool, minting fee claims to an external distributor contract. Records tick observations after each swap and pool initialization to maintain a 5-minute TWAP oracle via a 1024-entry ring buffer.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
1
57d
GlueHookA Uniswap v4 hook that runs a buyback-and-burn mechanism on every swap in configured pools: after each swap, it spends secondary token donations to buy back the pool's designated main token and delivers it to a configured recipient (burn by default via address(0)). It also supports auto-compounding LP fee programs with configurable splits among compounding, buyback, burn, and direct delivery shares.
Ethereum
beforeInitafterSwap
1
57d
PaperHookA fee-collecting hook for a single ETH/token pool that levies a time-decaying swap duty — opening at a configured rate (e.g. 5%) and decaying smoothly to a resting rate (e.g. 1%) over a fixed window from the first swap — routing collected ETH directly to an immutable Pyx address via poolManager.take(), and emitting a daily record to a Foil contract after every swap.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
1
57d
EulerSwapCustom curve AMM hook (EulerSwap v2) for Uniswap v4 that fully handles swaps in beforeSwap using BeforeSwapDelta, routing input tokens into and output tokens out of Euler lending vaults. Supports exact-input and exact-output swaps with an optional expiration deadline; blocks v3-style CLAMM liquidity additions and donations.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
57d
EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler Finance lending vaults. Replaces standard concentrated liquidity by routing token swaps through Euler supply/borrow vaults, handling deposits, withdrawals, protocol fees, and curve invariant verification entirely within beforeSwap via a BeforeSwapDelta return.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
57d
EulerSwapCustom-curve AMM hook backed by Euler lending vaults. In beforeSwap, it computes quotes via a configurable bonding curve, deposits input tokens into and withdraws output tokens from Euler vaults directly, and returns a BeforeSwapDelta to take over the swap entirely. Supports optional time-based pool expiration.
Ethereum
beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1
1
57d
ErcStockHookA Uniswap v4 hook for ETH/ERC20 pools that applies a 3% buy fee and a dynamic sell tax (5–95% based on time since last sell and trade size), routing collected fees to a vault for periodic token buybacks and burns triggered by the founder.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
1
58d
TenorHookA Uniswap v4 hook for an ETH/TENOR pool that skims a time-decaying ETH fee on every swap (opening rate decaying to a resting rate after a fixed window from the first swap), routing proceeds directly to a Register contract that funds permissionless buyback-and-burn of the TENOR token.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
1
58d
3XHookA Uniswap v4 hook for signed 3x long positions, treasury-backed settlement, fee distribution, and liquidation.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
1