Every Uniswap v4 hook, live
Every hook attached to at least one Uniswap v4 pool, graded and explained in plain English, with the pools that use it.
AgeHookChainPermissionsPools
5mo
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
5mo
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
5mo
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
5mo
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
5mo
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
5mo
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
5mo
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
5mo
0x81f3…c0ccRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
3
5mo
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
5mo
0x5338…40c0Runs code on every swap
Ethereum
beforeSwapafterSwap
3
5mo
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
5mo
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
5mo
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
5mo
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
5mo
0x1ce3…00ccRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
3
5mo
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
0xf314…aaa8Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2
3
6mo
0xe03b…eaa8Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2
3
6mo
0xdb32…2aa8Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2
3
6mo
0xa4df…40ccRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
3
6mo
0x2a27…0044Runs code on every swap · Can take tokens from swaps · Sets its own swap fee
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
0xfa73…e888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
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
0xb671…0080Runs code on every swap
Ethereum
beforeSwap
3
6mo
0x4934…0080Runs code on every swap
Ethereum
beforeSwap
3
6mo
0x76f3…40ccRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
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
6mo
0xc15d…6888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
3
7mo
0xc130…e888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
3
7mo
0xc103…a888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
3
8mo
0xc1e7…a088Runs code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapswapDelta
3
8mo
0xb576…6088Runs code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapswapDelta
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
0xfe9d…e088Runs code on every swap · Can take tokens from swaps · Runs at pool creation
Ethereum
beforeInitbeforeSwapswapDelta
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
10mo
0xb2da…6ac0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1
3
10mo
0xfeba…00ccRuns code on every swap · Can take tokens from swaps
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
3
10mo
0x1b49…2ac0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1
3
11mo
Action HookCaptures a configurable basis-point fee from BUX/ETH pool swaps, splitting proceeds between an action funding contract (for hourly and daily rewards) and a dev fee splitter via beforeSwap and afterSwap return deltas.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
3
11mo
ENSWheelHookA Uniswap v4 hook for ENSWheel token launches that gates pool initialization and liquidity adds to factory-authorized contexts, enforces a governance-controlled tradingEnabled flag on swaps, and extracts a time-decaying buy fee (95%→10% over blocks) via afterSwapReturnsDelta, distributing 80% to the ENSWheel collection and 20% to a team address.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+1
3
13mo
0x78a1…68c4Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+1
3
13mo
HystrategyHookSkims a percentage fee from the output of every swap in an ETH/HYSTR pool. Buy-side fees decay from 15% to 10% over blocks after deployment; sell-side fees are a flat 10%. Collected fees are converted to ETH via a nested swap and distributed 80% to treasury and 20% to team using afterSwap delta return.
Ethereum
beforeSwapafterSwapafterSwapDelta
3
15mo
0x80ba…0080Runs code on every swap
Ethereum
beforeSwap
3
16mo
FeeHookCollects configurable basis-point fees on both the input token (via BeforeSwapDelta) and output token (via afterSwapReturnsDelta) of each swap, routing the collected fees to a designated recipient address. Fee rates can be configured globally or per-pool by an admin role.
Ethereum
beforeSwapafterSwapswapDeltaafterSwapDelta
3
17mo
DynamicFeeHookDynamically adjusts LP fees per pool via authorized fee oracles. In beforeSwap, reads the oracle-set fee for the pool and applies it via updateDynamicLPFee, returning a fee override. Optionally reverts swaps if the fee data is stale beyond a configurable block range.
Ethereum
beforeSwap
3