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
2mo HOODDOGFeeHookA volatility-based fee hook that charges ETH fees (1–5%) on swaps, scaling the fee by the previous swap's tick movement. Fees are collected via delta returns in beforeSwap (buys, zeroForOne exact-input) and afterSwap (sells), then forwarded directly to a per-pool fee recipient via poolManager.take(). Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 11 3mo BuybackBurnHookV1Charges fixed directional buy and sell fees in beforeSwap or afterSwap depending on trade shape, collecting a protocol fee, and spends the remainder buying the pool's own token back on sells and burning it. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 11 3mo PrinterHookSingleton Uniswap v4 hook for token launches that extracts a 1% protocol fee and a configurable creator fee (up to 5%) in ETH on every swap, distributing proceeds to a treasury, token creator, holder reward pool, and optional swap referrer. Only the registered factory can create pools, and all liquidity is permanently locked at launch. Robinhood beforeInitbeforeAddLiqbeforeSwapafterSwap+2 11 3mo FeeHookLevies a flat 1% protocol fee in native ETH on every swap of a native-ETH/token pool, using BeforeSwapDelta and afterSwapReturnsDelta to take the fee via PoolManager custom accounting. Fees are split between a treasury (10% default, up to 40% max) and a per-pool creator address (minimum 60%), accrued in-contract and withdrawn on demand. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 11 3mo SentryWethFeeHookUniswap v4 launch hook that forces the pool's LP fee to zero and instead skims fees in WETH on every swap, splitting proceeds between a creator fee recipient and treasury. Uses a time-decaying fee schedule (flat start rate, then exponential half-life decay to a floor) with a launch whitelist for discounted buys. Robinhood beforeInitafterInitbeforeSwapafterSwap+2 11 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that uses only the afterInitialize permission. It tracks pool initialization state and delegates initial liquidity setup to an external ISaturnOmnichainLiquidityBootstrapper contract. It does not modify swap behavior in any way. BSC afterInit 11 3mo SaturnOmnichainV4HookSaturn Omnichain V4 hook that sets the afterInitialize flag but performs no logic in that callback. Provides an initializePools() function (callable by anyone) that invokes an external liquidity bootstrapper and records the initial tick and poolInitialized state. No swap logic is implemented. BSC afterInit 11 3mo DegenHoodV4HookV2Fee-collecting hook for WETH-paired token launch pools that deducts time-varying hook fees on WETH-denominated swaps, splitting proceeds between a per-pool beneficiary (deposited into a FeeLocker) and a protocol operating treasury. Pool initialization and registration are gated to a factory. Robinhood beforeInitafterInitbeforeSwapafterSwap+2 11 3mo LaunchHookA 1% fee hook for token launches that intercepts ETH→token buys (in beforeSwap) and token→ETH sells (in afterSwap) to collect fees from the ETH side via return deltas, forwarding proceeds to a factory contract that splits revenue between the token creator and platform. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 11 3mo RiversLaunchHookA singleton Uniswap v4 hook for the Rivers protocol that manages phased token launches. Restricts swaps to the controller before fee activation, dynamically overrides LP fees based on pool phase (pre/post-graduation), and collects protocol trade fees from public swaps via beforeSwap/afterSwap deltas. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 11 4mo IndexFeeHookCharges a fixed 3% fee on all swaps in native ETH/token pools, taken in ETH and sent to an immutable treasury address. Uses return deltas split across beforeSwap (when ETH is the specified currency) and afterSwap (when ETH is the unspecified currency); pools where currency0 is not native ETH pass through untaxed. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 11 5mo IconCurveHookA bonding-curve AMM hook for player ("icon") tokens paired with country tokens. It intercepts every swap to price buys/sells using a virtual-reserves formula, mints/burns PlayerToken on demand, and burns a 5% fee on each trade. Trading is gated behind a phase2Active governance flag set by the owner or pack-opener. Base beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2 11 6mo OneTimeLaunchHookTemplateA launch hook that restricts pool initialization and liquidity addition to a single occurrence per token. In afterSwap, when enabled via the permissionless zero() function, reverts non-zeroForOne (buy) swaps if tx.origin is not in a deployer-managed allowlist, creating asymmetric swap access control. Ethereum beforeInitbeforeAddLiqafterSwap 11 6mo Unipump Fee HookSingleton Uniswap v4 hook that collects a configurable fee (50–1000 bps) from the unspecified token of each swap in Unipump pools. Splits fees 60% to the pool creator and 40% to a fixed platform wallet; only factory-registered pools may use this hook. Ethereum beforeInitafterSwapafterSwapDelta 11 8mo BlockAddLiquidityHookRecords the EOA that initialized each pool (via tx.origin) and blocks all subsequent liquidity additions from any other origin address, making each pool effectively single-provider. Arbitrum afterInitbeforeAddLiq 11 11mo HaberdasheryHookA fee-taking hook that charges a 1% fee on each swap via beforeSwapReturnsDelta, capturing the input-side token as protocol revenue retained by the contract. The owner can withdraw accumulated fees, with non-Habs tokens automatically swapped to a designated Habs token through an internal pool swap. Base beforeSwapswapDelta 11 21mo Cork AMM (Ethereum)Cork AMM is a custom Uniswap v4 hook for the Cork Protocol that implements a specialized AMM for depeg-swap token pairs (RA and CT). It replaces the standard Uniswap price curve with its own pricing logic, gates all native liquidity modifications through the hook's own interface, and supports optional flash swaps via a CorkSwapCallback pattern. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 11 48d 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. Robinhood afterInitafterSwap 10 56d RareFeeHookA volatility-based fee hook for RareLaunch pools that charges a configurable fee (0–6%) in the pool's quote currency on buys (beforeSwap) and sells (afterSwap), splitting fees 75/25 between the pool creator and platform operator. Only the bound launcher factory can initialize pools, and fees can only be lowered (never raised) by the creator after launch. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 10 58d CrossrateTaxHookCharges a per-swap tax (3–10% in BPS) on swaps involving the pool's registered quote currency, accruing fees as pool manager claim tokens split between the coin creator and a platform wallet. Anyone can call `distribute` to redeem accrued fees, optionally routing payouts through USDG into native ETH via two hookless pool swaps. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 10 2mo SimHookDynamic-fee Uniswap v4 hook that prices each swap based on cumulative directional price impact with time decay, simulating the swap first to estimate impact before execution. Includes JIT liquidity protection via block-based position locks and takes a governance-controlled protocol fee split from the dynamic LP fee. Ethereum beforeInitafterInitbeforeAddLiqafterAddLiq+4 10 2mo PonsV2MemeHookSingleton Uniswap v4 hook shared by all graduated Pons v2 meme pools that collects a hook fee and creator tax on every swap via afterSwap return delta, then batches pending fees for distribution to protocol, creator, and a buyback-and-lock vault through internal pool swaps (ISP style). Robinhood beforeInitafterSwapafterSwapDelta 10 2mo FablesRampETHA dynamic-fee Uniswap v4 hook that applies a per-pool configurable flat fee override in beforeSwap, with optional directional premiums and TTL-bounded admin fee pokes. This ETH variant additionally supports native ETH as currency0. Robinhood beforeInitbeforeSwap 10 2mo MixpadHookUniswap v4 hook for the Mixpad token launchpad that extracts platform swap fees on every trade, splits them between the token creator (with optional buyback-and-burn) and treasury, applies a decaying anti-snipe surcharge during early blocks post-launch, and a time-limited linear-decay surcharge on sells by the original token deployer. BSC beforeSwapafterSwapswapDeltaafterSwapDelta 10 2mo DualPoolHookJIT liquidity hook that deploys concentrated LP positions across multiple configurable tick ranges (buckets) before each swap and removes them after, using ERC-4626 vault rehypothecation to earn yield on idle capital between swaps. Pool fee is static (set at deploy time); swaps can be paused per-pool by the owner. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 10 2mo EdgeHookFee hook for token launches on the Edge protocol. Charges a decaying anti-dump sell tax (linear decay over a configurable block window) plus configurable hook and creator buy/sell taxes on registered token swaps. All collected fees are routed to token creators via a claimable balance mapping. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 10 2mo ForgeHookV4A Uniswap v4 hook for controlled token launches that enforces launchManager authorization for pool initialization and liquidity provision. Collects configurable buy/sell fees via swap deltas and distributes fee shares across platform, creator, rewards, and utility recipients. Remove liquidity and donations are permanently disabled. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+4 10 2mo CoalaArbitrumHookA Coala launch hook that collects a 1% buy and sell tax on swaps in registered pools. Tax is taken from the specified or unspecified currency via BeforeSwapDelta (beforeSwap) and AfterSwapDelta (afterSwap), minting ERC6909 tokens to the project token address. Arbitrum beforeInitbeforeSwapafterSwapbeforeDonate+2 10 2mo ERC1967Proxy HookAn upgradeable ERC1967 proxy contract that delegates all calls to an implementation address. The hook implements beforeSwap, afterSwap, beforeAddLiquidity, and beforeInitialize, with both beforeSwapReturnsDelta and afterSwapReturnsDelta enabled, indicating it modifies swap deltas. The actual hook logic resides in the unresolved implementation contract. Robinhood beforeInitbeforeAddLiqbeforeSwapafterSwap+2 10 2mo Frontier FactoryHookSingleton hook governing graduated BCToken pools; blocks swaps until the coin is graduated (`isLPd`), then charges time-decayed volatility-based fees split between LP positions (via dynamic LP fee override) and protocol (via hook delta). The non-LP share is distributed to the protocol treasury, staking vault, and fee recipient via a two-level waterfall. Robinhood beforeInitafterInitbeforeSwapafterSwap+2 10 3mo QuotronFloorHookFee engine for QUOTRON floor pools that overrides LP fees to zero and charges a tiered fee on the stock side via return deltas. During a 6-hour launch window, whitelisted swappers pay 3%; holders of the 100 FCFS reduced-fee spots pay 10%; all others pay 40%. After the window, everyone pays 3%. Each fee is split four ways: ~2/3 to a reflections engine, ~1/6 to a STONKBROKER buy-and-burn pot, ~1/6 to an LP-reinvest pot, and ~5% to a creator address paid directly per swap. Robinhood beforeInitafterInitbeforeSwapafterSwap+2 10 3mo MixpadHookUniswap v4 hook for the Mixpad launchpad that collects platform swap fees on every trade and splits them between the token creator and treasury. Applies a decaying anti-snipe surcharge on early buys and a time-limited surcharge on deployer sells, and routes a configurable share of creator fees into automatic buyback-and-burn of the launched token. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 10 3mo BallisticFeeHookV3Directional quote-currency fee hook with configurable per-pool buy/sell fee rates, a time-decaying opening fee schedule, and a 10 bps platform floor. Fees are split between a per-pool creator allocation vault and a platform treasury collector. The hook bypasses fees for the registered allocation vault address. Ethereum beforeInitbeforeSwapafterSwapswapDelta+1 10 3mo InstantLaunchHookCharges a configurable ETH-denominated tax (0–10%) on native ETH/token pools, split between the pool creator and a platform fee recipient. During a brief 4-second anti-snipe window after launch, non-whitelisted traders pay a flat 70% tax instead of the configured rate. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 10 3mo LaunchFeeHookAnti-snipe launch fee hook that overrides the LP fee to 50% for the first 4 minutes after pool initialization, then permanently drops to 3.5%. The fee is applied via dynamic fee override in beforeSwap with no admin controls or setter functions. Robinhood afterInitbeforeSwap 10 3mo LaunchFeeHookApplies a time-based anti-snipe fee to pools: 50% flat fee for the first 4 minutes after initialization, then a permanent 3.5% LP fee floor. Fees are immutable — no admin controls or setters exist. Robinhood afterInitbeforeSwap 10 3mo BDeFiHookA Uniswap v4 hook that applies buy/sell taxes on swaps and fulfills pending fee obligations using TWAP-based pricing, routing collected fees to registered receivers (LP managers, leaderboard, genesis). Also maintains a truncated geometric oracle for pool observations. Robinhood beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 10 3mo SaturnOmnichainV4HookHook for the Saturn Omnichain project with only the afterInitialize flag set. All hook callbacks are pure no-ops returning the selector. An external initializePools() function delegates to an ISaturnOmnichainLiquidityBootstrapper contract to bootstrap liquidity and records the resulting initial tick on-chain. Ethereum afterInit 10 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain protocol. The afterInitialize callback is a no-op; the contract provides an external initializePools() function that delegates to a LiquidityBootstrapper contract to set the initial tick and mark the pool as initialized. Base afterInit 10 3mo SaturnOmnichainV4HookA Saturn Omnichain project hook that registers only afterInitialize, returning the selector without modification. Includes an external initializePools() function that delegates pool liquidity bootstrapping to a separate ISaturnOmnichainLiquidityBootstrapper contract. BSC afterInit 10 3mo SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that records pool initialization state via an external liquidity bootstrapper. Only afterInitialize is active, which is a no-op returning the selector with no additional logic. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA hook for the Saturn Omnichain protocol that records the initial pool tick after initialization via a separate liquidity bootstrapper contract. Only afterInitialize is enabled; all swap hooks are no-op stubs, making swap behavior entirely vanilla. Ethereum afterInit 10 3mo SaturnOmnichainV4HookA hook for the Saturn Omnichain project that only implements afterInitialize as a no-op stub. Pool and liquidity setup is handled externally via initializePools(), which calls an ISaturnOmnichainLiquidityBootstrapper to bootstrap positions and record the initial tick. No swap logic is present. Base afterInit 10 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain protocol that only registers the afterInitialize permission. It integrates with a LiquidityBootstrapper contract via initializePools() to set up initial liquidity and record the initial tick; the afterInitialize callback itself performs no logic beyond returning its selector. BSC afterInit 10 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that uses afterInitialize to support pool setup via an external liquidity bootstrapper contract. It has no active swap, liquidity modification, or donation hooks. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA hook for the Saturn Omnichain project that records the initial tick after pool initialization via an external liquidity bootstrapper contract. All swap and liquidity callbacks are no-ops. Ethereum afterInit 10 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol that activates only on afterInitialize. Provides an initializePools() function that delegates to an external LiquidityBootstrapper contract to seed initial liquidity and records the starting tick; the hook itself performs no swap-time logic. BSC afterInit 10 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain token that records the initial tick on pool initialization and exposes an initializePools() function to trigger an external liquidity bootstrapper contract. All swap and liquidity hook callbacks are no-ops. Base afterInit 10 3mo SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that only implements the afterInitialize permission bit. All hook callbacks, including afterInitialize, are pure no-ops that return their respective selectors. Initial tick recording is handled by a separate initializePools() function that calls an external liquidity bootstrapper contract. Robinhood afterInit 10 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that holds pool configuration constants (fee, tick spacing, initial price). Pool liquidity setup is delegated to an external bootstrapper via a separate `initializePools()` call; the `afterInitialize` hook callback itself is a no-op. BSC afterInit 10