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 launchpad hook implementing a bonding curve for newly deployed ERC-20 tokens. Blocks external pool initialization and liquidity addition, collects a fixed 1% swap fee split 50/50 between creator and platform via afterSwapReturnsDelta, and automatically migrates liquidity to a full-range AMM pool once the bonding curve supply is exhausted. Base beforeInitbeforeAddLiqafterSwapafterSwapDelta 2 18mo TokenFabA bonding curve token launch hook that creates new ERC-20 tokens with graduated liquidity positions. Once the bonding curve supply threshold is reached, it automatically removes the bonding curve liquidity and migrates to a new standard AMM pool, taking a fixed 1% fee on each swap split 50/50 between the token creator and the platform. Base beforeInitbeforeAddLiqafterSwapafterSwapDelta 2 18mo TokenFabToken launchpad hook implementing a bonding curve for newly launched ERC-20 tokens. Locks liquidity in chunked tick ranges during the curve phase, collects a 1% fee in the base currency on each swap split between creator and platform, and automatically migrates all liquidity to a full-range AMM pool once the bonding curve supply threshold is reached. Base beforeInitbeforeAddLiqafterSwapafterSwapDelta 2 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 19mo BlackListHookA Uniswap v4 hook that restricts swaps to a single trusted router and blocks blacklisted addresses from swapping in specified pools. The pool owner can add or remove addresses from the per-pool blacklist; any swap attempted through a router other than the trusted router is rejected. Arbitrum beforeSwap 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 20mo FedzHookA Uniswap v4 hook for a stablecoin pool that restricts swaps and liquidity operations to the current active player in an external time-slot system (checked via tx.origin), and reverts any swap whose post-execution price falls below a configurable depeg threshold. Arbitrum beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap 2 20mo PredicateHookGates swaps via the Predicate attestation network: callers must supply a signed PredicateMessage in hookData, validated against a configurable policy and a quorum of EigenLayer operators before the swap is permitted. Requires hookData on every swap. Ethereum 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 6d OFinHookFee and curve hook for OFin token launches. Each launch's bonding curve is a V4 position in its pool, and only the OFin factory adds liquidity. It takes fees in the quote asset and graduates the pool into locked full-range liquidity when the curve sells out. No hookData, no owner, immutable. Robinhood beforeInitbeforeAddLiqafterAddLiqbeforeRemoveLiq+6 1 7d RyftPoolHookCharges a configurable ETH fee (0–500 bps, owner-settable) on swaps in the native ETH pool, gating pool initialization to a designated locker address. For exact-ETH input swaps, fee sizing uses an internal revert-based quote; fees are minted as claims and can be paid out later by anyone calling `claim()`. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 1 9d AccumulationHookDirectional LP fee for the USDC/STRK pool on Ethereum: 3% when a swap buys STRK with USDC, 1% when it sells STRK for USDC. The fee goes to the pool's LPs through v4's standard dynamic fee override. The hook is unaudited. Ethereum afterInitbeforeSwap 1 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 12d VolatilePairHookVolatilePair is a Uniswap v4 dynamic-fee hook built for assets without a fixed reference price. Instead of charging a flat fee on every swap, it uses recent price moves to set fees by trade direction, capturing more value for LPs while keeping the quoted spread competitive. Robinhood beforeInitafterInitbeforeAddLiqafterAddLiq+2 1 13d DNAHook (Stockmon DNA)A single-pool hook for the canonical ETH/DNA Uniswap v4 pool that charges a 3%/3% buy/sell tax in native ETH via beforeSwap/afterSwap return deltas, with a decaying buy-tax curve during a launch window when only allowlisted routers and protocol accounts may swap. Also settles the DNA leg of all liquidity changes via return deltas and maintains a truncated TWAP oracle. Robinhood beforeInitafterInitafterAddLiqafterRemoveLiq+7 1 14d DynamicFeeUniswap v4 hook that allows an off-chain keeper to push LP fees within configurable min/max bounds for dynamic-fee pools, falling back to a default fee when the pushed fee expires. Also charges a per-swap hook fee that is minted as ERC-6909 claims to a treasury address. Robinhood beforeSwapafterSwapafterSwapDelta 1 18d LanternHookSingle-pool launch hook that restricts initialization to one designated address and a fixed start price, allows only one liquidity add (the launch position via transient storage), and enforces a 3% per-transaction buy cap during the first 2 minutes after launch. After the launch window, afterSwap is a no-op. Robinhood beforeInitbeforeAddLiqafterSwap 1 20d LBPStrategyA Uniswap v4 hook implementing a Liquidity Bootstrapping Pool (LBP) strategy. It coordinates token distributions: deploying initializer contracts that run a token auction, then migrating raised funds and reserved token amounts into v4 liquidity positions at a price derived from the auction's final price. The `beforeInitialize` permission is used to gate pool creation to the strategy itself only. Ethereum beforeInit 1 21d InkHookManages the INK/IMD Uniswap v4 pool with a governance gate that blocks all swaps until an external vault contract signals `released()`, then levies a configurable fee (`feeBps` bps) on every swap via afterSwapReturnsDelta, waived for holders of an agent portrait NFT. Collected fees are distributed to a treasury (IMD) and a liquidity contract (INK). Ownerless and immutable. Ethereum beforeInitbeforeSwapafterSwapafterSwapDelta 1 21d PonsV2MemeHookSingleton Uniswap v4 hook for graduated Pons V2 meme pools. In afterSwap, takes a hookFeeBps plus per-pool creatorTaxBps from the swap's unspecified currency via delta return, accumulates them in pending buckets per pool, and distributes via batched sweepPoolFees calls that optionally convert memecoin fees to the quote currency and run a buyback-and-lock split. Pool initialization is restricted to a trusted factory. Robinhood beforeInitafterSwapafterSwapDelta 1 22d CurbHookA circuit breaker hook that gates swaps on a single Uniswap v4 pool to a configurable tick band around a rolling time-weighted reference price. Swaps moving outside the band are reverted; prices held at the band edge for a set duration trigger a timed halt that auto-expires, with optional owner resolution via an organic or concentrated verdict. Robinhood beforeInitbeforeSwapafterSwap 1 22d DeviationFeeHookDynamic LP fee for a native ETH/wstETH pool, driven by the deviation between the pool price and the Chainlink wstETH/stETH rate. Base fee 0.01% inside a 35 bps deadband; swaps that correct the deviation pay base + 50% of the excess, capped at 0.5%; from 100 bps both directions pay. Falls back to the base fee if the feed is stale or fails. afterInitialize + beforeSwap only; no deltas, hookData, storage, admin or upgradeability. Unichain afterInitbeforeSwap 1 23d LaunchHookToken launch hook implementing a bonding curve as a Uniswap v4 position. Takes trading fees (1% base + optional creator tax up to 10%) as return deltas in the quote asset; applies a 99% snipe tax in the first 3 seconds post-launch unless the signer is exempt. The factory exclusively manages liquidity; when the curve sells out, the pool graduates to locked full-range liquidity in the same swap. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+4 1 27d 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 27d Pangea Fee HookCharges a fixed fee (0.3%–5%, set once per pool at registration) in the pool's designated quote currency on buys and sells via BeforeSwapDelta and AfterSwapDelta. Exempts a designated dev buyer address from fees on the first buy. Restricts liquidity provision to a single locker address, and reverts swaps that would move the pool price beyond the registered launch range. BSC beforeInitbeforeAddLiqbeforeSwapafterSwap+2 1 27d Pangea Fee HookPangeaFeeHook charges a fixed swap fee (0.3%–5%, set at pool registration and immutable thereafter) in the quote asset via beforeSwap/afterSwap return deltas. Fees accumulate as ERC-6909 claims redeemable to a per-pool fee splitter. A designated devBuyer address pays no fee on the first swap. Only the LiquidityLocker may add liquidity; swaps that move the price past the launch range edge are reverted. Robinhood beforeInitbeforeAddLiqbeforeSwapafterSwap+2 1 27d Pangea Fee HookTakes a fixed fee (0.3–5%, set once at registration) in the quote currency on every swap via beforeSwap/afterSwap return deltas, accruing ERC-6909 claims redeemable to a per-pool splitter address. Restricts liquidity additions to a designated locker, exempts a designated dev buyer from fees, and reverts swaps that would move the price beyond the pool's registered launch range. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 1 29d BandHookOracle-guarded band market-maker for Uniswap v4 that manages three hook-owned liquidity positions (core, backstop, limit) per pool, centered on a configurable price oracle. `beforeSwap` sets a dynamic LP fee that rises linearly with pool-vs-oracle divergence; `afterSwap` optionally recenters the band. Robinhood afterInitbeforeSwapafterSwap 1 29d Ring FewV2 Shell HookUniswap v4 hook that executes each swap on the canonical Ring Swap v2 (FewV2) FewToken pair: it wraps the input 1:1 into its FewToken, swaps on the pair at live reserves, unwraps the output and settles through PoolManager. It needs no hookData and adds no hook fee. A two-step owner manages a time-locked token allowlist, and a guardian or the owner can pause swaps without blocking liquidity withdrawal. Ethereum beforeInitbeforeSwapswapDelta 1 29d ProofLaunchHookLaunch hook for token launches with phase-gated trading (Execution phase is vault-only, Public phase is open), ETH-denominated buy/sell taxes that decay linearly from configurable start rates (capped at 10% buy / 15% sell) to resting rates (capped at 2.5%/2.5%), a cumulative max-wallet buy cap that ramps up during early public trading, and liquidity gating that blocks all third-party LP operations. Robinhood beforeAddLiqbeforeSwapafterSwapswapDelta+1 1 32d StockHookFixed-fee hook for a single STONKCOIN/NVDA pool. Charges immutable BUY_FEE_BPS on buys and SELL_FEE_BPS on sells (always in NVDA), collected via beforeSwap/afterSwap return deltas and minted as ERC-6909 claims to a FeeRouter. Maintains a TWAP oracle and restricts pool initialization to a Genesis contract; early liquidity additions are limited to an LP vault until genesis closes. Robinhood beforeInitbeforeAddLiqbeforeSwapafterSwap+2 1 32d JackprintA single-position lottery hook for an ETH/token pool. Buys record lottery tickets proportional to USD value via a Chainlink ETH/USD price feed; sells cancel tickets. LP fees are split 75% to a prize drawer and 25% to a creator address via an external Tickets contract. Enforces a single locked liquidity position and a launch-window per-block buy cap. Robinhood beforeInitbeforeAddLiqafterSwap 1 33d WorkLaunchHook3Anti-snipe fee hook for a single IMD-paired Uniswap v4 pool. Charges a swap fee starting at 50% and sliding linearly to the standing fee (default 2%, configurable up to 10%) over 900 seconds from pool open. Fees are minted as ERC-6909 claims and swept to a treasury address via a permissionless sweep() function. Robinhood beforeInitafterSwapafterSwapDelta 1 34d OHMVAULT VaultHookCharges a time-decaying fee (80% at launch, decaying to 5% over 60 seconds) on both swap directions via beforeSwapReturnsDelta, skimming tokens directly from the pool. Harvested fees are split 40% into a hook-owned locked full-range LP position and 60% to treasury. Records a running minimum OHM reserve and a 10-minute TWAP for use by external bond and emission contracts. Ethereum beforeInitafterInitbeforeSwapafterSwap+1 1 35d HookeFeeHookA protocol-fee hook for a single hXMAX/USDG pool that charges a 2%–4% USDG-only fee per swap based on the pool price's deviation from an oracle price. Fees on the specified stablecoin leg are pre-taken in beforeSwap via BeforeSwapDelta; fees on the unspecified leg are taken in afterSwap via AfterSwapReturnsDelta. Also records tick-cumulative observations to serve a TWAP via consultMeanTick. Robinhood afterInitbeforeSwapafterSwapswapDelta+1 1