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
4mo
Ring FewV2 Aggregator HookOwnerless router-compatible Uniswap v4 hook that exposes Ring FewV2 AMM liquidity through v4 swaps. The hook uses empty hookData, registers aggregator pools, exposes quote and pseudoTotalValueLocked for routing discovery, and has no hook owner, pause, upgrade path, or route-control admin.
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
8
5mo
AegisAegisHook applies dynamic swap fees sourced from an external DynamicFeeManager, updates a TWAP oracle on each swap, charges a configurable hook fee on every trade (taken as a BeforeSwapDelta/AfterSwapDelta), and periodically reinvests accumulated fees as full-range liquidity via an AegisEngine on a 1-hour cooldown.
Ethereum
afterInitbeforeSwapafterSwapswapDelta+1
8
6mo
OneTimeLaunchHookTemplateEnforces one-time pool initialization and one-time liquidity addition per token (currency1). In afterSwap, when activated, selectively reverts token-sell swaps (zeroForOne=false) for addresses not on an owner-managed allowlist, while anyone can publicly call bigInt() to enable this restriction.
Ethereum
beforeInitbeforeAddLiqafterSwap
8
6mo
GeodeHookGeodeHook implements a permanent bonding curve venue on Uniswap v4. Direct swaps execute instantly against a constant-product curve via beforeSwap (0.3% fee split three ways), while gasless EIP-712-signed intents are settled in MEV-protected batches at a uniform clearing price (0.1% fee). The curve is the permanent market maker with no graduation or migration.
Ethereum
beforeSwapswapDelta
8
6mo
OneTimeLaunchHookTemplateA launch hook that restricts pool initialization and initial liquidity addition to once per token. In afterSwap, it tracks buy-direction swap recipients and can revert sell-direction swaps for addresses not on a deployer-managed allowlist. Makes non-standard calls (msgSender, msgTarget, msgData) on the token contract that will revert on standard ERC-20 tokens.
Ethereum
beforeInitbeforeAddLiqafterSwap
8
6mo
NoncePoolHookV1A launchpad hook for nonce.fun pools that restricts pool initialization and liquidity provision to a designated launchpad contract. It enforces a fixed opening price, tick range, and fee, allows only one initial liquidity mint per token, locks principal removal, and permanently disables donations.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeDonate
8
6mo
TokenpadHookA Uniswap v4 hook that collects a 1.25% fee on ETH-in buys (via beforeSwap delta) and ETH-out sells (via afterSwap delta) for registered token pools, forwarding collected ETH to each token's LaunchToken contract for reward distribution, with buffering and rescue mechanisms for failed forwards.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
8
7mo
EMADynamicFeeHookEMA-based dynamic fee hook for Uniswap V4. Calculates swap fees using Exponential Moving Average of price, with 30-step fee schedule (0.01%-3.00%) and 300-block anti-JIT protection via tx.origin. No owner, no admin functions, fully immutable.
Ethereum
afterInitbeforeAddLiqbeforeRemoveLiqafterRemoveLiq+2
8
2mo
CharityHookA shared Uniswap v4 hook for charity token launches that charges a 1–10% trading tax (with an anti-snipe surcharge that decays over a configurable window) always in the pool's paired asset, accruing fees as ERC-6909 claims per pool, then distributing them among a protocol treasury (30%), a per-launch charity, and the token creator on sweep.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
7
3mo
AtomicLimitOrderHookAtomicLimitOrderHook atomically combines a swap and a limit-order placement in a single transaction, extending OpenZeppelin's LimitOrderHook. It prevents front-running between the two steps and adds guards that keep order accounting consistent under aggregator-style multi-hop swaps. Uses the AFTER_INITIALIZE and AFTER_SWAP flags; ordinary swaps through the pool require no custom hook data.
Ethereum
afterInitafterSwap
7
6mo
LodeHookA Uniswap v4 hook that captures top-of-block LVR and routes it through a per-pool splitter
The first swap of each block on an opted-in pool pays an additional premium scaled by `premiumBps`. Subsequent swaps in the same block pay only standard pool fees. A `minAuctionInputSize` floor defeats dust-disarm attacks, sub-economic swaps skip the auction slot without consuming it.
Safety.
- Pause guardian (separate multisig, kills capture globally in one tx)
- Per-pool deactivation
- 24h timelock ...
Ethereum
beforeSwapswapDelta
7
8mo
ClankerHookStaticFeeA Uniswap v4 hook for Clanker token pools that enforces separate configurable static LP fees for buying vs. selling the Clanker token, collects a 20% protocol fee on each swap via beforeSwap/afterSwap delta returns, and activates an optional MEV-protection module during the first 2 minutes after pool creation.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
7
54d
FewV4ShellHookRoutes all swaps through a FewToken-wrapped LP pool via an atomic wrap/swap/unwrap sequence in beforeSwap, returning the full fill as a beforeSwap delta so the shell pool itself is never the execution venue. Reverts if no LP route or sufficient inventory is available; hookData is ignored; an owner can register explicit LP pool mappings.
Ethereum
beforeInitbeforeSwapswapDelta
6
56d
LaunchFeeHookA Uniswap v4 hook that charges a configurable fee (up to 5%) on the quote asset of every swap for launch pools, replacing the LP fee. Supports dual-pool "mirror" swaps that route a portion of each trade through a partner pool to minimize price divergence between paired markets.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
6
2mo
StockMemeV4FeeHookA fee hook for StockMeme pools that charges 1.5% per swap (1.0% to the pool creator, 0.5% to the protocol treasury), denominated in the pool's quote asset. Fees are collected via swap deltas and claimable by the creator on-chain, with optional X-linked claims via EIP-712 signatures.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
6
2mo
SimHookDynamic-fee hook that prices each swap using simulated price impact and a time-decaying cumulative price imbalance, with JIT liquidity protection and a governance-configurable protocol fee taken via afterSwap hook delta.
Ethereum
beforeInitafterInitbeforeAddLiqafterAddLiq+4
6
2mo
SockMarketHookTriggers liquidity collection from a registered locker contract after each non-zeroForOne swap. Pools must be registered by a factory-authorized locker before swaps can proceed; unregistered pools revert. Protocol-initiated swaps (identified by hookData marker from the locker) skip collection to avoid recursion.
Ethereum
afterSwap
6
4mo
JBUniswapV4HookA Uniswap V4 hook that routes exact-input swaps to either the V4 pool or a Juicebox project terminal, choosing whichever venue offers more output, using a 30-minute TWAP oracle for manipulation-resistant comparison. Also maintains a TWAP oracle ring buffer queryable by external contracts such as buyback hooks.
Ethereum
afterInitafterAddLiqafterRemoveLiqbeforeSwap+2
6
4mo
JBUniswapV4HookA Uniswap v4 hook that routes swaps between the V4 pool and Juicebox project terminals, selecting whichever venue gives the user more output tokens. Uses a 30-minute TWAP oracle to compare routes for buy-side (pay into project for tokens) and sell-side (cash out project tokens) swaps. Also serves as a TWAP oracle for external contracts via an IGeomeanOracle-compatible interface.
Ethereum
afterInitafterAddLiqafterRemoveLiqbeforeSwap+2
6
4mo
EquityPegHookA hook that acts as an equity-pegged market maker, quoting token↔USDC swaps at a price derived from an external equity/stock feed. Liquidity deposits are fully blocked; each swap is settled in full via beforeSwapReturnDelta using locked ERC-6909 inventory seeded at graduation. Swaps revert when the feed is stale or not-ok, or when the pool is frozen by the factory admin.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1
6
5mo
FarmHookA Uniswap v4 hook that acts as a yield farm and liquidity manager, enforcing full-range liquidity added only through the hook. Charges a 1% swap fee routed to a fee recipient, distributes minted reward tokens via a Synthetix-style accumulator with tiered emissions (6.6M/day bootstrap, then 660k/day), and applies a 10% claim tax redistributed to current LPs.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
6
5mo
UNI20HookA BRC-20-style inscription protocol layered on Uniswap v4. Users embed DEPLOY, MINT, or TRANSFER operations in swap hookData; MINT and DEPLOY ops extract ETH fees from the swap via BeforeSwapDelta and poolManager.take(), minting ERC-1155 tokens to the swapper's EOA. Swaps without hookData pass through normally.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
6
6mo
OneTimeLaunchHookTemplateA one-time launch hook that restricts pool initialization and initial liquidity addition to occur only once per token (currency1). In afterSwap, gates one-direction swaps (non-zeroForOne) to an allowlist of addresses checked via tx.origin when the restriction is enabled per token.
Ethereum
beforeInitbeforeAddLiqafterSwap
6
6mo
HookFeeCharges a configurable basis-point fee on token1-to-token0 swaps by intercepting the output amount in afterSwap and redirecting the fee portion to an immutable feeRecipient via afterSwapReturnsDelta. The fee rate is owner-adjustable up to 10,000 bps.
Ethereum
afterSwapafterSwapDelta
6
8mo
TokiHookA custom AMM hook implementing Pendle-style yield trading for Principal Tokens (PTs) on Uniswap V4. Uses a custom curve with beforeSwapReturnsDelta to fully handle swap execution, disables swaps after PT maturity via block.timestamp expiry, and optionally rehypothecates idle liquidity into ERC4626 vaults to boost LP yields.
Ethereum
afterInitbeforeAddLiqbeforeSwapswapDelta
6
8mo
ClankerHookStaticFeeA Uniswap v4 hook that applies separate static LP fees for buying and selling a designated clanker token, taking a 20% protocol cut on the paired-token side of each swap via beforeSwap/afterSwap delta adjustments. Includes a time-limited MEV protection module active for up to 2 minutes post-pool-creation.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
6
13mo
TokenWorks Hook v2A Uniswap v4 hook for NFTStrategy trading pools that applies time-decaying buy fees (starting at 99% and decreasing to 10% as blocks accumulate) and a flat 10% sell fee, collecting fees via afterSwap delta returns and distributing them to configured recipients.
Ethereum
beforeInitafterAddLiqafterSwapafterSwapDelta
6
13mo
TokenWorks Hook v4A hook for the TokenWorks NFT strategy ecosystem that restricts pool initialization and liquidity addition to the NFTStrategyFactory, and collects a configurable swap fee (default 10%, with a 95% initial buy fee) distributed among the collection owner, a protocol fee address, and PNKSTR token holders.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+1
6
58d
FugaziV4HookA Uniswap v4 hook for Fugazi token pools that collects a fixed 1% swap fee denominated in the reserve token and distributes it among a burn address, the token creator, and a protocol treasury. Only works with pools pairing a FugaziToken against a designated reserve token with zero LP fee.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
5
2mo
NFTXFlexHookAllows for exotic token pairings for liquidity against NFTX pools
Ethereum
beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+4
5
2mo
SpectraBlocklistHookUniswap v4 hook that blocks swaps from addresses on a configurable blocklist, checking both the immediate swap caller (sender) and tx.origin. The immutable owner can update the blocklist but cannot affect fees, liquidity, or swap amounts.
Ethereum
beforeSwap
5
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project. The afterInitialize callback is a pure no-op (just returns the selector). An external initializePools() function calls a LiquidityBootstrapper contract to seed liquidity and stores the resulting initial tick. Has no swap, liquidity modification, or donation logic.
Ethereum
afterInit
5
6mo
OneTimeLaunchHookTemplateEnforces one-time pool initialization and initial liquidity per token (currency1). When the buy gate is activated via the unprotected `bigInt()` function (callable by anyone), non-zeroForOne (buy) swaps revert unless `tx.origin` is in a deployer-managed allowlist.
Ethereum
beforeInitbeforeAddLiqafterSwap
5
8mo
FreeholdHookIntercepts all swaps in creator-registered sDAI/SyntheticFiatToken pools and routes them through the token's mint() and redeem() functions via BeforeSwapReturnsDelta, providing oracle-priced, zero-slippage virtual liquidity with no real liquidity held in the pool.
Ethereum
beforeSwapswapDelta
5
8mo
CumHookDynamic LP fee hook that adjusts fees based on cumulative price impact (CPI) across swaps. Fees scale with directional market imbalance and time-decay between swaps; each pool must be explicitly configured with fee bounds, decay parameters, and illiquidity scale before trading is permitted.
Ethereum
beforeInitafterInitbeforeSwapafterSwap
5
10mo
ERC20StrategyHookA Uniswap v4 hook for ERC20Strategy pools that takes time-based buy fees (starting at 99%, decreasing 1% per minute to a floor of 10%) and distributes collected fees among the strategy contract (80%), PunkStrategy token (10%), and a configurable protocol fee address (10%). Pool creation and liquidity addition are restricted to the ERC20StrategyFactory.
Ethereum
beforeInitafterAddLiqafterSwapafterSwapDelta
5
21mo
FairTradeHookAnti-MEV hook that blocks swaps from owner-blocklisted addresses, reverts same-block swaps from the same sender (sandwich detection), and enforces a configurable per-address timestamp cooldown between swaps.
Ethereum
beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap
5
21mo
BunniHookCore hook for Bunni v2, a concentrated liquidity protocol on Uniswap v4. Implements a virtual AMM with dynamic fees (TWAP-based + surge detection), am-AMM bidding for LVR/MEV recapture, auto-rebalancing via FloodPlain, and an on-chain price oracle.
Ethereum
afterInitbeforeAddLiqbeforeSwapswapDelta
5
46d
Permissioned PoolsPermissioned Pools are a Uniswap V4 hook system that allows trading of tokenized and regulated assets onchain. The hook checks an issuer-managed allowlist on every swap and liquidity addition, while a verified wrapper contract keeps the permissioned token compatible with the standard PoolManager.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap
4
59d
StockpairHookA Uniswap v4 hook implementing a token launchpad with permanently locked liquidity after seeding. Charges 0% on buys and a 2% sell fee on exact-input token sells, split 60% to the token creator and 40% to the platform via afterSwapReturnsDelta.
Ethereum
beforeAddLiqbeforeRemoveLiqafterSwapafterSwapDelta
4
59d
LaunchHookToken launch hook that charges a time-decaying anti-snipe fee on quote-currency buys, starting near 99% at pool open and decreasing linearly over 20 seconds to a configured steady-state rate (1%–10%). Fees are split between a platform and a tracker.
Ethereum
afterInitbeforeSwapafterDonateswapDelta
4
59d
MeridianHookA launchpad hook managing Meridian launch pools: single-sided concentrated liquidity positions (token-only, LP locked). Skims fees from buy inputs via beforeSwap delta and sell outputs via afterSwap delta, splitting between protocol, creator, and an optional holder distributor. Includes an anti-snipe fee that decays linearly from a higher rate to the base fee over a configurable post-launch window.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
4
2mo
NimbusHookFee-collection hook for registered token/quote pairs. On each eligible swap, takes a configurable toll (up to 5%) from the quote amount via BeforeSwapDelta/afterSwap return delta, and accumulates the fees for a designated seeker address to withdraw via siphon().
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
4
2mo
StockLaunchEthHookA Uniswap v4 hook for ETH-paired token launch pools that charges a mandatory 1% platform fee plus a configurable creator fee on every swap. Fees are taken from the stock/ETH currency via BeforeSwapDelta and AfterSwapDelta and held as claimable balances. Only factory-registered pools may use this hook.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
4
2mo
StockMemeV4FeeHookCharges a fixed 1.5% swap fee on the pool's registered quote token, splitting it between the pool creator (1%) and protocol treasury (0.5%); fees are accumulated as ERC-6909 claims redeemable by the creator directly or via EIP-712 X-account signature.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
4
2mo
TideHookA fee-skimming hook that collects a configurable levy (default 1%, max 5%) on each swap's quote-side amount. Fees are captured via beforeSwap/afterSwap delta returns and held in the hook contract, where they can be claimed by designated "sailors" registered in the paired factory.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
4
2mo
SwapFeeHookThe single Uniswap v4 hook for the gwei.fun launchpad. In beforeSwap, it charges a configurable fee (platform fee plus optional per-pool creator tax with linear anti-snipe decay) on the specified currency, holding collected amounts as ERC-6909 claims on the PoolManager for lazy redemption by creators and a buyback vault. Pools must be pre-registered before initialization.
Ethereum
beforeInitbeforeSwapswapDelta
4
3mo
EthCreatorFeeHookV3A Uniswap v4 hook for native ETH/token pools that charges immutable, per-pool directional buy and sell fees in ETH, split between a factory-authenticated creator reward vault and a fixed protocol fee recipient. Pools must be pre-registered by the token creator before initialization.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
4
4mo
PortXHookA two-phase meme token launch hook for the PortX platform. During the bonding curve phase it NoOps the core AMM entirely, pricing trades against a virtual-reserve constant-product curve with a 1% fee; after the curve sells out, it graduates the pool to a standard AMM and continues charging a 1% fee on all swaps via delta returns. External liquidity addition and removal are permanently blocked.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
4
4mo
V4TaxHookApplies a fixed 5% buy and 5% sell tax on swaps in registered pools. Tax is collected in the base asset via beforeSwap/afterSwap deltas, minted to the token address, and recorded as dividends through the token's recordTaxFromHook function.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
4