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
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
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
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
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
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
7mo
OrketHookA Uniswap v4 hook for prediction market YES/NO pools that computes a VALS dynamic fee per swap (e^[λ·(Δx/L)·σ]−1) from a backend-signed volatility parameter, captures it via beforeSwapReturnsDelta, and routes it to a YieldDistributor rather than LPs. Swaps require a valid ECDSA-signed sigma struct in hookData.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
7mo
OrketHookA Uniswap v4 hook for prediction market pools that applies a VALS (Volatile Automated Liquidity Sensitivity) fee on every swap. The fee is computed as e^[λ × (Δx/L) × σ] − 1 using a sigma value supplied via ECDSA-signed hookData, and is redirected to prediction market share holders via a YieldDistributor rather than to LPs.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookUniswap v4 hook for prediction market YES/NO pools implementing VALS (Volatility-Adjusted Liquidity Sensitivity) dynamic fees. Each swap requires a backend-signed sigma parameter; fees are computed via e^[λ*(Δx/L)*σ]−1 and extracted from the collateral token via beforeSwap delta, then routed to a YieldDistributor for share holders. Also tracks LP positions and updates market prices after each pool operation.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
LightspeedPoolHookTakes a fixed 0.3% fee from the canonical currency (e.g. SPEED) on every swap and forwards it to a FeeCollector address via afterSwap delta return. Tracks accumulated fees per epoch per pool for trustless ranking in launch pool competitions.
Base
beforeSwapafterSwapafterSwapDelta
2
8mo
OrketHookA Uniswap v4 hook for prediction market pools (YES/NO share tokens) implementing a VALS formula fee: fees are computed from trade size, pool liquidity, and a signed toxic-velocity parameter (sigma) provided per-swap via hookData. Captured fees are routed to a YieldDistributor for share token holders rather than LPs. Also tracks LP virtual balances and updates pool prices for yield accounting.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookA prediction market hook for Uniswap v4 pools (YES/NO outcome shares vs collateral). Implements VALS (Volatility-Adjusted Liquidity Sensitivity) fees calculated as e^[λ*(Δx/L)*σ]-1, where σ is a per-swap toxic-velocity parameter supplied as a signed off-chain oracle message. Fees are captured from the collateral token via BeforeSwapDelta and routed to a YieldDistributor rather than to LPs.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
EnhancedFeeDistributionHookV2Captures swap output fees via afterSwapReturnDelta and distributes them as a single reward token to LPs. Fees are buffered per token until a configurable threshold is met, then converted to the reward token via a nested swap on a separate pool. Uses ERC-6909 accounting and NFT-based position tracking for reward claims.
Unichain
beforeAddLiqafterAddLiqbeforeRemoveLiqafterRemoveLiq+3
2
8mo
OrketHookA Uniswap v4 hook for binary prediction market pools that requires a backend-signed VALS sigma parameter on every swap. Computes a dynamic exponential fee from trade size, liquidity, and toxic velocity, extracting it from the collateral token and forwarding it to a YieldDistributor. Tracks LP virtual balances and updates YES/NO outcome prices after each swap.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookPrediction market hook implementing VALS (Volatility-Adjusted Liquidity System) fees. Requires a backend-signed sigma parameter per swap; fees are calculated as e^[λ*(Δx/L)*σ] and routed to share token holders via a YieldDistributor rather than to LPs. Blocks swaps when the market is resolved or disputed. Tracks LP virtual balances and updates YES/NO share token prices after each swap.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookUniswap v4 hook for binary prediction market pools. Implements VALS dynamic fees (e^[λ·(Δx/L)·σ]-1) based on trade size, liquidity, and oracle-signed toxic velocity (σ), redirecting fees to share token holders via a YieldDistributor. Blocks swaps when the market is resolved or disputed, tracks LP positions, and requires a backend-signed sigma in hookData for every swap.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookPrediction market pool hook implementing VALS (Volatility-Adjusted Liquidity Scaling) fees. Requires a backend-signed toxic-velocity parameter (σ) via ECDSA in hookData for every swap; fees are computed as e^[λ*(Δx/L)*σ]-1, captured via BeforeSwapDelta, and forwarded to a YieldDistributor for prediction market share holders.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookUniswap v4 hook for prediction market AMM pools implementing VALS fees (exponential formula e^[λ·(Δx/L)·σ]−1) captured via beforeSwap delta and distributed to shareholders. Every swap requires a valid ECDSA-signed volatility parameter from a designated signer; swaps are blocked when the market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookPrediction market hook implementing VALS (Volatility-Adjusted Liquidity Sensitivity) fees for YES/NO share token pools. Every swap requires a signed sigma parameter in hookData; the hook computes an exponential fee from trade size, liquidity, and the signed toxic-velocity value, takes the fee from the USDC (collateral) side via BeforeSwapDelta, and distributes it to share token holders through a YieldDistributor contract. Swaps are blocked when the market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookA Uniswap v4 hook for binary prediction market pools (YES/NO outcomes) that applies VALS dynamic fees — calculated as e^[λ × (Δx/L) × σ] − 1 — using ECDSA-signed off-chain sigma parameters. Fees are routed to a YieldDistributor for share holders, not LPs.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
LiquidGuardUniswap v4 hook that skims a configurable BPS fee on the RARE token side of every RARE pool. Uses beforeSwap (with delta return) when RARE is the specified currency and afterSwap (with delta return) when RARE is unspecified, forwarding collected fees to a configurable FeeDistributor contract. Pool initialization is restricted to an owner-managed allowlist.
Ethereum
beforeInitbeforeSwapafterSwapswapDelta+1
2
8mo
OrketHookUniswap v4 hook for binary prediction market pools (YES/NO) that applies VALS dynamic fees using a signed off-chain sigma parameter. Fees are computed as e^[λ·(Δx/L)·σ] − 1, captured from the USDC collateral side of swaps via beforeSwapReturnsDelta, and forwarded to a YieldDistributor for share token holders. Blocks trading when the market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookUniswap v4 hook for prediction market pools that implements a VALS (Variable Automated Liquidity Sensitivity) fee formula. Each swap requires a signed off-chain sigma (toxic-velocity) parameter; fees are computed as e^[λ·(Δx/L)·σ]−1, captured via BeforeSwapDelta, and forwarded to a YieldDistributor rather than to LPs. Also gates swaps and liquidity on market resolution/dispute state.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookUniswap v4 hook for prediction market pools that gates swaps on a backend-signed VALS (Volatility-Adjusted Liquidity Spread) sigma parameter per swap. Computes an exponential fee (e^[λ·(Δx/L)·σ]−1) captured via BeforeSwapDelta and routed to share token holders through a YieldDistributor, while tracking LP positions and updating YES/NO prediction market prices after each pool action.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookA Uniswap v4 hook for binary prediction market pools that computes VALS dynamic fees (e^[λ·Δx/L·σ]−1) per swap using a backend-signed toxic-velocity parameter, routing collected USDC fees to a YieldDistributor for share token holders. Requires valid signed hookData (SignedSigma) on every swap; reverts if absent, expired, or replayed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookPrediction market hook implementing VALS (Volatility-Adjusted Liquidity Sensitivity) dynamic fee pricing for YES/NO token pools. Captures fees from swaps based on trade size, liquidity, and a cryptographically signed toxic-velocity parameter (sigma), routing fees to a YieldDistributor rather than LPs.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookA Uniswap V4 hook for prediction market pools implementing the VALS (Volatile-Adjusted Liquidity Spread) fee formula. Each swap requires a backend-signed sigma (toxic velocity) parameter; fees are calculated as e^[λ*(Δx/L)*σ]−1 and routed to a YieldDistributor rather than to LPs. Swaps and liquidity additions are blocked when the prediction market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookUniswap v4 hook for prediction market pools implementing VALS (Volatility-Adjusted Liquidity Sensitivity) fees. Calculates fees as e^[λ*(Δx/L)*σ]-1 using an off-chain ECDSA-signed toxic velocity parameter (σ); every swap must supply a valid SignedSigma in hookData. Fees are captured via BeforeSwapDelta and forwarded to a YieldDistributor for share holders.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookUniswap v4 hook for binary prediction market pools implementing VALS (Volatility-Adjusted Liquidity Sensitivity) fees. Each swap requires a signed off-chain sigma value to compute an exponential fee (e^[λ·(Δx/L)·σ]−1); collected USDC fees are routed to a YieldDistributor for share holders rather than LPs. Blocks swaps and adding liquidity when the market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookUniswap v4 hook for binary prediction market pools that applies a VALS (Volatility-Adjusted Liquidity Sensitivity) fee per swap. Fees are computed via e^[λ*(Δx/L)*σ] using trade size, pool liquidity, and a backend-signed toxic-velocity parameter (σ), then redirected to share-token holders via a YieldDistributor instead of LPs. Liquidity and swaps are blocked when the market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookPrediction market hook that applies VALS (Volatility-Adjusted LP-Sensitive) dynamic fees on swaps via signed off-chain sigma parameters. USDC fees are captured through BeforeSwapDelta and routed to a YieldDistributor for share token holders, with LP positions tracked and pool prices updated after each swap.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
OrketHookHook for binary prediction market YES/NO pools implementing VALS dynamic fee pricing (e^[λ·(Δx/L)·σ]−1) with off-chain ECDSA-signed sigma values. Swap fees are captured via BeforeSwapDelta and routed to a YieldDistributor for share holders; the hook also checkpoints yield and updates market prices after each swap.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
YieldHarvestingHookHarvests pending yield from ERC4626 vault wrappers for each pool currency and donates the accrued interest to LPs via poolManager.donate() before each swap and liquidity modification, enabling LPs to earn lending protocol yield on top of swap fees.
Unichain
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap
2
8mo
OrketHookUniswap v4 hook for prediction market YES/NO share pools. Implements VALS dynamic fees (e^[λ*(Δx/L)*σ]-1) based on off-chain signed toxic velocity parameters; fees are taken from the collateral (USDC) side and forwarded to a YieldDistributor rather than LPs. Requires a backend-signed SignedSigma in hookData for every swap.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
DynamicFeeHookA hook that overrides the pool's LP fee on every swap with a fixed fee (set as a whole percentage at deployment), and restricts liquidity additions to only the original pool creator identified by tx.origin at initialization time.
Ethereum
beforeInitafterInitbeforeAddLiqbeforeSwap
2
8mo
OrketHookA Uniswap v4 hook for prediction market pools that implements VALS (Volatility-Adjusted Liquidity Sensitivity) fees. Each swap requires a backend-signed sigma parameter; the hook computes an exponential fee based on trade size, pool liquidity, and toxic velocity, then captures the fee via BeforeSwapDelta and routes it to a YieldDistributor for share holders rather than LPs.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
ClawclickHookA two-phase token launch hook that imposes a decaying tax (up to 50%, floor 1%) and per-user position limits in Phase 1, graduating to a 1% LP fee model after 16x market cap growth. Fees are split 70/30 between the token beneficiary and the platform, with configurable multi-wallet fee distribution.
Base
beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2
2
8mo
OrketHookPrediction market pool hook using the VALS formula to compute a per-swap fee based on a cryptographically signed toxic velocity parameter (σ). Fees are taken from the collateral token via BeforeSwapDelta and redistributed to share token holders through a YieldDistributor rather than to LPs. Swaps are blocked when the market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
8mo
BlockAddLiquidityHookRecords tx.origin as the pool creator on initialization; restricts beforeAddLiquidity so only the original creator's EOA transaction origin can add liquidity, reverting with AddLiquidityBlocked for all others.
Base
afterInitbeforeAddLiq
2
8mo
AICEHookA Uniswap v4 hook for the AICE platform that emits events on pool initialization and swaps for real-time price indexing, and restricts liquidity additions to a designated factory address when factory lock is enabled.
Ethereum
afterInitbeforeAddLiqafterAddLiqafterRemoveLiq+5
2
8mo
OrketHookA prediction market hook implementing VALS (Volatility-Adjusted Liquidity-Sensitive) fees. Each swap requires a fresh ECDSA-signed volatility parameter (sigma) from a trusted signer; the fee is computed as e^(λ·Δx/L·σ)−1 and forwarded to a YieldDistributor for share holders rather than LPs. Swaps and liquidity additions are blocked when the market is resolved or disputed.
Arbitrum
beforeAddLiqafterAddLiqafterRemoveLiqbeforeSwap+2
2
9mo
VolatilityDynamicFeeLimitOrderHookSingleton hook for Unilaunch pools that dynamically adjusts LP fees using a volatility oracle and executes limit orders on every swap. A surge multiplier is applied on top of the base fee after high-volatility events (CAP detections), decaying linearly over a configurable duration. New pools are blocked from swapping until the block after registration.
Unichain
beforeInitbeforeSwapafterSwap
2
9mo
UpegAllows the deployer to define SVG data and read it using a specified seed. Stores metadata for collectible ERC-20 tokens. Calls start on the configured token when first liquidity is added, and updates randomSeed on swaps.
Ethereum
afterAddLiqafterSwap
2
9mo
EQTBuySellDynamicFeeHookApplies asymmetric LP fees on EQT/USDT pools — 1% when buying EQT and 4% when selling EQT — by returning an lpFeeOverride in beforeSwap. Reverts on any pool that is not the EQT/USDT pair or not configured as a dynamic fee pool.
BSC
beforeSwap
2
9mo
VolatilityDynamicFeeLimitOrderHookUnilaunch singleton hook that applies volatility-based dynamic LP fees with surge pricing triggered by tick-change-per-block thresholds (CAPs), and executes limit orders after each swap. Trading is blocked for one block after pool registration via a block.number gate.
Unichain
beforeInitbeforeSwapafterSwap
2