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
5mo
UniswapV4HookA Uniswap v4 hook that collects a 0.7% fee on every swap — ETH on buys, tokens on sells — accumulating ETH into a burn pot for periodic buyback-and-burn operations. Sell transactions can be selectively blocked via a tx.origin allowlist when enabled, and only one liquidity addition per token is permitted.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
2
5mo
UniswapV4HookA Uniswap v4 hook collecting a 0.7% fee on every swap: ETH from buys accumulates in a burn pot for buyback-and-burn every 20 swaps, and token input from sells is burned directly. Liquidity addition is one-time per token, and sells are blocked in the same block as a buyback. Additionally, any address can activate a per-token sell allowlist by calling registerPixel, restricting sells to addresses the deployer pre-approves via preparePixels; only the deployer (genesisAddress) can deactivate it.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
2
6mo
UniswapV4HookExtracts a 2.2% tax on buy and sell swaps via BeforeSwapDelta. Buy-side ETH fees accumulate in a burn pot for buyback-and-burn every 20 swaps; sell-side tokens are queued and burned on later swaps. Only one liquidity addition per token is permitted. Additionally, afterSwap enforces a sell-side allowlist: when timeBased[token] is enabled (activatable by anyone via registerBurner()), sells revert for any tx.origin not in the deployer-controlled hasValue allowlist.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
2
6mo
IncineratorBuy-and-burn hook that extracts a 2.2% fee on ETH buys into a burn pot for periodic buyback-and-burn, and a 2.2% token fee on sells for immediate burning via delta returns. Contains a hidden mechanism: once `registerBurner()` is called (callable by anyone), sells by non-whitelisted addresses revert in `afterSwap`, creating a potential honeypot controlled by the deployer.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
2
6mo
LayerMemeHookDynamicFeeV2Volatility-based dynamic LP fee hook for LayerMeme token pools. Computes fees from tick movement using a volatility accumulator, takes a 20% protocol fee on swaps involving the LayerMeme token via beforeSwap/afterSwap delta manipulation, and supports optional MEV protection and pool extensions.
Base
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
2
6mo
HyperhookA prediction-market hook that lets users trade binary outcome tokens (UP/DOWN) against a base asset using a custom bonding curve inside time-bounded epochs. Epochs are resolved by a Chainlink price feed; winning-side holders can redeem their tokens for the base asset after resolution, subject to a decay tax.
Ethereum
afterAddLiqbeforeSwapswapDelta
2
6mo
DoubleSineHookA custom AMM hook managing two pools (ETH/TokenA and ETH/TokenB) that share a single virtual ETH reserve under a constant-product pricing curve. The hook fully intercepts swaps via beforeSwapReturnsDelta, minting/burning tokens and settling ETH directly. Applies a 1% buy/sell fee to an immutable treasury address and enforces a 5-block anti-snipe buy cap on launch.
Ethereum
afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1
2
6mo
LayerMemeHookStaticFeeV2A Uniswap v4 hook for LayerMeme token pools that applies configurable per-direction static LP fees (separate rates for buying vs. selling the LayerMeme token) via updateDynamicLPFee, and collects a 20% protocol fee on each swap through delta adjustments. Includes a time-limited (2-minute) MEV protection module and supports optional pool extensions.
Base
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
2
6mo
PillHookA Uniswap v4 hook for a dual-faction (RED/BLUE) game that taxes exact-input token sells at 3% in ETH, redistributing proceeds to the opposite faction's holders via a Synthetix-style per-token accumulator.
Ethereum
afterSwapafterSwapDelta
2
6mo
UniswapV4HookCharges a 1.2% fee on all swaps: buy-side (ETH->token) fees accumulate in a native burn pot and are periodically used to buyback and burn tokens; sell-side (token->ETH) fees are taken and burned directly. Blocks all liquidity additions after the first and reverts exact-output swaps. An afterSwap allowlist (hasValue) can gate sells; the restriction is enabled permissionlessly by anyone via burner(), while allowlist membership is owner-controlled.
Ethereum
beforeInitbeforeAddLiqbeforeSwapafterSwap+2
2
6mo
UniDogeBuybackHookCollects a 0.5% fee on ETH/UniDoge pool swaps via afterSwapReturnsDelta, accumulates the ETH fees, and periodically executes automated buyback swaps to purchase UniDoge tokens, which are then burned.
Ethereum
afterInitafterSwapafterSwapDelta
2
6mo
TaxHookApplies dynamic LP fee overrides on every swap, delegating buy/sell tax calculations to a configurable external IAntiBotModule contract. Records each user's first buy block to support anti-bot fee tiers; hookData optionally overrides the caller address for fee computation.
Ethereum
beforeSwap
2
6mo
ButeA bonding-curve ERC-20 token (BUTE) that uses beforeSwap to intercept ETH-in swaps: it mints BUTE via a multi-factor curve (temporal decay, burn echo, peak bonus) and returns a BeforeSwapDelta, routing buys through the hook's own ETH reserve. Sell-side swaps pass through unmodified; selling BUTE is handled via a direct sell() function.
Base
beforeSwapswapDelta
2
6mo
WhitelistTaxHookA beforeSwap hook that applies dynamic LP fee overrides based on buy/sell direction and a whitelist. Whitelisted addresses swap fee-free; non-whitelisted buyers pay a configurable buyTaxRate, and sellers pay a configurable sellTaxRate (reduced after 10 blocks since the user's first buy).
Ethereum
beforeSwap
2
6mo
HookFeeA fee-collecting hook that charges a configurable basis-point fee on currency0 output from one-for-zero swaps, routing proceeds to a fixed feeRecipient via afterSwap delta. The fee rate is owner-controlled and capped at 10,000 bps.
Ethereum
afterSwapafterSwapDelta
2
6mo
HomelanderUniV4PluginA Uniswap v4 hook that dynamically overrides the LP fee in beforeSwap (zero for a privileged MEV executor, configurable for all others) and runs on-chain arbitrage in afterSwap by delegating to an external MEV router and executor, distributing captured profits via a configurable profit distributor.
Base
afterInitbeforeSwapafterSwap
2
6mo
PumpFeeHookA Uniswap v4 hook for token launches that applies tiered creator and protocol fees on each swap based on the token's current market cap (derived from the pool's spot price), alongside a dynamic LP fee override. Only factory-registered bonding curve pools can register with this hook; fees accumulate and are distributed to the creator and protocol via a separate skim function.
Ethereum
afterInitbeforeSwapafterSwapswapDelta+1
2
6mo
OracleHookA TWAP oracle hook that writes tick observations on every swap via a V3-style ring buffer, applies a dynamic LP fee scaling linearly with price drift from a reference sqrt price, and gates all liquidity operations to an authorized Stabilizer contract via a magic sentinel in hookData.
Ethereum
afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1
2
6mo
SurtHookETH/SURT bonding curve hook implementing a SATO-style pricing model with dynamic sell-side burn (2–8% of fair SURT, volume/TVL-linked) and an idle jackpot mechanism (1% of each buy credited to pot; paid to prior buyer after 1 hour of inactivity). Liquidity additions are forbidden; requires the real swapper address ABI-encoded in hookData.
Ethereum
beforeInitbeforeAddLiqbeforeSwapswapDelta
2
6mo
FaunaHookUUPS-upgradeable hook for the FAUNA NFT pool that notifies a renderer contract after each swap to trigger butterfly reveal mechanics. No access control on swaps; only afterSwap is active and solely performs an external notification call.
Ethereum
afterSwap
2
6mo
LaunchHookFee-splitting hook that skims a fixed 1% platform fee plus a configurable creator fee (0–20%) from every exact-input swap via BeforeSwapDelta, forwarding creator fees directly to the token contract. Pool initialization is gated to a factory address; exact-output swaps are unconditionally rejected.
Base
beforeInitbeforeSwapswapDelta
2
6mo
LifeA Uniswap v4 hook combined with an ERC-20 token (LIFE) that runs Conway's Game of Life on a 64×64 toroidal grid. Each swap advances the simulation 1–10 generations, collects a 3% fee split between cell-owners and an immutable protocol recipient, and places or kills grid cells based on ETH↔LIFE swap activity and token transfers.
Ethereum
beforeSwapafterSwapafterSwapDelta
2
6mo
UnipixelHookA Uniswap v4 afterSwap hook for the Unipixel collaborative pixel canvas. On $uPIXEL token sells, it reads the seller address from hookData and calls the canvas contract to reconcile the seller's pixel allocation to their new token balance. Reconciliation is best-effort via try/catch; swaps always proceed regardless of canvas state.
Ethereum
afterSwap
2
6mo
BpegHookCalls `start` on a configured ERC token when the first liquidity is added to its pool, and updates an on-chain random seed (using block entropy) on each swap involving that token.
Base
afterAddLiqafterSwap
2
6mo
DynopegHookApplies a flat 3% ETH tax on every swap involving native ETH: on the buy side, reduces the swap input via BeforeSwapDelta and mints ERC-6909 claims; on the sell side, extracts ETH via poolManager.take() in afterSwap. Also advances a rolling per-swap entropy seed each call. Anyone can call normalize() to convert accumulated claims to physical ETH and push them to the DynopegToken reward distributor.
Ethereum
beforeSwapafterSwap
2
6mo
Unilaunch Fee HookSingleton v4 hook for Unilaunch pools that skims a configurable per-pool fee (50–1000 bps) from each swap and splits it 60% to the pool creator and 40% to a fixed platform wallet. Only pools registered by the factory can initialize with this hook.
Ethereum
beforeInitafterSwapafterSwapDelta
2
6mo
BpegHookSyncs BPEG token holder NFT counts after swaps by calling syncSwap() on the BPEG contract in afterSwap, and sets the pool address on the BPEG contract in afterAddLiquidity when the first liquidity is added.
Base
afterAddLiqafterSwap
2
6mo
DynoPEGHookCalls `start` on a configured token contract when the first liquidity is added to its pool; updates an internal random seed after each swap involving the token, supporting on-chain NFT/SVG generation.
Ethereum
afterAddLiqafterSwap
2
6mo
PepeHookCalls `start` on a configured token contract when the first liquidity is added to a pool involving that token. On each swap involving that token, updates an internal random seed using block entropy (timestamp, prevrandao, block number).
Ethereum
afterAddLiqafterSwap
2
6mo
LiquidGuardUniswap v4 hook that skims a configurable fee (in RARE tokens) from every swap in RARE-paired pools, routing the fee to a distributor contract. When RARE is the specified currency, fees are deducted in beforeSwap; when unspecified, in afterSwap. Pool initialization is restricted to owner-approved initializer addresses.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
2
6mo
GridHookAutomated grid trading hook that deploys user-configured liquidity positions across evenly-spaced tick ranges. Supports per-user grid deployment, rebalancing when price moves beyond a configurable threshold, and enforces a per-block maximum price impact circuit breaker in afterSwap.
Unichain
afterInitafterAddLiqafterRemoveLiqbeforeSwap+1
2
6mo
GridHookA Uniswap v4 hook implementing per-user grid liquidity management. Users configure and deploy grid orders across price ranges; the hook tracks cumulative tick movement per block and reverts swaps that exceed a maximum price impact of 500 ticks per block to protect against excessive volatility.
Base
afterInitafterAddLiqafterRemoveLiqbeforeSwap+1
2
6mo
AsteroidHookA hook for the Asteroid token project that calls start() on the token when the first liquidity is added to its pool, and updates an on-chain random seed (using block.timestamp, prevrandao, and block.number) on every swap involving the token.
Ethereum
afterAddLiqafterSwap
2
7mo
GridHookA grid trading hook for Uniswap v4 that allows users to configure, deploy, rebalance, and close multi-order grid positions. After each swap, records the current tick and swap count for bookkeeping. Supports Permit2-based token transfers and keeper authorization for automated rebalancing.
Arbitrum
afterInitafterAddLiqafterRemoveLiqafterSwap
2
7mo
SafeSwapAnti-rug and anti-whale protection hook. Sell rate limiting, cooldowns, progressive fees, launch protection mode. Immutable config per pool.
Arbitrum
beforeInitbeforeSwapafterSwap
2
7mo
MentalUniswapHookA hook for MENTAL token pools that tracks an ICO phase (complete when 1,050,000 MENTAL net sold) and applies a 1% tax on all post-ICO MENTAL swaps, forwarding the tax to a fee recipient via afterSwap delta return and POOL_MANAGER.take().
Ethereum
afterSwapafterSwapDelta
2
7mo
GridHookA grid trading hook that lets users configure and deploy automated grid liquidity orders around the current tick. After each swap, it records the updated tick and swap count to support user-triggered rebalancing of grid positions.
Unichain
afterInitafterAddLiqafterRemoveLiqafterSwap
2
7mo
OrketHookA Uniswap v4 hook for prediction market pools (YES/NO share tokens) that implements VALS dynamic fees calculated as e^[λ*(Δx/L)*σ]-1 from a backend-signed toxic velocity parameter. Every swap requires a valid ECDSA-signed SignedSigma in hookData; fee proceeds are routed to share token holders via YieldDistributor rather than to LPs.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
7mo
OrketHookPrediction market hook for YES/NO share pools implementing VALS (Volatility-Adjusted Liquidity Sensitivity) fees. Requires a backend-signed sigma value per swap; fees are computed as e^(λ·Δx/L·σ), captured from the USDC collateral side via BeforeSwapDelta, and redirected to share holders through a YieldDistributor rather than to LPs.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
7mo
GridHookA grid trading hook that allows users to deploy configurable liquidity grids around the current tick. Supports manual and keeper-triggered rebalancing as price moves, with slippage protection and Permit2-based token settlement.
Unichain
afterInitafterAddLiqafterRemoveLiqafterSwap
2
7mo
AssetToAssetSwapHookForERC4626Periphery hook that automates asset-to-asset swaps for ERC4626 vault-backed pools. In beforeSwap, it converts the user's input asset into vault wrapper shares, performs a nested swap through a companion yield-harvesting pool, then redeems the output shares back to the underlying asset, returning the full delta so the pool itself executes no further swap.
Unichain
beforeAddLiqbeforeSwapswapDelta
2
7mo
OrketHookUniswap v4 hook for prediction market pools implementing a VALS dynamic fee formula (e^[λ*(Δx/L)*σ] - 1). Requires a server-signed sigma parameter in hookData for every swap; fees are taken from the collateral token and routed to a YieldDistributor for share holders. Blocks swaps and liquidity additions when the market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
7mo
OrketHookA Uniswap v4 hook for binary prediction market (YES/NO outcome) pools implementing a VALS dynamic fee formula (e^[λ*(Δx/L)*σ]-1). Every swap requires a backend-signed sigma parameter; fees are captured from the collateral token and distributed to share holders via a YieldDistributor. Also tracks LP virtual balances and feeds pool prices back to the prediction market.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
7mo
OrketHookA Uniswap v4 hook for prediction market YES/NO pools implementing VALS (volatile-adjusted) dynamic swap fees. Every swap requires a signed oracle sigma parameter; the hook computes a fee as e^[λ*(Δx/L)*σ]-1 and captures it from the USDC (collateral) side via BeforeSwapDelta, routing fees to a YieldDistributor for share holders rather than LPs. Blocks swaps and liquidity changes when the market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
7mo
OrketHookPrediction market Uniswap v4 hook implementing VALS (Volatile Adverse-Liquidity Sensitivity) dynamic swap fees. Requires a signed sigma parameter per swap (from a trusted off-chain signer); reverts without it. Fees are captured as a BeforeSwapDelta and redirected to a YieldDistributor for share token holders, not LPs. Tracks LP virtual balances and updates pool prices after each swap.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
7mo
OrketHookA prediction market pool hook implementing VALS (Volatility-Adjusted Liquidity Sensitivity) dynamic fees. Captures fees from swaps using a signed toxic-velocity (sigma) parameter, routing them to a YieldDistributor for share holders rather than LPs. Requires a backend-signed sigma payload in hookData and blocks swaps when the prediction market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
7mo
OrketHookUniswap v4 hook for prediction market pools (YES/NO outcome tokens vs. collateral) that computes a VALS dynamic fee (e^[λ·(Δx/L)·σ] − 1) using a backend-signed toxic-velocity parameter. The fee is taken from collateral via beforeSwapReturnsDelta and forwarded to a YieldDistributor for share holders; liquidity changes update LP virtual balances and yield tracking.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
7mo
OrketHookA Uniswap v4 hook for prediction market pools that applies VALS (toxic velocity-adjusted) dynamic fees. Each swap requires a backend-signed sigma parameter; the hook computes an exponential fee (e^[λ·(Δx/L)·σ] − 1) and routes it via BeforeSwapDelta to a YieldDistributor for share token holders rather than LPs. Swaps and liquidity actions are blocked when the market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
7mo
OrketHookA Uniswap v4 hook for prediction market pools (YES/NO share tokens vs USDC collateral) that implements VALS (Volatility-Adjusted Liquidity Sensitivity) dynamic fees. Each swap requires a fresh ECDSA-signed sigma parameter from an authorized backend; fees are calculated as e^[λ*(Δx/L)*σ]-1 in basis points, captured via BeforeSwapDelta, and distributed to share token holders through a YieldDistributor contract.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
7mo
OrketHookUniswap v4 hook for prediction market pools implementing VALS (Volatility-Adjusted Liquidity Sensitivity) dynamic fees. Requires a backend-signed sigma parameter per swap; fees are computed as e^[λ*(Δx/L)*σ]-1 and captured via BeforeSwapDelta, then distributed to share token holders via a YieldDistributor rather than to LPs.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2