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
3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project that records the initial tick after pool initialization via an external liquidity bootstrapper contract. Implements no swap, donate, or liquidity modification callbacks — swaps execute identically to a standard Uniswap v4 pool. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that records the pool's initial tick after initialization via an external liquidity bootstrapper contract. The hook has no swap, liquidity, or donate callbacks active; it only holds the afterInitialize flag. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that records pool initialization state and delegates liquidity bootstrapping to an external ISaturnOmnichainLiquidityBootstrapper contract via initializePools(). Implements no swap-related logic. Robinhood afterInit 15 3mo SaturnOmnichainV4HookMinimal hook for the Saturn Omnichain project. The afterInitialize permission flag is set in the address but the callback is a no-op stub. Tick recording occurs via the separate initializePools() external function, which calls the liquidity bootstrapper contract. Swap behavior is identical to a standard Uniswap v4 pool. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project that only activates on pool initialization. It stores a reference to a liquidity bootstrapper contract and records the initial tick after pool setup; all swap and liquidity callbacks are no-ops. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project that enables only the afterInitialize callback, which returns the selector without performing any state changes. A separate initializePools() function delegates to an external LiquidityBootstrapper contract to bootstrap liquidity and records the initial tick in contract storage. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for Saturn Omnichain's token pool that enables the afterInitialize permission (as a no-op) and exposes an initializePools() function that delegates pool setup and tick recording to an external ISaturnOmnichainLiquidityBootstrapper contract. All hook callbacks are no-ops. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that records the initial tick after pool initialization. An external `initializePools()` function calls a `LiquidityBootstrapper` contract to bootstrap liquidity and store the initial tick. All swap-path hook callbacks are no-ops; the hook has no swap flags. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project with only afterInitialize enabled. The afterInitialize callback is a no-op. The contract exposes an `initializePools()` function that calls an external liquidity bootstrapper to bootstrap liquidity and record the initial tick. No swap logic is present. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA minimal hook with only an afterInitialize permission. The afterInitialize callback is a no-op. The contract also exposes an initializePools() function (not a hook callback) that calls a liquidity bootstrapper to record an initial tick in the hook's storage. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol. Implements only `afterInitialize` (a no-op callback that returns the selector). Exposes `initializePools()` which calls an external `ISaturnOmnichainLiquidityBootstrapper` to bootstrap initial liquidity and records the resulting tick. Does not affect swaps in any way. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that records an initial tick on pool initialization. Exposes an `initializePools()` function that delegates to a liquidity bootstrapper contract to seed initial liquidity and store the starting tick. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for Saturn Omnichain that defines pool configuration constants (3000 bps fee, 60 tick spacing) and delegates liquidity bootstrapping to an external ISaturnOmnichainLiquidityBootstrapper contract. The afterInitialize callback is a no-op; all swap-related callbacks are absent or no-ops, so swap behavior is fully vanilla. Robinhood afterInit 15 3mo SaturnOmnichainV4HookUniswap v4 hook for the Saturn Omnichain project. Registers an afterInitialize callback (no-op returning the selector) and exposes an initializePools() function that calls an external LiquidityBootstrapper contract to seed liquidity and record the initial tick. No swap interception occurs. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol that records the initial tick after pool initialization via a liquidity bootstrapper. All swap and liquidity callbacks are pure no-ops; the hook's only active logic is the afterInitialize flag and a separate initializePools() entry point. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that only uses afterInitialize as a no-op. All swap and liquidity callbacks return immediately without side effects. An external initializePools() function calls a LiquidityBootstrapper contract and records the initial tick. Robinhood afterInit 15 3mo SaturnOmnichainV4HookMinimal Uniswap v4 hook for the Saturn Omnichain protocol. Implements only afterInitialize (as a no-op selector return) and tracks pool initialization state; actual liquidity bootstrapping is delegated to a separate ISaturnOmnichainLiquidityBootstrapper contract. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol. Only the afterInitialize flag is set; the callback is a no-op (returns the selector immediately). Pool initialization is handled externally via a LIQUIDITY_BOOTSTRAPPER contract that seeds liquidity and records the initial tick. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for Saturn Omnichain that only activates on afterInitialize. It coordinates with an external liquidity bootstrapper contract to initialize pools and records the initial tick and pool initialization status on-chain. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project with a no-op afterInitialize callback. Features an external initializePools() function that calls a liquidity bootstrapper contract to set up pool liquidity and record the initial tick. All hook callbacks are pure stubs that return their respective selectors without performing any additional logic. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project that holds only the afterInitialize permission but performs no logic in that callback. Includes an external initializePools() function that delegates to a separate liquidity bootstrapper contract to set up initial tick and liquidity positions. Robinhood afterInit 15 3mo SaturnOmnichainV4HookUniswap v4 hook for the Saturn Omnichain protocol with an afterInitialize permission (callback is a no-op). Pool initialization and initial tick recording are performed by a separate `initializePools()` function that delegates to an external LiquidityBootstrapper contract. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain protocol that holds the afterInitialize permission but performs no action in that callback. Liquidity bootstrapping is handled externally via initializePools(), which records the initial tick and delegates to a separate ISaturnOmnichainLiquidityBootstrapper contract. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project. Implements only afterInitialize (as a no-op stub returning the selector) and exposes an initializePools() function that delegates to an external ISaturnOmnichainLiquidityBootstrapper to bootstrap liquidity and record the initial tick. No swap, liquidity modification, or donate logic is active. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA minimal 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; the only active permission is afterInitialize. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that registers an afterInitialize permission (the callback is a no-op stub). Exposes an external initializePools() function that bootstraps liquidity via an external contract and records the initial tick and pool initialization state. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain protocol with only the afterInitialize flag set. All hook callbacks are pure no-ops. The hook exposes an initializePools() function that calls an external ISaturnOmnichainLiquidityBootstrapper to bootstrap liquidity and records the initial tick. Robinhood afterInit 15 3mo SaturnOmnichainV4HookMinimal omnichain hook for the Saturn protocol with only an afterInitialize permission. The afterInitialize callback is a no-op (pure, returns selector); actual pool initialization is delegated to an external ISaturnOmnichainLiquidityBootstrapper contract via initializePools(). Robinhood afterInit 15 3mo SaturnOmnichainV4HookImplements IHooks with only afterInitialize enabled; the afterInitialize callback is a pure no-op. Provides a separate external initializePools() function that records the initial tick by calling an external liquidity bootstrapper contract (ISaturnOmnichainLiquidityBootstrapper). All other hook callbacks are no-ops. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA hook for the Saturn Omnichain project that records pool initialization state. Only the afterInitialize flag is active, but the callback is a pure no-op; an external initializePools() function delegates liquidity bootstrapping to a separate ISaturnOmnichainLiquidityBootstrapper contract. Swap behavior is entirely unmodified. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain protocol that implements only afterInitialize (as a no-op). Provides an initializePools() function that delegates to an external ISaturnOmnichainLiquidityBootstrapper to seed initial liquidity and record the starting tick. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain token. Declares the afterInitialize permission but performs no logic in any hook callback — all callbacks are pure stubs. Liquidity bootstrapping and initial tick recording are handled via a separate initializePools() function that calls an external LiquidityBootstrapper contract. Robinhood afterInit 15 3mo SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project that records the initial tick after pool initialization via an external liquidity bootstrapper contract. All swap, liquidity, and donate callbacks are no-ops; only afterInitialize is active. Robinhood afterInit 15 3mo SteakHouseV4HookA Uniswap v4 hook for token launches that enforces per-band or time-based configurable LP fees across 8 MCAP bands, with per-band maxWallet and maxTx limits. Features an optional sniper tax (40–80%) for the first 12 seconds post-launch, a 24-second dev-buy window capped at 15% of supply, and an owner-managed volume-bot exemption whitelist that trades with 0% LP fee. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 15 46d MofoHook (mofo launchpad)A launchpad hook that enforces factory-only pool creation and locker-only liquidity additions. It applies a dynamic LP fee with a time-decaying anti-sniper fee (99% → normal) in the first 3 seconds after launch, and reverts any swap that would push the pool price below its birth price. Robinhood beforeInitbeforeAddLiqbeforeSwapafterSwap 14 2mo TransparentUpgradeableProxy HookA Uniswap v4 hook deployed as an ERC-1967 TransparentUpgradeableProxy, allowing the owner to upgrade the hook implementation. The underlying implementation contract (0xCEE1e713Ae68Bf4d1baf4E182b592A92EA444fFC) was not available for source analysis; behavioral properties could not be verified. Robinhood beforeInitafterInitbeforeSwapafterSwap 14 2mo SentryStockFeeHookV4A Uniswap v4 hook for tokenized stock pools on Robinhood Chain that charges a time-decaying fee on the stock leg of every swap, splitting proceeds among holder reflections, creator, terminal pot, and growth sink. The pool LP fee is zeroed out; fees are taken entirely via hook deltas. Only the factory's LP vault may add liquidity. Robinhood beforeInitafterInitbeforeAddLiqbeforeSwap+3 14 2mo CookHookA bonding-curve token launch hook for Uniswap v4 that manages a main liquidity band, charges protocol and creator swap fees via the afterSwap return delta, and atomically graduates a launch when the target price is reached — burning the main band position, re-pooling the raised base as a permanently locked buy-wall position (Position 3), and optionally initiating a TWAP buy program. Robinhood beforeInitafterInitafterSwapafterSwapDelta 14 2mo NasdankFeeHookPairUniversalA fee hook for coin/pair-token V4 pools (LP fee 0) that takes a configurable fee in the pair token on every swap via BeforeSwapDelta/afterSwapReturnsDelta mechanics. Fees accrue as ERC-6909 claims on the PoolManager, then are split at claim time: the creator leg is paid in the pair token, and the protocol leg is converted to WETH via a frozen V3 route (direct single-hop or 2-hop via USDG with TWAP floors). Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 14 2mo SpotUniswap v4 hook that applies dynamic LP fees (base + surge) computed by a DynamicFeeManager, takes a configurable protocol fee share on swaps and reinvests it via a FullRangeLiquidityManager, and records truncated geometric TWAP observations via TruncGeoOracleMulti. Robinhood afterInitbeforeSwapafterSwapswapDelta+1 14 2mo CrestHookA Uniswap v4 launchpad hook that collects protocol fees and creator buy/sell taxes on swaps for registered tokens, with a time-decaying anti-snipe fee that charges elevated rates during early blocks after token launch. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 14 2mo SurgeHookA token-launch hook that applies configurable hook fees, creator buy/sell taxes, and time-decaying anti-snipe fees to registered tokens, extracting fees from swap amounts via BeforeSwapDelta/AfterSwapDelta and routing them to token creators. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 14 3mo LaunchpadHookCollects ETH fees on every ETH/token swap, splitting proceeds between the token creator and a treasury address, with optional referral cuts distributed from the platform share. Tracks net ETH volume via a factory contract to support token graduation logic. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 14 3mo HoodsHookSingleton ETH-fee hook for hoods.meme token pools. Takes a market-cap-tiered ETH fee on each swap (max 1% of ETH moved), accruing fees separately for a treasury and a per-token creator splitter; fees are pulled later so no external call occurs in the swap path. Sell-exactOut swaps are rejected. Fee schedule is factory-snapshotted at pool launch and immutable thereafter. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 14 3mo SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that records the initial tick after pool initialization via an external liquidity bootstrapper contract. It has no swap-time logic; all hook callbacks are no-ops. Robinhood afterInit 14 3mo LaunchHookLaunchHook charges a fixed 1% fee on ETH/token swaps: for ETH→token buys, it takes the fee from the ETH input via beforeSwap delta; for token→ETH sells, it takes the fee from the ETH output via afterSwap delta. Fees are forwarded to a factory contract (set once by a governor) via depositFees for creator/platform distribution. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 14 4mo ReflectionFeeHookA fixed 2% swap fee hook for graduated reflection-token pools. It collects ETH fees via return-delta callbacks in beforeSwap (for ETH-specified swaps) and afterSwap (for token-specified swaps), forwarding fees to the factory's per-token creditGraduatedFee() bucket. Pool creation is restricted to the factory's graduator contract via beforeInitialize. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 14 56d V2HookLaunchpad hook that charges a fee on the numeraire leg via hook deltas (bypassing LP fee, which is overridden to zero). The fee decays linearly from a configurable start (up to 80%) to a steady-state end (default 1%) over a configurable window (default 10 s) to deter opening-block snipers; exactOut swaps revert during this window. Liquidity additions are vault-only; principal removals are permanently locked. Optionally gates buys to NFT holders and locks sells for a presale period. Robinhood beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+5 13 2mo ArkHookCollects a configurable fee (up to 5%) from swaps on registered tokens by taking a cut of the swap input or output via BeforeSwapDelta/AfterSwapDelta. Accumulated fees are stored as a claimable bounty for each token's designated captain and can be harvested at any time. Robinhood beforeSwapafterSwapswapDeltaafterSwapDelta 13 2mo RewardHookCollects a fee (3% base, up to 20% during a 5-minute launch window) on the quote-token side of every swap via before/afterSwap return deltas, then splits the accrued fees between a holder distributor contract, a protocol fee recipient, and a buyback wallet. Robinhood beforeInitbeforeSwapafterSwapswapDelta+1 13