UniHooks

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.

Filters 1
Type
Safety
Activity
Permissions
Hooks with all of the selected permissions:
Sort
AgeHookChainPermissionsPools
37d ClausA Uniswap v4 hook for the Claus protocol that applies dynamic ETH/USD-based fees and splits them across project revenue, liquidity reserve, burn, FOMO reserve, and NFT reward destinations. Supports privacy-preserving ZK-funded buys via ClausPrivacyBuy and checkpoints market cap predictions after each swap. Deployed as a transparent upgradeable proxy. Ethereum beforeInitafterInitbeforeAddLiqafterAddLiq+10 1 39d LaunchHookSingle-pool ETH/token hook that takes a tiered fee on every swap: a 1.5% base fee on the ETH side plus a buy surcharge that decays linearly from 49% to 0% over 15 seconds post-launch. Fees accumulate as ERC-6909 ETH claims payable only to a fixed fee recipient. External liquidity additions are blocked for 24 hours after launch, and any sell that pushes the price above the launch price is reverted. Robinhood beforeInitafterInitbeforeAddLiqbeforeSwap+3 1 40d V22HookA launchpad hook that charges fees as hook return deltas on the pool's numeraire leg (static LP fee is zero). Fees combine a base rate, an optional per-pool creator tax (0–10%), and a time-decaying anti-snipe surcharge on buys only; an optional NFT holder gate restricts buying to collection holders during an early window. Liquidity is locked via a burned PositionManager NFT; removals and donations revert. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+4 1 40d UniKingHookUniKingHook is a Uniswap v4 hook for the ETH/UNIK pool. It charges a fixed 1.5% fee in ETH on swaps using beforeSwap and afterSwap delta flags, processes up to 20 active NFT accounts per swap, and allocates realized fees: 90% to NFT account rewards, 5% to the treasury, and 5% to a buyback reserve. Pool liquidity is permanently locked. The hook does not require custom hookData. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 1 41d 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 LimitOrderHookA Uniswap v4 Hook that enables on-chain limit orders on supported liquidity pools. Users can set a target price, and when the pool price reaches the specified price, the Hook automatically executes the order. This enables users to place limit orders directly on Uniswap v4. Unichain afterInitafterSwap 1 42d LimitOrderHookA Uniswap v4 Hook that enables on-chain limit orders on supported liquidity pools. Users can set a target price, and when the pool price reaches the specified price, the Hook automatically executes the order. This enables users to place limit orders directly on Uniswap v4. Arbitrum afterInitafterSwap 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 43d RobinhoodNativeFeeHookV1A single-pool ETH/token fee hook that charges a 20 bps platform fee plus configurable creator buy/sell fees on gross native trade value, collecting them via BeforeSwapDelta/AfterSwapDelta and distributing through an immutable fee vault. Supports an optional module for dynamic LP fee overrides. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 1 45d HookeFeeHookProtocol-fee hook for Hooke's hXMAX/USDG pool (LP fee 0, tick spacing 60). Charges a USDG-only protocol fee of 2%-4% per swap, set by the pool price's deviation from the on-chain HookeOracleRegistry price: widening swaps pay up to 4%, narrowing swaps pay 2%, and the higher of the pre- and post-swap rates applies. Fees go to the Hooke Treasury via BeforeSwapDelta (buys) and AfterSwapReturnsDelta (sells). Exact-input only; callers pass the exact fee rate as 32-byte hookData (Hooke SDK). Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 1 47d FoundationHookV1FoundationHookV1 is an immutable per-pool fee hook that binds token, quote asset, creator, and creator fee at deployment. It collects quote-currency fees on every swap via beforeSwapReturnsDelta/afterSwapReturnsDelta, splitting platform and creator shares through FoundationLedgerV1, with optional module callbacks dispatched before and after each swap. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 1 47d HyperTaxHookSingleton hook that collects a fixed per-pool tax (0–5%) on every swap. After each swap it takes its share of the unspecified output side: if ETH, sends it directly to the registered launcher address; if token, sells the tokens back into the same pool via a nested swap and forwards the ETH proceeds. Only the factory can register pools or initialize them; no owner or upgrade mechanism exists. Robinhood beforeInitafterSwapafterSwapDelta 1 48d V21HookLaunchpad hook for heks.fun that charges a hook-delta fee on the pair's numeraire asset: 80% at pool creation decaying linearly to 1% over the first 10 seconds (anti-snipe), with liquidity additions restricted to the protocol vault and principal withdrawal permanently blocked. V2.1 adds an optional NFT-holder window: during this window, buys require a Merkle proof in hookData; sells and all swaps after the window close work without hookData. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+5 1 51d EVPLUSAIImmutable dynamic-fee hook where a per-pool worker posts directional LP fee budgets (0.025%–0.9%, TTL 5 min, defaulting to 0.05% on expiry). beforeSwap overrides the LP fee with 90% of the posted budget; afterSwap collects a 10% platform fee as a return delta, minted as ERC-6909 claims to the hook and sweepable to a configured treasury. Robinhood beforeInitbeforeSwapafterSwapafterSwapDelta 1 52d NullTreasuryFeeHookCharges a fixed 0.50% hook fee on the unspecified side of every swap in a single native ETH/NULL pool, accumulating fees as ERC-6909 claims. Anyone can call claimFees to send accrued fees to an immutable treasury address. Pool creation is gated in beforeInitialize to a single hardcoded pool key. Robinhood beforeInitafterSwapafterSwapDelta 1 53d ZCHFSavingsRouterHookA ZCHF/svZCHF pool hook that provides protocol-owned JIT liquidity for each swap, maintains anchor liquidity centered at the savings vault's fair price, and blocks external liquidity additions. Price sync can be triggered permissionlessly if spot price drifts too far from the fair rate. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 1 55d 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 55d ZCHFSavingsRouterHookA zero-fee ZCHF/svZCHF pool hook that provides just-in-time liquidity for each swap from protocol-owned reserves, blocks all external liquidity providers, and reverts swaps when the spot price deviates from the savings vault's fair price beyond a configurable threshold. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 1 55d GlueHookA singleton Uniswap v4 hook that runs a permissionless per-pool buyback pot: after each swap, the pot uses donated secondary-token funds to buy the pool's main asset and deliver it to a configured recipient (default: burn). Also supports an optional auto-compounding LP fee program with configurable splits between compounding, pot refuel, burn, and a custom recipient. BSC beforeInitafterSwap 1 55d GlueHookA permissionless Uniswap v4 hook that runs a per-pool token buyback after every swap, spending pooled secondary funds to purchase a designated main token. Spend is sized by fee and liquidity depth, paced by a time-bucketed rate limit, and gated on a time-weighted reference tick. An optional auto-compounding LP program can split harvested fees into compound, burn (via Glue Protocol), and recipient delivery legs. Arbitrum beforeInitafterSwap 1 55d GlueHookPer-pool buyback hook that performs automated swaps to purchase the pool's main asset after every user swap, funded by a configurable buyback pot paced by a volume-weighted spend bucket with a 10-minute time-weighted reference tick. Supports an optional self-compounding LP program with configurable fee splits for autocompound, burn, pot refuel, and custom recipient. Unichain beforeInitafterSwap 1 55d GlueHookA general-purpose hook that maintains a per-pool buyback pot funded by swap fees. On every afterSwap, it auto-harvests fee splits, observes the current tick against a 10-minute time-weighted reference, and executes a nested buy of the pool's designated main asset from the secondary token. A spend bucket paced by fee accrual limits pump size per swap. Supports configurable LP programs with autocompound, burn, and fee-split options. Ethereum beforeInitafterSwap 1 56d PvpV4HookLaunch-window hook for a single PVP/USDG 1% pool. Before market open (pvp.marketOpen()), restricts PVP buys to the designated launch router and blocks non-locker liquidity additions; the locker's LP position is permanently locked. Uses transient storage (EIP-1153) to authorize PVP token transfers during router-initiated buys. After market open, beforeSwap is a no-op for all participants. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap 1 56d PerpFeeHookCollects a fixed 1.5% ETH-denominated fee on swaps in a single designated pool, minting fee claims to an external distributor contract. Records tick observations after each swap and pool initialization to maintain a 5-minute TWAP oracle via a 1024-entry ring buffer. Ethereum beforeInitbeforeSwapafterSwapswapDelta+1 1 56d BeaconProxy HookUpgradeable hook using the OpenZeppelin BeaconProxy pattern; all hook logic is delegated to an implementation contract controlled by the beacon owner. Hooks active: beforeInitialize, beforeAddLiquidity, beforeSwap, afterSwap — implementation source was unavailable so behavioral properties could not be verified from source. Robinhood beforeInitbeforeAddLiqbeforeSwapafterSwap 1 57d NexsetsHookETH fee hook for a token launch that cycles buy and sell taxes through a 1–5% repeating schedule. Applies a 60% anti-snipe tax during a 4-second post-launch window for non-whitelisted addresses, with an admin-controlled sell-only override (up to 60%). LP is permanently locked after the one-time seed. All fees route 100% to the protocol treasury. Robinhood beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+2 1 57d 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 57d GlueHookA Uniswap v4 hook that runs a buyback-and-burn mechanism on every swap in configured pools: after each swap, it spends secondary token donations to buy back the pool's designated main token and delivers it to a configured recipient (burn by default via address(0)). It also supports auto-compounding LP fee programs with configurable splits among compounding, buyback, burn, and direct delivery shares. Ethereum beforeInitafterSwap 1 57d GlueHookGlueHook implements an automated buy-back pump for Uniswap v4 pools. After each swap on a funded pool, it uses a secondary-token pot to purchase the designated main token and distributes the proceeds to configured recipients. It also auto-harvests LP program fees and optionally auto-compounds them into the hook-managed liquidity position. Arbitrum beforeInitafterSwap 1 57d GlueHookA Uniswap v4 hook for static-fee pools that implements a reference-tick-gated buyback pump and LP fee auto-harvesting with auto-compounding. After each swap, it harvests accrued LP fees, executes a nested pump swap to buy the configured main token using pot secondary tokens, and distributes all proceeds in a single batched send phase. Unichain beforeInitafterSwap 1 57d PaperHookA fee-collecting hook for a single ETH/token pool that levies a time-decaying swap duty — opening at a configured rate (e.g. 5%) and decaying smoothly to a resting rate (e.g. 1%) over a fixed window from the first swap — routing collected ETH directly to an immutable Pyx address via poolManager.take(), and emitting a daily record to a Foil contract after every swap. Ethereum beforeInitbeforeSwapafterSwapswapDelta+1 1 57d flETHHooksA constant-sum 1:1 custom-curve hook for ETH/flETH pools. In beforeSwap, it takes the full input from the PoolManager, wraps or unwraps ETH via the flETH contract, and settles the output back — bypassing concentrated liquidity entirely. Direct liquidity addition is blocked; only zero-fee ETH/flETH pools are permitted. Arbitrum beforeInitbeforeAddLiqbeforeSwapswapDelta 1 58d EulerSwapCustom curve AMM hook (EulerSwap v2) for Uniswap v4 that fully handles swaps in beforeSwap using BeforeSwapDelta, routing input tokens into and output tokens out of Euler lending vaults. Supports exact-input and exact-output swaps with an optional expiration deadline; blocks v3-style CLAMM liquidity additions and donations. Ethereum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 58d EulerSwapCustom-curve AMM hook backed by Euler lending vaults. In beforeSwap, it computes quotes via a configurable bonding curve, deposits input tokens into and withdraws output tokens from Euler vaults directly, and returns a BeforeSwapDelta to take over the swap entirely. Supports optional time-based pool expiration. Ethereum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 58d EulerSwapA Uniswap v4 hook implementing a custom AMM curve backed by Euler Finance lending vaults. Replaces standard concentrated liquidity by routing token swaps through Euler supply/borrow vaults, handling deposits, withdrawals, protocol fees, and curve invariant verification entirely within beforeSwap via a BeforeSwapDelta return. Ethereum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 58d ErcStockHookA Uniswap v4 hook for ETH/ERC20 pools that applies a 3% buy fee and a dynamic sell tax (5–95% based on time since last sell and trade size), routing collected fees to a vault for periodic token buybacks and burns triggered by the founder. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 1 58d TenorHookA Uniswap v4 hook for an ETH/TENOR pool that skims a time-decaying ETH fee on every swap (opening rate decaying to a resting rate after a fixed window from the first swap), routing proceeds directly to a Register contract that funds permissionless buyback-and-burn of the TENOR token. Ethereum beforeInitbeforeSwapafterSwapswapDelta+1 1 58d ApeLaunchHookLaunchpad hook that gates pool initialization to pre-registered pools and restricts liquidity additions via transient-storage authorization. Only the launchpad or locker contract can authorize liquidity adds; all swaps execute as standard Uniswap v4 with no hook intervention. Robinhood beforeInitbeforeAddLiq 1 58d 3XHookA Uniswap v4 hook for signed 3x long positions, treasury-backed settlement, fee distribution, and liquidation. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 1 59d GoldLaunchHookShared fee hook for gold.fun token launch pools that charges a fixed 1% platform fee plus a configurable per-pool creator fee on every swap, denominated in the pair asset (stock/ETH). Fees are held as claimable balances on the hook; only factory-registered pools can be initialized or swapped through this hook. Ethereum beforeInitbeforeSwapafterSwapswapDelta+1 1 59d DynamicFeePrincipalProtectionHookA dynamic-fee hook for a single native-BNB/BTCB pool that adjusts LP fees across three tiers based on the observed tick range within 15-minute windows. Liquidity additions and removals are restricted to an immutable principal owner and a designated compounder contract. BSC beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 1 59d RhythmHookA single-market hook for native ETH/token pools that enforces sell-side swap restrictions via configurable modes: cyclic time windows or price-oracle-triggered lockouts measured by a 5-bucket TWAP ring-buffer oracle. Liquidity is permanently locked after market launch; only the canonical market contract may initiate swaps. Robinhood beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+2 1 2mo KnotV4HookUniswap v4 hook for launch token markets that applies configurable per-token buy/sell taxes via hook deltas in beforeSwap/afterSwap, and collects a 1% protocol fee on swaps routed to a FeeVault. Pool initialization and liquidity operations are restricted to an authorized adapter; trading is permissionless but taxes and fees are deducted atomically through the hook delta mechanism. BSC beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 1 2mo PrincipalProtectionHookRestricts liquidity additions to the fixed `principalOwner` or `compounder`, and liquidity removals to `principalOwner` (or `compounder` for fee collection only), on a native-BNB/BTCB pool. The hook admin can rotate the `owner` and `collector` addresses. Swaps are permissionless. BSC beforeAddLiqbeforeRemoveLiq 1 2mo BlacklistHookA Uniswap v4 hook that blocks token sells by default; wallets self-unlock by sending any ETH amount to the hook (immediately refunded). Applies a 3% ETH buy tax and a volume-tiered sell tax (3–10% over a 2-hour window) to an authorized ETH/token pool, with an on-chain lottery for buys ≥ 0.05 ETH. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 1 2mo StockPoolHookCharges a fixed fee on the stock leg of coin/stock pool swaps, minting ERC-6909 claims to a per-stock dividend vault. Pool creation is gated to a registrar; the fee rate (capped at 10%) is frozen per pool at initialization. Exact-stock-amount swaps revert on partial fill to prevent overcharging. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 1 2mo StonksHookA launchpad pool hook that restricts pool creation and liquidity additions to the launchpad contract, permanently locks LP positions, and collects time-varying swap fees on the quote currency (currency0) split between platform, creator, and holders, credited via ERC-6909 claims on the PoolManager. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 1