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
5mo
TTTHookA Uniswap v4 hook for TTT/ETH pools launched by the TenThousandTokens factory. Applies a flat 1% fee on every swap; on buys, fee tokens are swapped back to ETH and forwarded to a FeeSplitter. During the first 15 minutes after launch, if the pool has nftOnlyPeriod enabled, only holders of the original TenThousandTokens NFT collection may buy.
Ethereum
beforeInitafterAddLiqafterSwapafterSwapDelta
4
5mo
SpudsHookA Uniswap v4 hook managing four SPUDS/counter-asset pools with a block-based emission schedule. Distributes SPUDS token rewards to full-range LP positions and single-asset stakers proportionally, and allows anyone to trigger periodic buyback-and-burn of SPUDS using accumulated swap fees from the hook-owned genesis liquidity position.
Ethereum
beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+2
4
6mo
OneTimeLaunchHookTemplateGates pool initialization and initial liquidity addition to once per token. After launch, the deployer (or any caller via the permissionless entropy() function) can activate an allowlist restriction on token1-to-token0 swaps, blocking addresses not in the deployer-controlled hasValue mapping (checked via tx.origin).
Ethereum
beforeInitbeforeAddLiqafterSwap
4
6mo
OneTimeLaunchHookTemplateA one-time launch hook that restricts each token's pool initialization and initial liquidity addition to a single occurrence. In afterSwap, when enabled for a token, limits non-zeroForOne swaps to addresses in an owner-managed allowlist, checked via tx.origin rather than msg.sender.
Ethereum
beforeInitbeforeAddLiqafterSwap
4
6mo
VibeHookA Uniswap v4 hook for a fixed ETH/VIBE pool that applies a time-decaying sell tax (20–5% based on time since last buy) retained as reward inventory, and rewards the previous qualified buyer (≥0.01 ETH) with 5% of the smaller buy amount. Swaps are only processable through a configured UniversalRouter.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
4
6mo
TokenpadHookApplies tiered ETH fees on all swaps (buys and sells) based on the token's current market cap, splitting fees among platform, creator, and stakers via a registered LaunchToken contract. Optionally applies an additional creator-controlled tax (up to 5%) on top of the platform fee.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
4
6mo
InuPegHookA swap-tax hook that deducts 2.5% on buys (2% to a rewards vault, 0.5% to a deployer address) and 2% on sells (ETH forwarded to vault), using afterSwapReturnsDelta. On buys, INU NFTs are minted to the buyer; on sells, NFTs are burned LIFO from the seller's inventory.
Ethereum
beforeSwapafterSwapafterSwapDelta
4
6mo
UniversalKlikHookA market-cap-tiered tax hook for ETH/token pools that deducts a fee on every buy and sell swap, splitting proceeds between a platform treasury and the token creator. Fees step down from 1.25% to 0.35% as market cap increases (queried from an external factory); no fee is taken on the pool's deployment block.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
4
9mo
CumHookDynamic fee hook that charges LP fees proportional to cumulative directional price impact. Fees increase when swaps worsen price imbalance and decrease (at half rate) when swaps reduce it, with configurable time-based decay. Pools must be configured with fee bounds, decay window, and illiquidity scale before trading is permitted.
Ethereum
beforeInitbeforeSwapafterSwap
4
9mo
Custom Fee MEV Protection Hook (Ethereum)A Uniswap v4 hook for TOKEN/ETH and TOKEN/WETH pools that applies configurable directional buy/sell fee overrides and optional anti-MEV protections including blacklisting, one-trade-per-block enforcement, cooldown periods, and maximum sell amount limits.
Ethereum
afterInitbeforeSwap
4
9mo
VolatilityGuardHookV2A volatility-reactive dynamic fee hook that switches LP fees between a base rate (0.05%) and a panic rate (2.00%) based on tick movement. When price moves beyond a tick threshold within an anchor window, it enters panic mode with elevated fees for 60 seconds.
Ethereum
beforeInitafterInitafterAddLiqafterRemoveLiq+7
4
10mo
Arrakis Private Hook (Ethereum)Restricts liquidity additions to authorized Arrakis LP modules for private vaults, and applies per-direction dynamic fee overrides on swaps via the Uniswap v4 LP fee override mechanism.
Ethereum
beforeAddLiqbeforeSwap
4
11mo
PoolStartegyHooksA Uniswap v4 hook for NFT collection pools that restricts pool initialization and liquidity to an authorized factory, takes dynamic swap fees (time-decaying buy fee starting at 99% and decreasing per block), distributes fees to a vault and configurable recipients, and blocks exact-output swaps.
Ethereum
beforeInitbeforeAddLiqafterAddLiqbeforeSwap+2
4
13mo
YoYoStrategyHookA Uniswap v4 hook for the YoYo Pad NFT strategy launchpad. Restricts pool initialization and liquidity additions to the factory, then takes a dynamic fee on each swap (starting at 50% for buys, declining per block toward a base fee) and distributes proceeds to the NFT strategy, creator, and protocol address.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+1
4
13mo
NFTStrategyHookA Uniswap v4 hook for NFT collection trading pools that takes dynamic buy fees (starting at 95% and decaying ~100 bps per 5 blocks down to 10%) and a fixed 10% sell fee. Fees are split 80% to the NFT collection contract and 20% to a configured fee address. Pool initialization and liquidity addition are restricted to the NFTStrategyFactory.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+1
4
14mo
TaxHookA Uniswap v4 hook that applies a fixed tax (default 10%) on exact-input swaps in WETH-paired pools. In beforeSwap, it takes 8% of input to a protocol wallet and 2% to a team wallet, then returns a BeforeSwapDelta so the pool executes on the net post-fee amount. Exact-output swaps revert.
Ethereum
beforeSwapswapDelta
4
2mo
MeridianHookA Uniswap v4 hook for the Meridian launchpad that manages single-sided concentrated liquidity positions for token launches. It collects custom fees on buys (via beforeSwapReturnsDelta) and sells (via afterSwapReturnsDelta), with a time-decaying anti-snipe fee at launch, and locks the liquidity position so only the hook itself can add or remove it.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
3
2mo
GroveHookA fee-collection hook that charges a configurable levy (up to 5%) on swaps for registered tokens, extracting fees via BeforeSwapDelta and afterSwapReturnsDelta and accumulating them in a per-planter sap mapping claimable via tap or tapAll.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
3
2mo
GweiTaxHookA singleton Uniswap v4 hook that charges a time-decaying ETH swap tax on every pool launched by GweiFunLaunchpad, forwarding the tax to the token deployer. Buy and sell tax rates decay linearly from a configured start rate to a floor, and can only ever be lowered by the tax recipient. Includes an optional per-transaction buy cap that lapses after a configurable deadline.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
3
2mo
VoltageHookA Uniswap v4 hook that captures a 3% fee on every ETH/VOLT swap: sell fees are taken in ETH and immediately distributed (70% to VOLT holders weighted by balance × time-held multiplier, 30% to a capacitor reserve for holders with ≥100 VOLT); buy fees are collected as VOLT tokens and converted to ETH via a permissionless convertVoltageFee() call.
Ethereum
afterSwapafterSwapDelta
3
3mo
OraclePricingHookA Uniswap v4 hook that prices swaps entirely from Chainlink oracle feeds, bypassing the AMM curve. Operates as an on-chain RFQ venue for tokenized equities, with configurable markets, bid-ask spreads, market hours, and inventory held as ERC-6909 claims inside the PoolManager.
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
3
3mo
FomoHookA Uniswap v4 hook for a FOMO-style token launch platform. It gates initial liquidity bootstrapping to the designated launcher via tagged hookData, calls an external fee vault on every swap to trigger game-round settlement, and records qualifying buy events from the designated fomoRouter for prize pool accounting.
Ethereum
beforeAddLiqbeforeSwapafterSwap
3
5mo
TaxHookDeducts a configurable percentage (up to 10%) of input currency from each swap as a tax, routing 99% to a project treasury and 1% to a factory protocol fee recipient. Supports per-direction buy/sell tax decay schedules anchored on trading activation, a ramping max-buy cap enforced in afterSwap, and governance-gated trading. Exact-output swaps are not supported.
Ethereum
beforeSwapafterSwapswapDelta
3
5mo
PKMNBurnHookBurns 0.1% of the output token on every swap by sending it to address(0xdead), using afterSwapReturnsDelta to reduce the swapper's received amount. Tracks cumulative PKMN burned for buys; applies the same burn to ETH received on sells.
Ethereum
afterSwapafterSwapDelta
3
5mo
RebelProtocolA Uniswap v4 hook for ETH/USDT/USDC↔REBEL pools that charges a fixed 1% fee on every swap (always denominated in non-REBEL currency) using beforeSwap/afterSwap delta returns. Fees fund a round-based PvP game where buyers compete to become "King" and earn from a leaderboard-weighted stake pool; no admin, no upgrade, no owner.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
3
5mo
RatchetHookA bonding curve hook that acts as the sole counterparty for all swaps; no LP positions are allowed. ETH→token buys mint tokens via a multi-phase linear bonding curve (price doubles, cap halves each phase); token→ETH sells burn tokens and release ETH from reserve. Includes a 5-day genesis deposit window for pro-rata initial token distribution.
Ethereum
beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+1
3
5mo
HookControllerV3A Uniswap v4 hook that implements a tick-observation TWAP oracle (V3-style 144-slot ring buffer) and applies reactive LP fee overrides: 30 bps normally, 300 bps in defensive mode triggered by liquidation cascades. Integrated with a synthetic asset engine to gate new short positions and compute on-chain price data.
Ethereum
afterInitbeforeAddLiqbeforeSwapafterSwap
3
5mo
UniswapV4HookA Uniswap v4 buy-and-burn hook: buys collect 1% of ETH input into a burn pot; sells queue 1% of tokens for burning. Every 20 swaps a buyback-and-burn can be triggered. Sells revert in the same block as a buyback and can be gated by a per-token tx.origin allowlist: any address can permissionlessly enable the sell gate via compress(), while adding addresses and disabling the gate are deployer-only.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
3
6mo
UniswapV4HookGates pool initialization and liquidity addition to once per token (currency1). In afterSwap, token1→token0 swaps (sells) can be blocked by any caller via claw(), after which only addresses on an owner-managed hasValue allowlist (set by the deployer via multiAgentInit) may complete that direction of swap.
Ethereum
beforeInitbeforeAddLiqafterSwap
3
6mo
TWAPHookA Uniswap v4 hook that implements a custom constant-product AMM with a hardcoded virtual reserve and a TWAP-based quadratic tax. Buys or sells that deviate from the on-chain TWAP incur up to 20% tax routed to a hardcoded treasury; external LP is fully blocked and all liquidity is held by the hook.
Ethereum
beforeAddLiqbeforeRemoveLiqbeforeSwapswapDelta
3
6mo
DopplerHookMigratorA Uniswap v4 hook that migrates Doppler/Airlock token launch liquidity into a fresh v4 pool, splitting it across two single-sided positions, and optionally delegates beforeSwap/afterSwap logic to a configurable Doppler hook with dynamic LP fee support.
Ethereum
beforeInitbeforeSwapafterSwapafterSwapDelta
3
6mo
UniswapV4HookOne-time pool initialization and liquidity gate hook that selectively blocks sell-direction swaps (token1→token0) for addresses not in an owner-managed allowlist when a per-token flag is set, while buy-direction swaps always succeed. Anyone can call tokenSet() to activate the sell restriction at any time. Only the deployer's tx.origin is initially allowlisted.
Ethereum
beforeInitbeforeAddLiqafterSwap
3
6mo
PosHookCharges a 1% ETH fee on every swap in ETH/TOKEN pools by using beforeSwap and afterSwap with delta returns to intercept ETH on both the specified and unspecified sides of a swap. Accumulated fees are held by the hook and withdrawable by an immutable feeRecipient address.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
3
6mo
OneTimeLaunchHookTemplateA one-time launch template that restricts pool initialization and initial liquidity to a single occurrence per token. In afterSwap, when activated via trigger(), non-zeroForOne swaps are gated by an owner-managed allowlist (hasValue mapping) checked via tx.origin.
Ethereum
beforeInitbeforeAddLiqafterSwap
3
6mo
OneTimeLaunchHookTemplateRestricts each token pool to a single initialization and a single liquidity addition. In afterSwap, when enabled via alpha(), limits non-zeroForOne swaps to an allowlist (hasValue mapping) checked against tx.origin; the allowlist is managed by the deployer via addValues().
Ethereum
beforeInitbeforeAddLiqafterSwap
3
6mo
OneTimeLaunchHookTemplateA one-time launch hook that restricts pool initialization and liquidity addition to a single event per token. In afterSwap, non-zeroForOne swaps (buys) revert if tx.origin is not in a deployer-controlled allowlist, while sells are always permitted.
Ethereum
beforeInitbeforeAddLiqafterSwap
3
6mo
OneTimeLaunchHookTemplateRestricts pool initialization and initial liquidity addition to a single occurrence per token. In afterSwap, when activated via mix(), selectively reverts buy-side swaps (non-zeroForOne direction) for addresses not in an owner-controlled allowlist, checked via tx.origin.
Ethereum
beforeInitbeforeAddLiqafterSwap
3
6mo
HookdRandomHookRecords a rolling keccak256 seed per ERC3232 token after each swap, combining swap parameters and block context. ERC3232 tokens query this seed for on-chain randomness during token generation. Pool initialization is factory-gated to prevent unauthorized price setting.
Ethereum
beforeInitafterSwap
3
6mo
HashAn ERC20 token (HASH) that is also its own Uniswap v4 hook, managing an ETH/HASH pool with a 1% swap fee captured via BeforeSwapDelta and AfterSwapDelta return values. Includes a genesis sale phase, proof-of-work token mining, and a governance gate that blocks swaps until the genesis pool is seeded.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
3
6mo
OneTimeLaunchHookTemplateA one-time-launch hook that allows pool initialization and liquidity seeding only once per token. In afterSwap, restricts token sells (non-zeroForOne swaps) to a deployer-controlled allowlist when enabled, while token buys remain unrestricted.
Ethereum
beforeInitbeforeAddLiqafterSwap
3
6mo
YieldHookA Uniswap v4 hook that implements a custom constant-product AMM for a YIELD token, deploying asset reserves into ERC4626 vaults (MetaMorpho) to earn yield. Fully overrides swap execution via beforeSwap with delta returns (FLOOD-style), supporting YIELD/wstETH, YIELD/USDC, and YIELD/USDT pools. YIELD token holders can claim pro-rata vault yield via MasterChef-style accumulators.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2
3
6mo
FloodHookA custom single-sided AMM hook that acts as a bonding-curve market for the FLOOD token against WETH, USDC, and USDT. It fully overrides swap execution via beforeSwapReturnsDelta, computing prices with a constant-product formula using deposited Aave aTokens as the reserve, and charges a 30 bps base fee plus a gas-priority MEV fee. External LP deposits and donations are blocked.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2
3
6mo
TribunalHookImposes a tiered sell tax (8%–0.3% based on the seller's TRIB stake ratio) plus a 1% protocol fee on every swap via afterSwap. Fees are taken from the swap output: sell taxes go to TRIB stakers via the Court contract; protocol fees go to a treasury address.
Ethereum
afterSwapafterSwapDelta
3
6mo
UoreHookA token-incentive hook for UORE/ETH pools that applies a 1% swap tax: buys trigger UORE token burns; sells accumulate ETH into a buyback bucket. Qualifying buys record a pending lottery roll. Accumulated ETH can be used to buy back UORE from the pool and burn it. Also triggers UORE token start on first liquidity add.
Ethereum
afterAddLiqafterSwapafterSwapDelta
3
6mo
TribunalHookImplements sell-tax and protocol fee mechanics on TRIB/WETH swaps via afterSwap with delta return. On sells (TRIB→WETH), deducts a personal sell tax (up to 8%, reduced by stake percentage via Court contract) plus a 1% protocol fee in WETH, sent to staker rewards and treasury respectively. On buys (WETH→TRIB), deducts a 1% protocol fee in TRIB to treasury.
Ethereum
afterSwapafterSwapDelta
3
6mo
UnicoreHookA Uniswap v4 hook that levies a flat 3% tax on all native-ETH swaps. Buy-side tax is intercepted via BeforeSwapDelta (minted as ERC-6909 claims); sell-side tax is taken via AfterSwapDelta (physical ETH). Accumulated fees are pushed to an external reward distributor by calling normalize(), which is permissionless.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
3
6mo
PopShibaLaunchpadHookA launchpad tax hook for ETH-paired token pools that intercepts a configurable percentage (up to 1.25%) of ETH on buys and sells, distributing fees between a platform treasury and the token creator address based on market-cap tiers queried from a factory contract. Exact-output sell swaps are blocked.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
3
6mo
MoonsendFeeHook_WETHUniswap v4 hook that gates pool initialization to factory-pre-registered pools and sets an immutable per-pool dynamic LP fee (from a fixed allowlist of five tiers) via updateDynamicLPFee() in afterInitialize. Has no swap callbacks — the fee is written once at pool creation and cannot be changed afterwards.
Ethereum
beforeInitafterInit
3
9mo
Tetris Custom Dynamic Fee HookAn upgradeable proxy hook that calls poolManager.updateDynamicLPFee() on every swap to enforce a configurable LP fee percentage. The fee and admin address are set at initialization and can be updated by the admin.
Ethereum
beforeSwap
3
9mo
AuthSwapsRestricts all pool operations to callers in an owner-managed `trustedSenders` allowlist. Swaps additionally require the resolved user to pass `checkUser` (whitelisted and not banned) via the Manifest Finance `IAuthManager`. Liquidity operations, initialization, and donations additionally require the resolved sender to be a registered manifest account via the same `IAuthManager`. The auth manager address is updatable by the owner subject to a 7-day timelock.
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2
3