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
Type
Safety
Activity
Permissions
Hooks with all of the selected permissions:
Sort
AgeHookChainPermissionsPools
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 0x1944…dac4Runs code on every swap · Can take tokens from swaps · Sets its own swap fee · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation Base afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2 2 6mo 0x0ee4…d000Sets its own swap fee · Runs at pool creation Arbitrum afterInit 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 6mo GetGoatedLaunchHookRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Can block LP withdrawals · Gates who can add liquidity Base beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+1 2 6mo 0xcefa…4044Runs code on every swap · Can take tokens from swaps Base afterSwapafterSwapDelta 2 6mo 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 0xc0e5…40c4Runs code on every swap · Can take tokens from swaps BNB beforeSwapafterSwapafterSwapDelta 2 7mo 0x7cb9…80c0Runs code on every swap Base beforeSwapafterSwap 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 0x1198…40c4Runs code on every swap · Can take tokens from swaps BNB beforeSwapafterSwapafterSwapDelta 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 0x3155…c080Runs code on every swap Base beforeSwap 2 7mo 0xe5d6…c044Runs code on every swap · Can take tokens from swaps Base afterSwapafterSwapDelta 2 7mo 0xbadb…0840Runs code on every swap · Gates who can add liquidity Base beforeAddLiqafterSwap 2 7mo BasedBidHookRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Runs at pool creation BNB afterInitbeforeSwapafterSwapswapDelta+1 2 7mo 0x05fa…e8ccRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Gates who can add liquidity · Runs at pool creation Base beforeInitbeforeAddLiqbeforeSwapafterSwap+2 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 BasedBidHookRuns code on every swap · Can take tokens from swaps · Sets its own swap fee · Runs at pool creation Base afterInitbeforeSwapafterSwapswapDelta+1 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 0xe642…8044Runs code on every swap · Can take tokens from swaps Ethereum afterSwapafterSwapDelta 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 7mo OrketHookA Uniswap v4 hook for prediction market pools that implements VALS (Volatility-Adjusted Liquidity Sensitivity) fees, computed as e^[λ*(Δx/L)*σ]-1 and captured via beforeSwap delta. Every swap requires a cryptographically signed volatility parameter (σ) from a trusted signer encoded in hookData; swaps revert if the market is resolved or disputed. Arbitrum beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2 2 7mo Alphix LVR Fee HookDynamic LP fee hook that applies admin-controlled per-pool LP fees via `updateDynamicLPFee` and charges a configurable per-pool protocol fee on each swap's output via `afterSwap` with delta return. Accumulated protocol fees are held as ERC-6909 claims and can be swept to a treasury address by calling `handleHookFees()`. Base afterInitafterSwapafterSwapDelta 2 7mo OrketHookA prediction market pool hook implementing VALS (Volatility-Adjusted Liquidity Sensitivity) fees. Every swap requires an ECDSA-signed sigma parameter in hookData; fees are computed via an exponential formula (e^[λ·(Δx/L)·σ]−1) and routed to share holders through a YieldDistributor rather than to LPs. Arbitrum beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2 2 7mo 0x30b2…0044Runs code on every swap · Can take tokens from swaps Base afterSwapafterSwapDelta 2 7mo OrketHookPrediction market pool hook implementing VALS dynamic fees (e^[λ·(Δx/L)·σ]−1) based on backend-signed toxic-velocity (sigma) parameters, capturing fees from the collateral (USDC) side and redistributing them to share holders via YieldDistributor. Tracks LP positions and updates prediction market YES/NO prices after each swap. Arbitrum beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2 2 7mo 0xcb82…c044Runs code on every swap · Can take tokens from swaps Base afterSwapafterSwapDelta 2 7mo 0x9de5…c888Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity BNB beforeAddLiqbeforeSwapswapDelta 2 7mo OrketHookPrediction market hook implementing VALS (Volatility-Adjusted Liquidity Sensitivity) fees. Every swap requires a backend-signed oracle sigma parameter; fees are computed as e^[λ*(Δx/L)*σ]−1 and redistributed to prediction market share holders via a YieldDistributor rather than to LPs. Liquidity and swaps are blocked once the market is resolved or disputed. Arbitrum beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2 2 7mo OrketHookA Uniswap v4 hook for prediction market pools that applies VALS-formula fees (based on trade size, liquidity, and a signed volatility parameter σ from a trusted oracle) to every swap. Fees are taken from the collateral token via BeforeSwapDelta and distributed to share-token holders through a YieldDistributor; LP positions and yields are tracked across add/remove liquidity events. Arbitrum beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2 2 7mo 0x8f06…27f1Runs code on every swap · Sets its own swap fee · Can block LP withdrawals · Takes a cut when LPs withdraw · Runs at pool creation · Handles donations to LPs Ethereum beforeInitafterAddLiqbeforeRemoveLiqafterRemoveLiq+5 2 7mo OrketHookUniswap v4 hook for prediction market YES/NO pools implementing VALS (Volatility-Adjusted Liquidity Sensitivity) dynamic fees. Requires a backend-signed sigma value in hookData for every swap; captures fees via beforeSwapReturnsDelta and distributes them to share token holders through a YieldDistributor. Blocks swaps and liquidity operations when the market is resolved or disputed. Arbitrum beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2 2 7mo 0x5119…4a00Can block LP withdrawals · Gates who can add liquidity Unichain beforeAddLiqbeforeRemoveLiq 2 7mo OrketHookPrediction market pool hook implementing VALS dynamic fees: charges each swap a fee based on trade size, liquidity, and a backend-signed toxic velocity parameter (sigma), routing fees to share token holders via a YieldDistributor. Tracks LP positions and updates YES/NO outcome prices after each swap. Arbitrum beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2 2 7mo MaybeHookA probabilistic Uniswap v4 hook for an ETH/MAYBE pool that implements "maybification": when a user opts in via hookData on an ETH→MAYBE exactIn swap, the MAYBE output is burned and Chainlink VRF randomness is used to determine whether the user wins a multiplied MAYBE payout (based on a configurable probability in basis points) or loses. LP fees are donated as MAYBE to liquidity providers. Base beforeInitbeforeSwapafterSwapswapDelta+1 2 7mo OrketHookUniswap v4 hook for binary prediction market pools (YES/NO) that implements VALS dynamic fees, computing fees as e^[λ·(Δx/L)·σ]−1 using a backend-signed volatility parameter (σ). Fees are routed to a YieldDistributor rather than LPs; swaps require a valid signed sigma payload in hookData and revert if the market is resolved or disputed. Arbitrum beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2 2 7mo OrketHookUniswap v4 hook for prediction market pools (YES/NO outcome tokens) that implements VALS (Volatility-Adjusted Liquidity Sensitivity) dynamic pricing. Requires a backend-signed sigma parameter per swap to compute an exponential fee captured from the USDC collateral side and distributed to share holders via a YieldDistributor; swaps are blocked when the market is resolved or disputed. Arbitrum beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2 2