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.
AgeHookChainPermissionsPools
8mo
ClankerHookStaticFeeV2Clanker token pool hook that applies separate static LP fees per swap direction (buying vs. selling the Clanker token), collects a 20% protocol fee on each swap via BeforeSwapDelta/AfterSwapDelta, and supports an optional MEV protection module that can temporarily raise fees during the first 2 minutes after pool deployment.
BSC
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
8,682
25d
Pangea Multichain HookFee hook for Pangea pangea.trade multichain token launch pools. Takes the whole trading fee in the quote asset at swap time: beforeSwap on buys, afterSwap on sells, grossed up for exact-out. Pools use fee 0. Same CREATE2 address on Ethereum, BNB, Base and Robinhood
BSC
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
1,233
2mo
DopplerHookInitializerA Uniswap v4 pool initializer that deploys bonding curve liquidity across multiple tick ranges (Multicurve). Supports optional Doppler Hook plugins for dynamic fee adjustment, swap callbacks, and pool graduation events. Locks liquidity until a target price tick is reached, after which the pool can be graduated or exited.
BSC
beforeInitafterAddLiqafterRemoveLiqafterSwap+1
166
2mo
LaunchpadHookCollects a percentage fee on every swap in registered launchpad token pools, then splits the fee between the token creator and a platform treasury, with optional referral cuts distributed via a configurable registry. Tracks net quote volume per token for graduation tracking via the factory contract.
BSC
beforeSwapafterSwapswapDeltaafterSwapDelta
61
13mo
UniswapV4KEMHookImplements a signed-quote (RFQ) swap mechanism where each swap requires an off-chain signature from a designated quote signer authorizing specific trade parameters (sender, amounts, exchange rate, nonce, expiry). Any output exceeding the quoted exchange rate is captured as ERC-6909 tokens claimable by authorized accounts.
BSC
beforeSwapafterSwapafterSwapDelta
57
14mo
LimitOrderHookRecords the pre-swap tick in transient storage during beforeSwap, then in afterSwap calls an external LimitOrderManager to execute limit orders based on tick movement. Also exposes an admin-controlled updateDynamicLPFee function to adjust the pool's LP fee.
BSC
beforeSwapafterSwap
36
2mo
VoidHookA token launchpad hook that charges 0% fees on buys but drains 100% of sell proceeds (quote token) to the token creator by default, with no owner-callable setter to change the sell drain rate. Registered tokens are tracked via an external factory contract; collected fees are credited to creators as claimable yield.
BSC
beforeSwapafterSwapswapDeltaafterSwapDelta
32
2mo
LaunchpadHookA launchpad hook that collects fees on every swap, splitting them between token creators, a platform treasury, and referral tiers. Features anti-snipe and fair-launch windows with max-buy limits, optional buyback-and-burn of creator fees, optional dividend tax routing to a DividendPool, and configurable per-token creator fee recipients.
BSC
beforeSwapafterSwapswapDeltaafterSwapDelta
26
10mo
BVCC Dynamic Fee Hook (BNB)Dynamically adjusts LP fees per swap based on gas price levels, price volatility, and 24-hour trading volume, with an anti-bot cooldown penalty for frequent swappers. Also collects a small hook fee from swap output amounts via afterSwapReturnsDelta.
BSC
afterInitbeforeSwapafterSwapafterSwapDelta
25
10mo
ClankerHookDynamicFeeV2Clanker V4 hook v2 for autonomous token deployment with dynamic fees that adjust based on trading volume, MEV modules, and pool extensions.
BSC
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
23
8mo
ClankerHookStaticFeeV2Clanker protocol hook that configures asymmetric static LP fees per pool (separate rates for clanker-token and paired-token swap directions), collects a 20% protocol fee on paired-token flows via beforeSwap/afterSwap delta manipulation, and includes a temporary MEV protection module active for 2 minutes post-deployment that can increase fees to deter sandwich attacks.
BSC
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
20
16mo
BunniHookUniswap v4 hook that handles swaps on Bunni using a custom AMM mechanism with dynamic and surge fee computation. Implements auto-rebalancing via FloodPlain and uses am-AMM to recapture LVR and MEV. Includes an on-chain TWAP oracle and supports hooklets for per-pool customization.
BSC
afterInitbeforeAddLiqbeforeSwapswapDelta
19
3mo
SpotDynamic-fee AMM hook that computes LP fees via a TruncatedGeoOracle and DynamicFeeManager, collecting protocol fees and an undisclosed 0.10% surcharge on every swap via beforeSwap/afterSwap return deltas, and reinvesting accumulated fees into full-range liquidity positions through a FullRangeLiquidityManager.
BSC
afterInitbeforeSwapafterSwapswapDelta+1
18
3mo
LaunchpadHookUniswap v4 hook for token launchpads that collects a configurable swap fee (default 1%) on every trade, splits it between the token creator and platform treasury with a referral tier system, and tracks quote volume per token for graduation tracking.
BSC
beforeSwapafterSwapswapDeltaafterSwapDelta
18
2mo
LaunchpadHookA launchpad hook for token launches on Uniswap v4 that collects swap fees and splits them between creators, platform treasury, and referral tiers. Features anti-snipe and fair-launch temporal windows, optional buyback-and-burn of creator fees, and optional dividend tax routing to a DividendPool.
BSC
beforeSwapafterSwapswapDeltaafterSwapDelta
17
8mo
ClankerHookDynamicFeeV2Clanker's v2 dynamic fee hook that adjusts LP fees based on a tick-difference volatility accumulator, collecting a 20% protocol fee on each swap. Supports optional MEV protection and pool extension modules.
BSC
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
16
2mo
LaunchpadHookA token launchpad hook that collects swap fees and splits them between creators and a platform treasury, with optional buyback-and-burn and dividend distribution. Enforces a snipe-protection window and a per-token max-buy cap during a fair launch period, both gated by block.timestamp.
BSC
beforeSwapafterSwapswapDeltaafterSwapDelta
15
3mo
SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain protocol that implements only afterInitialize (as a no-op selector return). Pool and liquidity bootstrapping is delegated to an external ISaturnOmnichainLiquidityBootstrapper contract via initializePools(). No swap logic is modified.
BSC
afterInit
15
3mo
SaturnOmnichainV4HookMinimal hook for the Saturn Omnichain project that activates only afterInitialize (as a no-op selector return); all swap, liquidity, and donate callbacks are stubs. Provides an external initializePools() that delegates to a LiquidityBootstrapper and records the initial tick.
BSC
afterInit
15
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project with only the afterInitialize permission, implemented as a no-op. Exposes an initializePools() function that delegates liquidity bootstrapping to an external ISaturnOmnichainLiquidityBootstrapper contract and records the initial tick.
BSC
afterInit
15
3mo
SaturnOmnichainV4HookA hook for the Saturn Omnichain protocol that holds the `afterInitialize` permission as a no-op callback. Exposes an `initializePools()` function that delegates to an external liquidity bootstrapper and records the initial pool tick on-chain.
BSC
afterInit
15
3mo
SaturnOmnichainV4HookOmnichain hook for the Saturn protocol. Only afterInitialize is enabled, but its callback is a no-op that returns its selector. The contract exposes a separate initializePools() function that calls an external liquidity bootstrapper to obtain and store the initial pool tick.
BSC
afterInit
15
3mo
SaturnOmnichainV4HookSaturn Omnichain protocol hook with afterInitialize permission, though the callback is a no-op. Stores pool configuration constants and delegates initial liquidity seeding to an external LiquidityBootstrapper contract called via initializePools(), recording the starting tick on-chain.
BSC
afterInit
15
2mo
OmniHookCharges a fixed 10 bps fee on every swap, taken from the specified input amount (exact-in) or output amount (exact-out) via BeforeSwapDelta and afterSwapReturnsDelta. Fees are pooled to the hook contract and booked in a per-currency pull-payment ledger split among five hardcoded recipients, claimable by anyone via claim() or claimAll().
BSC
beforeSwapafterSwapswapDeltaafterSwapDelta
14
3mo
SpotImplements dynamic LP fees using a truncated geometric mean oracle with surge pricing; captures a configurable protocol fee share (POL) from swaps and reinvests it as full-range liquidity via a FullRangeLiquidityManager.
BSC
afterInitbeforeSwapafterSwapswapDelta+1
13
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that registers the afterInitialize flag but implements it as a pure no-op. The contract exposes a separate initializePools() function that calls a LiquidityBootstrapper to bootstrap liquidity and records the resulting initial pool tick in contract state.
BSC
afterInit
13
2mo
MomoHookFee-collecting hook for meme token launches that charges a configurable fee on quote-token swap amounts, with an elevated anti-snipe tax applied during the first N blocks after launch. Fees are taken via BeforeSwapDelta/AfterSwapDelta, credited to token creators, and claimable on demand.
BSC
beforeSwapafterSwapswapDeltaafterSwapDelta
12
4mo
V4PermissionedSwapsA Uniswap v4 hook that restricts swaps to an owner-managed allowlist of approved sender addresses, reverting any swap from an unapproved sender with `SenderNotAllowed`.
BSC
beforeSwap
12
5mo
IndexHookA hook for IndexToken pools that gates swaps and liquidity additions/removals to owner-approved pools, supports dynamic LP fees with zero-fee overrides for index token self-swaps and custom hook fees for other swappers, and tracks index token reserves in pools for burn coefficient accounting.
BSC
afterInitafterAddLiqafterRemoveLiqbeforeSwap+3
12
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
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
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 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 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 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
3mo
SaturnOmnichainV4HookSaturn Omnichain hook with only afterInitialize permission (a no-op). Provides a separate initializePools() function that calls an external ISaturnOmnichainLiquidityBootstrapper to bootstrap liquidity and records the initial tick on-chain.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain protocol. Only the afterInitialize permission is active; the callback is a no-op returning only its selector. Pool setup is triggered externally via initializePools(), which calls a LiquidityBootstrapper contract and stores the resulting initial tick on-chain.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA passive hook for Saturn Omnichain pools that enables only afterInitialize (as a no-op). Exposes an initializePools() function that calls an external liquidity bootstrapper to record the initial tick.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain protocol that registers the afterInitialize permission but performs no logic in the callback. A separate initializePools() function delegates liquidity bootstrapping to an external ISaturnOmnichainLiquidityBootstrapper contract.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that uses only the afterInitialize permission as a stub. It exposes an initializePools() function that delegates to an external ISaturnOmnichainLiquidityBootstrapper to bootstrap liquidity across multiple pools and records the initial tick.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA hook for the Saturn Omnichain protocol with only afterInitialize active (a no-op stub). Provides an initializePools() function that delegates to an external ISaturnOmnichainLiquidityBootstrapper to bootstrap liquidity and records the initial tick and poolInitialized state on-chain.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA minimal Uniswap v4 hook for the Saturn Omnichain project. Only afterInitialize is enabled (as a no-op selector return). Exposes an initializePools() function that delegates liquidity bootstrapping to an external ISaturnOmnichainLiquidityBootstrapper contract and records the resulting tick.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project that records the initial tick after pool initialization via an external liquidity bootstrapper contract. The afterInitialize callback is a no-op; actual bootstrapping is triggered externally via initializePools().
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook for the Saturn Omnichain project that registers only afterInitialize (implemented as a no-op). All hook callbacks return their selectors without modifying swap or liquidity behavior. An external initializePools() function delegates to a liquidity bootstrapper to seed initial pool positions.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA Uniswap v4 hook for the Saturn Omnichain project with an afterInitialize permission whose callback is a no-op. Pool initialization and initial tick recording are handled by the separate initializePools() function, which delegates liquidity bootstrapping to an immutable external ISaturnOmnichainLiquidityBootstrapper contract.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA Saturn Omnichain project hook with only the afterInitialize permission set (as a no-op callback). Exposes an initializePools() function that delegates to an external ISaturnOmnichainLiquidityBootstrapper to bootstrap liquidity and record the initial tick for the pool.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA hook for the Saturn Omnichain project with only the afterInitialize permission bit set, but the afterInitialize callback is a no-op stub. Initial pool tick data is recorded by a separate initializePools() function that calls an external LiquidityBootstrapper contract. All hook callbacks are no-op stubs; the hook does not alter swap behavior.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookMinimal hook for Saturn Omnichain that implements afterInitialize as a no-op (returns selector only) and exposes an initializePools() function that delegates to an external ISaturnOmnichainLiquidityBootstrapper contract to record the initial pool tick.
BSC
afterInit
10
3mo
SaturnOmnichainV4HookA minimal hook with only afterInitialize enabled (a no-op pass-through). The contract exposes an initializePools() function that calls an external LiquidityBootstrapper to set up liquidity positions and records the initial tick after pool creation.
BSC
afterInit
10