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
20mo
BTC ACC Hook (Base)A hook that takes a configurable fee (1-10%) on each swap and deposits it into a Bitcoin accumulation contract, converting swap fees from ETH, WETH, USDC, or cbBTC into Bitcoin for the swapper. The beforeInitialize hook enforces that pools must pair exactly one allowed base token (ETH/WETH/USDC/cbBTC) with a non-base token.
Base
beforeInitafterSwapafterSwapDelta
9
2mo
DynamicFeeHookV2Implements a linearly-decaying dynamic LP fee (anti-sniper) that transitions from a high start fee to a lower end fee over a configurable duration, then locks in the end fee permanently. Maintains an internal TWAP oracle via a cumulative sqrt-price accumulator updated on each swap.
Base
beforeSwapafterSwap
8
4mo
JBUniswapV4HookA Juicebox-integrated Uniswap v4 hook that routes exact-input swaps through either the V4 AMM or a Juicebox terminal (buy or sell side), choosing whichever path offers better output. It also maintains a TWAP oracle by recording price observations after each swap, add-liquidity, and remove-liquidity event.
Base
afterInitafterAddLiqafterRemoveLiqbeforeSwap+2
8
5mo
TokenFactoryA token launch factory that deploys ERC-20 tokens, initializes Uniswap v4 pools with permanently locked liquidity, and collects a 0.5% tax on token purchase swaps (non-WETH output) via the afterSwap hook, forwarding the tax to a fee recipient.
Base
afterSwap
8
5mo
HookTokenMaintains a registry of project tokens and enforces that only pre-registered tokens (paired with native ETH) can be used to initialize Uniswap v4 pools. On afterInitialize, it validates the pool's token is registered and records the pool ID → token mapping.
Base
afterInit
8
5mo
UniClawHookV4Dual-mode Uniswap v4 hook supporting agent-only pools (requiring on-chain agent registry verification) and public pools. Captures swap fees via afterSwapReturnDelta with optional reputation-based fee discounts for verified agents.
Base
afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
8
10mo
Aegis v3 Hook (Base)Spot is a Uniswap v4 hook that implements surge-based dynamic fees using a truncated geometric oracle, charges protocol fees (POL share) on swaps, and manages a full-range liquidity position that automatically reinvests accrued fees.
Base
afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
8
11mo
HaberdasheryHookA fee-collecting hook that charges a configurable percentage fee (default 1%, max 10%) on each swap by taking the fee amount via beforeSwapReturnsDelta, accumulating fees per pool by currency. The owner can withdraw accumulated fees, automatically converting non-Habs token balances to the Habs token via an internal pool swap.
Base
afterInitbeforeSwapswapDelta
8
11mo
C402DynamicFeeHookA hook that restricts pool initialization to whitelisted launchers, enforces one-time liquidity addition per pool, and applies a time-based dynamic LP fee (2.5% for the first 24 hours after pool creation, then 1% thereafter).
Base
beforeInitbeforeAddLiqbeforeSwap
8
12mo
TokenMesaHookCollects a configurable USDC-denominated fee (up to 1% in basis points) on swaps by intercepting input amounts via BeforeSwapDelta, using an on-chain TWAP oracle (circular buffer of 100 tick observations) to convert non-USDC swap amounts into USDC-equivalent fee values. Fees are forwarded to a configurable recipient.
Base
beforeSwapafterSwapswapDeltaafterSwapDelta
8
12mo
ArcmindA token launchpad hook that creates ETH-only paired pools, adds initial liquidity, and collects a configurable BPS fee on ETH-side swaps using beforeSwap/afterSwap delta returns. Fees are split between the token creator and the platform owner; deployed as a transparent upgradeable proxy.
Base
beforeInitbeforeSwapafterSwapswapDelta+1
8
13mo
TruthMarketHookA prediction market hook that tracks pool tick movements and notifies an IOrderManager to settle tick-range orders after each swap. Optionally applies an admin-configurable fee on swaps by minting tokens to a fee collector, and supports an optional ISwapValidator for post-swap validation.
Base
beforeSwapafterSwapafterSwapDelta
8
16mo
BoardHookA Uniswap v4 hook for token launches that manages a fair launch phase (one-sided liquidity position with temporal gating and optional Merkle-proof whitelisting), captures and distributes swap fees to protocol, creator, referrer, and swapper recipients, and blocks direct pool initialization — requiring tokens to be deployed through the hook's own `publiphi` function.
Base
beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+6
8
16mo
DynamicFeeHookA Uniswap v4 hook that dynamically adjusts the LP fee on every swap. An owner can set the active fee to any value between 1% (10000) and 2% (20000) via setFee(); the current fee is returned as an lpFeeOverride in beforeSwap.
Base
beforeSwap
8
17mo
CreatorCoinHookA Uniswap v4 hook for Zora creator coin pools that creates multiple liquidity positions via a Doppler multi-curve configuration on pool initialization, and on every swap collects accrued LP fees from all positions, converts them to a backing currency via multi-hop swap paths, and distributes the proceeds as rewards to the creator, referrers, and protocol.
Base
afterInitafterSwap
8
17mo
ZoraV4CoinHookA Zora V4 Coin hook that registers Doppler multi-curve LP positions on pool initialization and, after each swap, collects accumulated fees, routes them to a target currency via nested pool swaps, and distributes market rewards to protocol participants and an optional trade referrer encoded in hookData.
Base
afterInitafterSwap
8
56d
FlashPerpsHookCustom-curve perpetuals hook that acts as the sole market maker for PERP/USDG pools. Buy swaps mint new perp exposure from a registered vault; sell swaps unwind it. A fixed 0.30% USDG fee on all trades is routed to a FLASH buyback module. No passive liquidity or external LPs are permitted.
Base
beforeInitbeforeAddLiqbeforeSwapswapDelta
7
2mo
DecayFeeHookA Uniswap v4 hook that applies a linearly decaying launch fee (anti-snipe) from a configurable START_FEE down to END_FEE over DECAY_SECONDS, then charges a flat fee. Pool initialization is restricted to a fixed MULTI_POOL address set at deployment.
Base
beforeInitbeforeSwap
7
2mo
LaunchHookA shared Uniswap v4 hook for B20 token launchpads that gates pool creation to a factory, permanently locks single-sided liquidity, and charges a configurable swap fee (split among creator, platform, and optional referrer) plus a timestamp-anchored anti-snipe surcharge that decays to the base fee over a configurable window.
Base
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3
7
4mo
B20FeeHookA dynamic fee hook for native ETH/TOKEN pools that charges 1–5% fees in ETH on both buys (via beforeSwap delta) and sells (via afterSwap delta). The fee scales with the previous swap's tick movement as a volatility measure. Pool creation is factory-gated via beforeInitialize; exact-output swaps are reverted.
Base
beforeInitbeforeSwapafterSwapswapDelta+1
7
4mo
JBUniswapV4HookA Uniswap V4 hook that routes swaps to whichever venue (V4 pool or Juicebox terminal) offers more output tokens, using a 30-minute TWAP oracle for manipulation-resistant price comparison. Also maintains a TWAP oracle by recording observations after pool initialization, liquidity changes, and swaps.
Base
afterInitafterAddLiqafterRemoveLiqbeforeSwap+2
7
7mo
MoonsendFeeHook_BASEA factory-gated Uniswap v4 hook that enforces pool pre-registration before initialization and sets a one-time dynamic LP fee (from a fixed set of tiers: 1.33%–4.20%) via updateDynamicLPFee() in afterInitialize. Has no swap callbacks, imposing zero gas overhead per swap.
Base
beforeInitafterInit
7
8mo
LaunchHookV2Launch guard hook that applies a 90% buy-side fee override during a configurable block window post-launch, then collects a 1% protocol/creator fee split on all swaps via afterSwapReturnsDelta.
Base
beforeSwapafterSwapafterSwapDelta
7
11mo
PoolStartegyHooksNFT strategy hook that gates pool initialization and liquidity addition to the factory contract, collects time-decaying swap fees (starting at 99% and decreasing every 5 blocks), converts non-ETH fees via nested swaps, and distributes fees among a vault, optional strategy fee recipient, and protocol address. Blocks exact-output swaps.
Base
beforeInitbeforeAddLiqafterAddLiqbeforeSwap+2
7
11mo
TokenMesaHookCollects a configurable USDC-denominated fee (up to 1%) on every swap using an internal TWAP oracle (circular buffer of 100 tick observations) to convert token amounts to USDC. Fees are deducted via beforeSwap/afterSwap return deltas and forwarded to a configurable recipient address controlled by the owner.
Base
beforeSwapafterSwapswapDeltaafterSwapDelta
7
12mo
EthOnlyFeeHookRestricts pool initialization to ETH/token pairs with zero LP fee, and charges a configurable BPS fee on the ETH side of every swap via beforeSwap and afterSwap return deltas. Accumulated fees are minted as ERC-6909 claims and can be claimed by the owner, split between a creator and platform address.
Base
beforeInitbeforeSwapafterSwapswapDelta+1
7
15mo
TokenFabA token launchpad hook that deploys ERC20 tokens via a bonding curve on Uniswap v4, blocking external liquidity additions and removals. When the bonding curve supply is exhausted, it automatically migrates liquidity to a full-range AMM pool. Collects a 5% fee on swaps (1% creator, 1% platform, 3% protocol) distributed to configurable fee receivers via afterSwapReturnsDelta.
Base
beforeInitbeforeAddLiqbeforeRemoveLiqafterSwap+1
7
15mo
BoardHookA Uniswap v4 hook powering a token launchpad ("publiphi") with fair launch mechanics: it enforces a temporal launch window (blocking swaps before launch time), fills buys directly from a one-sided fair launch position during the launch window, and captures fees after every swap distributing them across protocol, creator, referrer, and swapper recipients.
Base
beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+6
7
17mo
TokenFabBonding curve token launchpad hook. New ERC20 tokens launch on a concentrated bonding curve pool; once the curve supply is exhausted, the hook automatically transitions liquidity to a standard AMM pool split into base-only and token-only legs. A fixed 1% fee on each swap is split 50/50 between the token creator and the platform.
Base
beforeInitbeforeAddLiqbeforeRemoveLiqafterSwap+1
7
19mo
ExponentialLiquidityHookA bonding curve hook that creates Uniswap v4 pools for newly deployed ERC20 pack tokens, distributing liquidity across exponentially spaced tick ranges. In afterSwap, it enforces whole-token sales, takes a 1% protocol fee via delta return, and when the full bonding curve supply is sold, removes all liquidity and transfers collected base tokens to a PackERC20 contract to enable Chainlink VRF-based pack opening.
Base
beforeInitafterSwapafterSwapDelta
7
19mo
ExponentialLiquidityHookA bonding curve hook that deploys ERC20 tokens paired with WBTC. It manages segmented liquidity across 10 tick intervals within a fixed price range. When a swap moves the price past the bonding curve's end threshold, the hook removes all liquidity segments and calls enablePackOpening() on the token, graduating it from the bonding curve. Direct pool initialization is blocked; pools must be created via deployERC20Token().
Base
beforeInitafterSwap
7
56d
FlashPerpsHookCustom-curve perpetuals issuance hook where each registered PERP/USDG pool mints or unwinds leveraged perp exposure through Morpho-backed vaults. All swaps are fully intercepted via BeforeSwapDelta (no passive liquidity); a fixed 0.30% USDG fee routes to a buyback module.
Base
beforeInitbeforeAddLiqbeforeSwapswapDelta
6
57d
LaunchFeeHookA launchpad fee hook that charges a configurable fee (default 2%, max 3%) on every swap denominated in the quote asset using beforeSwap/afterSwap return deltas. For dual-pool tokens (coin + NFT floor token), it mirrors 50% of each trade through the paired collection pool to keep both markets synchronized.
Base
beforeSwapafterSwapswapDeltaafterSwapDelta
6
2mo
DecayFeeHookCharges a linearly decaying swap fee on the unspecified currency (via afterSwapReturnsDelta), from a configurable start rate down to an end rate over a fixed decay window. When the fee is denominated in the launched token, it converts it to stock via a nested pool swap and credits all proceeds to a MultiPool contract as ERC-6909 claims.
Base
beforeInitafterSwapafterSwapDelta
6
2mo
TokenLaunchpadA permissionless fixed-supply token launchpad hook for Uniswap v4. The beforeInitialize callback always reverts for external callers, ensuring only the launchpad itself can initialize launch pools via its createToken function, which atomically deploys a token, sets up a pool, and seeds permanent liquidity positions.
Base
beforeInit
6
5mo
LayerMemeHookStaticFeeV2A meme token launchpad hook that enforces separate static LP fees for buying vs. selling the meme token, collects a 20% protocol fee on each swap via before/afterSwap delta returns, and optionally integrates an MEV protection module (active for up to 2 minutes post-launch) and a pluggable pool extension.
Base
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
6
6mo
BurnOnSwapHookBurns a configurable percentage (up to 3%) of a designated token on each swap by taking a portion of the swap amount from the pool manager and calling burn() on the token contract. Configuration is per-pool and owner-controlled.
Base
beforeSwapafterSwapswapDeltaafterSwapDelta
6
7mo
Hook_V2EMA-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.
Base
afterInitbeforeAddLiqbeforeRemoveLiqafterRemoveLiq+2
6
7mo
DynamicFeeHookA Uniswap v4 hook implementing a 14-step dynamic fee schedule (0.03%–1.00%) based on price volatility, with anti-JIT liquidity protection that enforces a 300-block (~10 min) minimum hold period before liquidity can be removed.
Base
afterInitbeforeAddLiqbeforeRemoveLiqafterRemoveLiq+1
6
8mo
SeedifyFeeHookA time-based fundraise fee hook for Uniswap v4 that charges configurable fees on swaps involving a designated fundraise token, with a higher initial rate during a launch window that drops to a lower rate afterward. Fees are split between platform and creator treasuries and accumulated for on-demand withdrawal.
Base
afterInitbeforeSwapafterSwapswapDelta+1
6
9mo
ZoraV4CoinHookUniswap v4 hook for Zora Coins that collects LP fees on every swap, converts them to a backing currency via multi-hop paths, and distributes them as rewards. On initialization it provisions multiple liquidity positions per coin configuration, and after each swap it fills Zora limit orders based on the tick range crossed.
Base
afterInitbeforeSwapafterSwap
6
17mo
TokenFabA bonding curve token launch platform hook that manages ERC-20 token launches through a fixed bonding curve phase, collects 1% swap fees split 50/50 between creator and platform fee recipients, and automatically migrates fully-bonded tokens to a standard AMM pool with split single-sided liquidity positions.
Base
beforeInitbeforeAddLiqbeforeRemoveLiqafterSwap+1
6
17mo
TokenFabA token launch hook implementing a bonding curve for initial price discovery. When the bonding curve supply cap (15.75M tokens) is reached, it automatically removes liquidity and graduates to an AMM pool. Collects a 1% swap fee split 50/50 between creator and platform fee recipients. External liquidity management is blocked.
Base
beforeInitbeforeAddLiqbeforeRemoveLiqafterSwap+1
6
18mo
TokenFabToken launch factory hook implementing a bonding curve for newly deployed ERC-20 tokens. Blocks external pool initialization and liquidity additions, collects a 1% swap fee on the base token split between creator and platform, and automatically graduates tokens to a full-range AMM pool when the bonding curve supply threshold is reached.
Base
beforeInitbeforeAddLiqafterSwapafterSwapDelta
6
57d
BluestonkHookSkims a flat 2% fee on every swap denominated in the quote asset (currency1), split 50/50 between a platform wallet and the registered token creator. LP fee is forced to zero so all fees flow through the hook via beforeSwap and afterSwap delta returns.
Base
afterInitbeforeSwapafterSwapswapDelta+1
5
2mo
DynamicFeeHookV2Implements a dynamic LP fee that linearly decays from a high launch fee to a flat end fee over a configurable duration (anti-sniper mechanism), then holds the end fee permanently. Maintains a TWAP price oracle via per-swap sqrt-price accumulator updates. No pause or access control of any kind can halt swaps.
Base
beforeSwapafterSwap
5
2mo
BallisticFeeHookV3Charges time-decaying swap fees on the quote currency, splitting them between a pool creator and a platform treasury. Fees start at a configurable opening rate and decay to a base rate over a configured duration, with fees taken directly via beforeSwap and afterSwap return deltas.
Base
beforeInitbeforeSwapafterSwapswapDelta+1
5
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that records the initial tick after pool initialization via an external liquidity bootstrapper contract. Only the afterInitialize permission is enabled; swap behavior is fully vanilla.
Base
afterInit
5
4mo
ClankerHookDynamicFeeV2A Uniswap v4 hook for the Clanker token launchpad that dynamically adjusts LP fees based on a volatility accumulator derived from tick movement across swaps. Collects a configurable protocol fee on each swap of the paired (non-Clanker) token via before/afterSwap delta manipulation, and supports an optional MEV-protection module and pool extension.
Base
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
5
6mo
AegisAegisHook charges dynamic swap fees set per-swap by DynamicFeeManager, collects additional hook fees on each swap, and periodically reinvests them as full-range liquidity via AegisEngine. It manages oracle observation cardinality growth and notifies LimitOrderManager and OracleManager after each swap.
Base
afterInitbeforeSwapafterSwapswapDelta+1
5