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
18mo
TokenFabToken factory hook implementing a bonding curve for newly launched ERC20 tokens. Blocks external pool initialization and liquidity addition; collects a 1% fee on each swap (split equally between creator and platform fee receivers); automatically removes bonding curve liquidity and migrates to a full-range AMM pool when the bonding curve supply threshold is reached.
Base
beforeInitbeforeAddLiqafterSwapafterSwapDelta
2
18mo
TokenFabBonding-curve token launch hook that deploys new ERC-20 tokens into concentrated multi-chunk liquidity ranges, collects a 1% swap fee (split 50/50 between creator and platform fee receivers via afterSwapReturnsDelta), and automatically removes bonding-curve liquidity and migrates it to a full-range AMM pool once the bonding curve supply threshold is reached.
Base
beforeInitbeforeAddLiqafterSwapafterSwapDelta
2
18mo
LimitOrderHookA Uniswap v4 hook that captures the current tick before each swap via transient storage, then executes limit orders in afterSwap when the tick crosses order boundaries. Supports role-based dynamic LP fee management via poolManager.updateDynamicLPFee().
Base
beforeSwapafterSwap
2
18mo
MMMarket maker hook that rebalances concentrated liquidity to an oracle-quoted price before each swap (removing liquidity, executing an internal rebalancing swap, and re-adding liquidity at a new tick range), then adjusts an external hedge pool position after each swap based on the non-quote token balance change.
Base
beforeInitbeforeSwapafterSwap
2
18mo
TokenFabA token launchpad hook that manages bonding curve liquidity for newly deployed ERC20 tokens. Blocks external pool initialization and liquidity additions, charges a 1% swap fee split between creator and platform, and automatically graduates tokens to a standard full-range AMM pool when the bonding curve supply threshold is reached.
Base
beforeInitbeforeAddLiqafterSwapafterSwapDelta
2
18mo
LimitOrderHookRecords the pool tick before each swap in transient storage, then triggers limit order execution via an external ILimitOrderManager based on the tick range crossed. Supports role-controlled dynamic LP fee updates via poolManager.updateDynamicLPFee().
Base
beforeSwapafterSwap
2
18mo
TokenFabA bonding-curve token launchpad hook that deploys ERC-20 tokens with configurable liquidity ranges, blocks external pool initialization and liquidity additions, and collects a 1% swap fee split between creator and platform. When the bonding curve supply threshold is reached, it removes bonding-curve liquidity and migrates to a full-range AMM pool.
Base
beforeInitbeforeAddLiqafterSwapafterSwapDelta
2
18mo
TokenFabA bonding curve hook for token launches that blocks external pool initialization and liquidity additions. It collects a 1% swap fee split between creator and platform fee receivers, tracks token supply sold through swaps, and automatically migrates liquidity to a full-range AMM pool once the bonding curve supply threshold is reached.
Base
beforeInitbeforeAddLiqafterSwapafterSwapDelta
2
18mo
TokenFabBonding curve hook for launching ERC-20 tokens with chunked liquidity. Blocks external pool initialization and liquidity addition; collects a 1% swap fee split between creator and platform fee receivers. When the bonding curve supply threshold is reached, removes bonding curve liquidity and migrates to a standard full-range AMM pool.
Base
beforeInitbeforeAddLiqafterSwapafterSwapDelta
2
18mo
TokenFabA bonding-curve token launchpad hook that deploys new ERC-20 tokens into Uniswap v4 pools with a structured liquidity curve. Blocks external pool initialization and liquidity additions. Charges a 1% swap fee split equally between the token creator and the platform. When a token's bonding curve supply is exhausted, automatically removes liquidity and migrates the token to a standard full-range AMM pool.
Base
beforeInitbeforeAddLiqafterSwapafterSwapDelta
2
18mo
MMAn oracle-driven market maker hook that, on every swap, removes all existing liquidity, executes an internal pool swap to align the price with an external oracle, and re-adds liquidity around the new oracle price using asset-ratio-weighted tick bounds.
Base
beforeInitbeforeSwap
2
18mo
LimitOrderHookCaptures the pre-swap tick in transient storage during beforeSwap, then executes limit orders via an external ILimitOrderManager in afterSwap using the tick range crossed. Supports dynamic LP fee updates restricted to accounts with FEE_MANAGER_ROLE.
Base
beforeSwapafterSwap
2
18mo
PackERC20FactoryA factory hook that creates pack-based ERC20 tokens backed by Chainlink VRF randomness. The beforeInitialize blocks direct pool creation; pools are initialized internally by the factory via enablePackOpening(). After each swap, a 1% fee is taken from the base token as an afterSwapReturnsDelta, and swaps are rejected if the base token is the specified side of the swap.
Base
beforeInitafterSwapafterSwapDelta
2
19mo
MMA full-range liquidity market maker hook that rebalances the pool on every swap: removes all current liquidity, executes an internal swap to shift the pool price toward a configurable target price multiplier, re-adds liquidity at the new price, and donates remaining token balances back to the pool.
Base
beforeInitbeforeSwap
2
20mo
ExponentialLiquidityHookDeploys new ERC20 token pools paired against a configured base token with one-sided concentrated liquidity, positioning all liquidity either above or below the initial price. External pool initialization is blocked via `beforeInitialize` (always reverts), and liquidity withdrawal is disabled.
Base
beforeInit
2
20mo
DefaultHookA Uniswap v4 beforeSwap hook that overrides the LP fee on every swap by reading a configurable fee from an external DefaultSettings contract. The fee (default 0.3%) can be updated at any time by the DefaultSettings owner via setDefaultFee().
Base
beforeSwap
2
21mo
SwapHookA minimal counter hook that increments per-pool counters on each beforeSwap and afterSwap call. It does not modify swap behavior, fees, or token flows — purely observational.
Base
beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap
2
21mo
HookFeeCharges a fixed 3% fee on the unspecified token of every swap by using afterSwapReturnsDelta to take tokens from the pool manager and retain them in the hook contract, increasing the effective cost for swappers.
Base
afterSwapafterSwapDelta
2
10d
ReservHookA single ETH/RSRV pool hook that charges a 1% fee on each swap's unspecified side. RSRV fees are accumulated and sold back to ETH buyers at the pool price within 10 ticks of the block's opening tick; ETH fees are split 20% to a business share, 16% to a Chainlink VRF-based prize pot, and 64% donated to in-range liquidity providers.
Base
beforeInitafterAddLiqafterRemoveLiqbeforeSwap+3
1
26d
Pangea Fee HookTakes a fixed trading fee (0.3%–5%, set once per pool at registration) in the quote asset on every swap via return deltas in both beforeSwap and afterSwap, exempting a designated dev buyer address. Restricts liquidity additions to a designated locker and enforces that the pool price never exits the launch's single-sided range.
Base
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
1
40d
TwigWrapHookToken wrapper hook for a fee-0 GITLAWB/TWIG pool that intercepts all swaps in beforeSwap and fulfills them by wrapping GITLAWB into TWIG or unwrapping TWIG into GITLAWB at a 1:1 ratio via ERC20Wrapper. Liquidity operations always revert; the contract has no owner, no admin functions, and no upgrade mechanism.
Base
beforeInitbeforeAddLiqbeforeSwapswapDelta
1
41d
PushBaseDynamicFeeHookA dynamic-fee Uniswap v4 hook where authorized off-chain pushers set the LP fee within configurable min/max bounds per pool. The pushed fee expires after a TTL and falls back to a defaultFee. On each swap, afterSwap deducts an additional hook fee and mints it as ERC-6909 claims to a treasury address.
Base
beforeSwapafterSwapafterSwapDelta
1
42d
PushBaseDynamicFeeHookA Uniswap v4 hook that lets an off-chain keeper push dynamic LP fees (clamped to per-pool min/max bounds) with TTL-based expiry and automatic fallback to a configurable default fee. Additionally charges a hook fee to a treasury address on every swap via afterSwapReturnsDelta.
Base
beforeSwapafterSwapafterSwapDelta
1
42d
PadFeeHookRestricts pool initialization to a designated graduate contract and takes a 1% fee on the unspecified currency of every swap via afterSwapReturnsDelta, splitting it 70% to the pool creator and 30% to a treasury address.
Base
beforeInitafterSwapafterSwapDelta
1
54d
FeeHookUniswap v4 hook that overrides the LP fee per swap using a pluggable fee policy constrained to a 0.10%–1.00% corridor, and tracks per-wallet swap volume by season in the pool's USD leg. Only swaps routed through a trusted portal router receive personalized fees and volume tracking; all other swaps pay the maximum fee. No custody or swap delta.
Base
beforeSwapafterSwap
1
56d
FlashPerpsHookA perpetuals AMM hook implementing a fully custom curve for PERP/USDG pools: buying mints new perp exposure via a registered vault, selling unwinds it, with a flat 0.3% fee in USDG routed to a buyback escrow. External liquidity is blocked; the hook is the sole market maker for each registered pool.
Base
beforeInitbeforeAddLiqbeforeSwapswapDelta
1
57d
DynamicStableFeeHookDynamic-fee hook for a single Uniswap v4 pool that overrides LP fees per-swap via lpFeeOverride and collects a separate hook fee from the unspecified swap currency, sending it directly to a configurable fee recipient. Total fees (LP + hook) are capped on-chain at 300 pips (0.03%) and can be paused by the owner.
Base
beforeSwapafterSwapafterSwapDelta
1
2mo
Volatility Adaptive USDCWETH Hook V8A single WETH/USDC pool hook on Base that dynamically adjusts LP fees (0.01%–99.99%) using signed off-chain multi-venue market reports cross-checked against Chainlink and Pyth price anchors. Fees fall back to 3% when market data is stale. Strategy fees are split 90% to LPs and 10% to an immutable Safe address, with an owner-controlled emergency pause mechanism.
Base
beforeInitafterInitbeforeSwapafterSwap+1
1
2mo
VolatilityAdaptiveUsdcWethHookV6Dynamic-fee hook for the WETH/USDC pool on Base that computes LP fees and a hook fee per swap using signed off-chain market price reports anchored to Pyth, falls back to a higher static fee when market data is stale, and supports a Safe-controlled emergency pause with a 24-hour delayed unpause.
Base
beforeInitafterInitbeforeSwapafterSwap+1
1
2mo
StashHookA Uniswap v4 hook that charges a flat 3% (300 bps) toll on the ETH leg of all four swap forms (exact-input and exact-output in both directions) in a single deployer-pinned pool, accumulating fees as ERC-6909 claims in the PoolManager. Anyone can call collect() to transfer the accumulated ETH fees to a fixed, immutable vault address set by the deployer.
Base
beforeSwapafterSwapswapDeltaafterSwapDelta
1
2mo
QueryMeterMeters a single designated QUERY/METAc pool per daily epoch, recording swap count, unique wallets, volume, and LP moves on-chain. Levies a 1% toll on the METAc leg of each swap, distributing 60% back to traders as rebates proportional to their epoch volume and routing the remainder to an owner-controlled treasury.
Base
afterAddLiqafterRemoveLiqbeforeSwapafterSwap+2
1
2mo
RarityHookA hook for Yunipals rarity pools that enforces two invariants: only the core contract may initialize pools or add liquidity (external LPs are blocked via beforeInitialize/beforeAddLiquidity), and 1% of the output side of every external exact-input swap is burned via afterSwap return delta. Includes a permissionless TWAP oracle updated on every swap.
Base
beforeInitbeforeAddLiqafterSwapafterSwapDelta
1
2mo
JITRangeHookA sole-operator JIT liquidity hook that prices each swap via an internal quote engine, then injects a single-sided one-tick liquidity range at a computed effective price tick in beforeSwap and removes it in afterSwap, enforcing full fill and window-based notional caps. Blocks third-party LPs via beforeAddLiquidity revert; requires operator to push prices off-chain and fund inventory as ERC-6909 claims.
Base
beforeAddLiqbeforeSwapafterSwap
1
2mo
V4rcade Fee HookFee hook for the V4rcade platform. Charges an LP fee on swaps that can only be lowered (FeeCanOnlyGoDown), supports signer-authorized fee vouchers redeemed during beforeSwap, and blocks external liquidity provision. Owner-controlled via Ownable2Step with a settable signer and trusted forwarder.
Base
beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4
1
2mo
BaldpadRebaseHookA Baldpad-ecosystem launch hook that charges WETH-denominated swap fees with a platform/creator split and a decaying opening-fee schedule. After each rebase interval, it contracts an elastic-supply token's total supply based on the pool price's deviation below a rising target tick, with an optional permissionless buyback mechanism that burns tokens using accrued opening fees.
Base
beforeInitafterInitbeforeSwapafterSwap+2
1
2mo
PVTWethTaxHookImposes a hardcoded 3% WETH tax on all exact-input swaps in a single canonical PVT/WETH pool, diverting the tax to an immutable fee recipient via beforeSwapReturnsDelta (buys) and afterSwapReturnsDelta (sells). Exact-output swaps are permanently disabled.
Base
beforeSwapafterSwapswapDeltaafterSwapDelta
1
2mo
SquishHookAn afterSwap hook that sweeps a tick-triggered intent queue (SquishBook) at the end of every swap. When a swap moves the price past a registered tick threshold, the hook executes standing instructions (arbitrary external calls with escrowed bounties) and credits the bounties to the swapper; a try/catch ensures a failing intent never reverts the triggering swap.
Base
afterSwap
1
2mo
MultiPoolsHookFee-routing hook that extracts configurable swap fees (30–500 bps) from ETH-paired pools, with a 3000 bps anti-sniper fee during the first 60 seconds post-launch. Fees are split among creator, buyback/burn, rewards distributor, and platform wallets. LP additions are locked to the initial auto-seeder after first seed; LP removals always revert.
Base
beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+2
1
3mo
MultiPoolsHookCollects configurable ETH swap fees on factory-registered pools, distributing them across creator, buyback/burn, rewards, auto-LP, and platform shares. Applies a 30% antisniper fee during a 60-second post-launch window and permanently locks LP removal.
Base
beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+2
1
3mo
PokeHookPokeworld's swap hook that collects LP fees and dynamic sell-side charges (including rolling sell tax and price-impact fees) via BeforeSwapDelta, matches buy orders against an internal OTC token inventory, and delegates additional Aerodrome liquidity logic to an immutable hybrid module via delegatecall.
Base
beforeInitbeforeSwapafterSwapswapDelta+1
1
3mo
OmniPriceHookPrices swaps against a threshold-signed global price using JIT one-tick liquidity bands; maintains a visible straddle book position between swaps. Applies a dynamic fee (widened when the signed price is stale or intra-version drift is high), blocks external liquidity, and distributes fees across four configured recipients.
Base
beforeAddLiqbeforeSwapafterSwap
1
3mo
BotcoinWethFeeHookA single-pool BOTCOIN/WETH hook that charges configurable input fees on every swap, routing fee revenue to a protocol vault for rewards, burns, and subsidies. NFT holders receive a discount, and a TWAP-gated botcoin conversion buffer fills buy-side swaps via beforeSwapReturnsDelta. Also lazily executes subsidy conversions and bonus campaigns during swap callbacks.
Base
beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4
1
3mo
NARA Liquidity Growth HookA Uniswap v4 hook for a single registered token/base pool that applies a configurable, block-level pressure-based fee to exact-input swaps only. Fee rates scale through tiered thresholds relative to a protocol-configured depth parameter; collected fees are taken from the swap input via poolManager.take() and forwarded to an external vault.
Base
beforeInitbeforeSwapswapDelta
1
3mo
StableSwapHooksA Uniswap v4 hook implementing a Curve-style StableSwap AMM with full custom accounting. Supports 2–4 currencies with optional rate oracles and dynamic amplification coefficient (ramp). Executes swaps entirely in beforeSwap via BeforeSwapDelta, collecting LP, hook, and protocol fees. Issues its own ERC20 LP token (SSLP).
Base
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2
1
3mo
LexifiHookCompliance-gating hook that enforces per-pool eligibility rules for swaps and liquidity additions. Each pool can be assigned a configurable policy contract that determines user access levels; non-compliant users are denied via revert. Resolves user identity through trusted routers' msgSender(), falling back to the caller address.
Base
beforeInitbeforeAddLiqbeforeSwap
1
3mo
SaturnOmnichainV4HookMinimal hook for the Saturn Omnichain project; the afterInitialize callback itself is a no-op. A separate initializePool() function on the contract records the initial pool tick and sets a poolInitialized flag. Has no effect on swaps, liquidity operations, or fees.
Base
afterInit
1
4mo
UruLaunchHookUniswap V4 hook for the URU token launch that collects a time-decaying sniper tax (up to 99% at launch, decaying to 1% over a configured duration) on each swap via afterSwapReturnsDelta, sending proceeds to a vault. Also tracks per-epoch URU/WETH volume to compute and emit an emission rate signal for external consumers.
Base
afterSwapafterSwapDelta
1
4mo
ZoraV4CoinHookZora Coins V4 hook that collects LP fees on every swap, converts them to a backing currency via multi-hop paths, and distributes rewards. Applies dynamic swap fees computed by an external FeeManager and supports pool migration to newer hook versions via a permissioned upgrade gate.
Base
afterInitbeforeSwapafterSwap
1
4mo
Bonker Static Fee Hook (Base)A Uniswap v4 hook for token launches that stores direction-specific LP fees (bonker-side and paired-side) set at initialization, and collects a 20% protocol fee on each swap via beforeSwap and afterSwap delta returns. Includes an optional time-limited MEV-protection module that can temporarily raise fees, and supports configurable pool extensions.
Base
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
1
4mo
OwnerManagedRangeHookOwner-managed concentrated liquidity hook for a single SLEUTH/USDC pool on Base. Maintains two hook-owned positions (a main concentrated range and a single-sided USDC bid), with owner-controlled seeding, reanchoring, and optional auto-compounding of accrued fees triggered on each swap.
Base
beforeInitbeforeAddLiqbeforeRemoveLiqafterSwap
1