UniHooks

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