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
18mo TokenFabToken factory hook implementing a bonding curve for newly launched ERC20 tokens. Blocks external pool initialization and liquidity addition; collects a 1% fee on each swap (split equally between creator and platform fee receivers); automatically removes bonding curve liquidity and migrates to a full-range AMM pool when the bonding curve supply threshold is reached. Base beforeInitbeforeAddLiqafterSwapafterSwapDelta 2 18mo TokenFabBonding-curve token launch hook that deploys new ERC-20 tokens into concentrated multi-chunk liquidity ranges, collects a 1% swap fee (split 50/50 between creator and platform fee receivers via afterSwapReturnsDelta), and automatically removes bonding-curve liquidity and migrates it to a full-range AMM pool once the bonding curve supply threshold is reached. Base beforeInitbeforeAddLiqafterSwapafterSwapDelta 2 18mo LimitOrderHookA Uniswap v4 hook that captures the current tick before each swap via transient storage, then executes limit orders in afterSwap when the tick crosses order boundaries. Supports role-based dynamic LP fee management via poolManager.updateDynamicLPFee(). Base beforeSwapafterSwap 2 18mo MMMarket maker hook that rebalances concentrated liquidity to an oracle-quoted price before each swap (removing liquidity, executing an internal rebalancing swap, and re-adding liquidity at a new tick range), then adjusts an external hedge pool position after each swap based on the non-quote token balance change. Base beforeInitbeforeSwapafterSwap 2 18mo TokenFabA token launchpad hook that manages bonding curve liquidity for newly deployed ERC20 tokens. Blocks external pool initialization and liquidity additions, charges a 1% swap fee split between creator and platform, and automatically graduates tokens to a standard full-range AMM pool when the bonding curve supply threshold is reached. Base beforeInitbeforeAddLiqafterSwapafterSwapDelta 2 18mo LimitOrderHookRecords the pool tick before each swap in transient storage, then triggers limit order execution via an external ILimitOrderManager based on the tick range crossed. Supports role-controlled dynamic LP fee updates via poolManager.updateDynamicLPFee(). Base beforeSwapafterSwap 2 18mo TokenFabA bonding-curve token launchpad hook that deploys ERC-20 tokens with configurable liquidity ranges, blocks external pool initialization and liquidity additions, and collects a 1% swap fee split between creator and platform. When the bonding curve supply threshold is reached, it removes bonding-curve liquidity and migrates to a full-range AMM pool. Base beforeInitbeforeAddLiqafterSwapafterSwapDelta 2 18mo TokenFabA bonding curve hook for token launches that blocks external pool initialization and liquidity additions. It collects a 1% swap fee split between creator and platform fee receivers, tracks token supply sold through swaps, and automatically migrates liquidity to a full-range AMM pool once the bonding curve supply threshold is reached. Base beforeInitbeforeAddLiqafterSwapafterSwapDelta 2 18mo TokenFabBonding curve hook for launching ERC-20 tokens with chunked liquidity. Blocks external pool initialization and liquidity addition; collects a 1% swap fee split between creator and platform fee receivers. When the bonding curve supply threshold is reached, removes bonding curve liquidity and migrates to a standard full-range AMM pool. Base beforeInitbeforeAddLiqafterSwapafterSwapDelta 2 18mo TokenFabA bonding-curve token launchpad hook that deploys new ERC-20 tokens into Uniswap v4 pools with a structured liquidity curve. Blocks external pool initialization and liquidity additions. Charges a 1% swap fee split equally between the token creator and the platform. When a token's bonding curve supply is exhausted, automatically removes liquidity and migrates the token to a standard full-range AMM pool. Base beforeInitbeforeAddLiqafterSwapafterSwapDelta 2 18mo MMAn oracle-driven market maker hook that, on every swap, removes all existing liquidity, executes an internal pool swap to align the price with an external oracle, and re-adds liquidity around the new oracle price using asset-ratio-weighted tick bounds. Base beforeInitbeforeSwap 2 18mo LimitOrderHookCaptures the pre-swap tick in transient storage during beforeSwap, then executes limit orders via an external ILimitOrderManager in afterSwap using the tick range crossed. Supports dynamic LP fee updates restricted to accounts with FEE_MANAGER_ROLE. Base beforeSwapafterSwap 2 18mo PackERC20FactoryA factory hook that creates pack-based ERC20 tokens backed by Chainlink VRF randomness. The beforeInitialize blocks direct pool creation; pools are initialized internally by the factory via enablePackOpening(). After each swap, a 1% fee is taken from the base token as an afterSwapReturnsDelta, and swaps are rejected if the base token is the specified side of the swap. Base beforeInitafterSwapafterSwapDelta 2 19mo MMA full-range liquidity market maker hook that rebalances the pool on every swap: removes all current liquidity, executes an internal swap to shift the pool price toward a configurable target price multiplier, re-adds liquidity at the new price, and donates remaining token balances back to the pool. Base beforeInitbeforeSwap 2 20mo ExponentialLiquidityHookDeploys new ERC20 token pools paired against a configured base token with one-sided concentrated liquidity, positioning all liquidity either above or below the initial price. External pool initialization is blocked via `beforeInitialize` (always reverts), and liquidity withdrawal is disabled. Base beforeInit 2 20mo DefaultHookA Uniswap v4 beforeSwap hook that overrides the LP fee on every swap by reading a configurable fee from an external DefaultSettings contract. The fee (default 0.3%) can be updated at any time by the DefaultSettings owner via setDefaultFee(). Base beforeSwap 2 21mo SwapHookA minimal counter hook that increments per-pool counters on each beforeSwap and afterSwap call. It does not modify swap behavior, fees, or token flows — purely observational. Base beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap 2 21mo HookFeeCharges a fixed 3% fee on the unspecified token of every swap by using afterSwapReturnsDelta to take tokens from the pool manager and retain them in the hook contract, increasing the effective cost for swappers. Base afterSwapafterSwapDelta 2 10d ReservHookA single ETH/RSRV pool hook that charges a 1% fee on each swap's unspecified side. RSRV fees are accumulated and sold back to ETH buyers at the pool price within 10 ticks of the block's opening tick; ETH fees are split 20% to a business share, 16% to a Chainlink VRF-based prize pot, and 64% donated to in-range liquidity providers. Base beforeInitafterAddLiqafterRemoveLiqbeforeSwap+3 1 26d Pangea Fee HookTakes a fixed trading fee (0.3%–5%, set once per pool at registration) in the quote asset on every swap via return deltas in both beforeSwap and afterSwap, exempting a designated dev buyer address. Restricts liquidity additions to a designated locker and enforces that the pool price never exits the launch's single-sided range. Base beforeInitbeforeAddLiqbeforeSwapafterSwap+2 1 40d 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 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 54d 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 56d 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 2mo Volatility Adaptive USDCWETH Hook V8A single WETH/USDC pool hook on Base that dynamically adjusts LP fees (0.01%–99.99%) using signed off-chain multi-venue market reports cross-checked against Chainlink and Pyth price anchors. Fees fall back to 3% when market data is stale. Strategy fees are split 90% to LPs and 10% to an immutable Safe address, with an owner-controlled emergency pause mechanism. Base beforeInitafterInitbeforeSwapafterSwap+1 1 2mo VolatilityAdaptiveUsdcWethHookV6Dynamic-fee hook for the WETH/USDC pool on Base that computes LP fees and a hook fee per swap using signed off-chain market price reports anchored to Pyth, falls back to a higher static fee when market data is stale, and supports a Safe-controlled emergency pause with a 24-hour delayed unpause. Base beforeInitafterInitbeforeSwapafterSwap+1 1 2mo StashHookA Uniswap v4 hook that charges a flat 3% (300 bps) toll on the ETH leg of all four swap forms (exact-input and exact-output in both directions) in a single deployer-pinned pool, accumulating fees as ERC-6909 claims in the PoolManager. Anyone can call collect() to transfer the accumulated ETH fees to a fixed, immutable vault address set by the deployer. Base beforeSwapafterSwapswapDeltaafterSwapDelta 1 2mo QueryMeterMeters a single designated QUERY/METAc pool per daily epoch, recording swap count, unique wallets, volume, and LP moves on-chain. Levies a 1% toll on the METAc leg of each swap, distributing 60% back to traders as rebates proportional to their epoch volume and routing the remainder to an owner-controlled treasury. Base afterAddLiqafterRemoveLiqbeforeSwapafterSwap+2 1 2mo RarityHookA hook for Yunipals rarity pools that enforces two invariants: only the core contract may initialize pools or add liquidity (external LPs are blocked via beforeInitialize/beforeAddLiquidity), and 1% of the output side of every external exact-input swap is burned via afterSwap return delta. Includes a permissionless TWAP oracle updated on every swap. Base beforeInitbeforeAddLiqafterSwapafterSwapDelta 1 2mo JITRangeHookA sole-operator JIT liquidity hook that prices each swap via an internal quote engine, then injects a single-sided one-tick liquidity range at a computed effective price tick in beforeSwap and removes it in afterSwap, enforcing full fill and window-based notional caps. Blocks third-party LPs via beforeAddLiquidity revert; requires operator to push prices off-chain and fund inventory as ERC-6909 claims. Base beforeAddLiqbeforeSwapafterSwap 1 2mo V4rcade Fee HookFee hook for the V4rcade platform. Charges an LP fee on swaps that can only be lowered (FeeCanOnlyGoDown), supports signer-authorized fee vouchers redeemed during beforeSwap, and blocks external liquidity provision. Owner-controlled via Ownable2Step with a settable signer and trusted forwarder. Base beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 1 2mo BaldpadRebaseHookA Baldpad-ecosystem launch hook that charges WETH-denominated swap fees with a platform/creator split and a decaying opening-fee schedule. After each rebase interval, it contracts an elastic-supply token's total supply based on the pool price's deviation below a rising target tick, with an optional permissionless buyback mechanism that burns tokens using accrued opening fees. Base beforeInitafterInitbeforeSwapafterSwap+2 1 2mo PVTWethTaxHookImposes a hardcoded 3% WETH tax on all exact-input swaps in a single canonical PVT/WETH pool, diverting the tax to an immutable fee recipient via beforeSwapReturnsDelta (buys) and afterSwapReturnsDelta (sells). Exact-output swaps are permanently disabled. Base beforeSwapafterSwapswapDeltaafterSwapDelta 1 2mo SquishHookAn afterSwap hook that sweeps a tick-triggered intent queue (SquishBook) at the end of every swap. When a swap moves the price past a registered tick threshold, the hook executes standing instructions (arbitrary external calls with escrowed bounties) and credits the bounties to the swapper; a try/catch ensures a failing intent never reverts the triggering swap. Base afterSwap 1 2mo MultiPoolsHookFee-routing hook that extracts configurable swap fees (30–500 bps) from ETH-paired pools, with a 3000 bps anti-sniper fee during the first 60 seconds post-launch. Fees are split among creator, buyback/burn, rewards distributor, and platform wallets. LP additions are locked to the initial auto-seeder after first seed; LP removals always revert. Base beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+2 1 3mo MultiPoolsHookCollects configurable ETH swap fees on factory-registered pools, distributing them across creator, buyback/burn, rewards, auto-LP, and platform shares. Applies a 30% antisniper fee during a 60-second post-launch window and permanently locks LP removal. Base beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+2 1 3mo PokeHookPokeworld's swap hook that collects LP fees and dynamic sell-side charges (including rolling sell tax and price-impact fees) via BeforeSwapDelta, matches buy orders against an internal OTC token inventory, and delegates additional Aerodrome liquidity logic to an immutable hybrid module via delegatecall. Base beforeInitbeforeSwapafterSwapswapDelta+1 1 3mo OmniPriceHookPrices swaps against a threshold-signed global price using JIT one-tick liquidity bands; maintains a visible straddle book position between swaps. Applies a dynamic fee (widened when the signed price is stale or intra-version drift is high), blocks external liquidity, and distributes fees across four configured recipients. Base beforeAddLiqbeforeSwapafterSwap 1 3mo BotcoinWethFeeHookA single-pool BOTCOIN/WETH hook that charges configurable input fees on every swap, routing fee revenue to a protocol vault for rewards, burns, and subsidies. NFT holders receive a discount, and a TWAP-gated botcoin conversion buffer fills buy-side swaps via beforeSwapReturnsDelta. Also lazily executes subsidy conversions and bonus campaigns during swap callbacks. Base beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 1 3mo NARA Liquidity Growth HookA Uniswap v4 hook for a single registered token/base pool that applies a configurable, block-level pressure-based fee to exact-input swaps only. Fee rates scale through tiered thresholds relative to a protocol-configured depth parameter; collected fees are taken from the swap input via poolManager.take() and forwarded to an external vault. Base beforeInitbeforeSwapswapDelta 1 3mo StableSwapHooksA Uniswap v4 hook implementing a Curve-style StableSwap AMM with full custom accounting. Supports 2–4 currencies with optional rate oracles and dynamic amplification coefficient (ramp). Executes swaps entirely in beforeSwap via BeforeSwapDelta, collecting LP, hook, and protocol fees. Issues its own ERC20 LP token (SSLP). Base beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2 1 3mo LexifiHookCompliance-gating hook that enforces per-pool eligibility rules for swaps and liquidity additions. Each pool can be assigned a configurable policy contract that determines user access levels; non-compliant users are denied via revert. Resolves user identity through trusted routers' msgSender(), falling back to the caller address. Base beforeInitbeforeAddLiqbeforeSwap 1 3mo SaturnOmnichainV4HookMinimal hook for the Saturn Omnichain project; the afterInitialize callback itself is a no-op. A separate initializePool() function on the contract records the initial pool tick and sets a poolInitialized flag. Has no effect on swaps, liquidity operations, or fees. Base afterInit 1 4mo UruLaunchHookUniswap V4 hook for the URU token launch that collects a time-decaying sniper tax (up to 99% at launch, decaying to 1% over a configured duration) on each swap via afterSwapReturnsDelta, sending proceeds to a vault. Also tracks per-epoch URU/WETH volume to compute and emit an emission rate signal for external consumers. Base afterSwapafterSwapDelta 1 4mo ZoraV4CoinHookZora Coins V4 hook that collects LP fees on every swap, converts them to a backing currency via multi-hop paths, and distributes rewards. Applies dynamic swap fees computed by an external FeeManager and supports pool migration to newer hook versions via a permissioned upgrade gate. Base afterInitbeforeSwapafterSwap 1 4mo Bonker Static Fee Hook (Base)A Uniswap v4 hook for token launches that stores direction-specific LP fees (bonker-side and paired-side) set at initialization, and collects a 20% protocol fee on each swap via beforeSwap and afterSwap delta returns. Includes an optional time-limited MEV-protection module that can temporarily raise fees, and supports configurable pool extensions. Base beforeInitbeforeAddLiqbeforeSwapafterSwap+2 1 4mo OwnerManagedRangeHookOwner-managed concentrated liquidity hook for a single SLEUTH/USDC pool on Base. Maintains two hook-owned positions (a main concentrated range and a single-sided USDC bid), with owner-controlled seeding, reanchoring, and optional auto-compounding of accrued fees triggered on each swap. Base beforeInitbeforeAddLiqbeforeRemoveLiqafterSwap 1