UniHooks

Every Uniswap v4 hook, live

Every hook attached to at least one Uniswap v4 pool, graded and explained in plain English, with the pools that use it.

AgeHookChainPermissionsPools
22d TaxHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation Ethereum beforeInitbeforeSwapafterSwapswapDelta+1 7 25d TraitsHookRuns code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+4 7 30d HookFunHookRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 7 48d TescoHookRuns code on every swap · Can take tokens from swaps Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 7 53d BoobyHookRuns code on every swap · Can take tokens from swaps Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 7 54d 0x824a…c088Runs code on every swap · Can take tokens from swaps · Sets its own swap fee Ethereum beforeSwapswapDelta 7 59d CharityHookA shared Uniswap v4 hook for charity token launches that charges a 1–10% trading tax (with an anti-snipe surcharge that decays over a configurable window) always in the pool's paired asset, accruing fees as ERC-6909 claims per pool, then distributing them among a protocol treasury (30%), a per-launch charity, and the token creator on sweep. Ethereum beforeInitbeforeSwapafterSwapswapDelta+1 7 2mo 0xdf5d…ca44Runs code on every swap · Can take tokens from swaps · Can block LP withdrawals · Gates who can add liquidity Ethereum beforeAddLiqbeforeRemoveLiqafterSwapafterSwapDelta 7 3mo 0x0b98…1040Runs code on every swap · Runs at pool creation Ethereum afterInitafterSwap 7 3mo UniswapV2AggregatorRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation Ethereum beforeInitbeforeAddLiqbeforeSwapswapDelta 7 3mo AtomicLimitOrderHookAtomicLimitOrderHook atomically combines a swap and a limit-order placement in a single transaction, extending OpenZeppelin's LimitOrderHook. It prevents front-running between the two steps and adds guards that keep order accounting consistent under aggregator-style multi-hop swaps. Uses the AFTER_INITIALIZE and AFTER_SWAP flags; ordinary swaps through the pool require no custom hook data. Ethereum afterInitafterSwap 7 4mo 0xdabe…c0c4Runs code on every swap · Can take tokens from swaps Ethereum beforeSwapafterSwapafterSwapDelta 7 5mo LodeHookA Uniswap v4 hook that captures top-of-block LVR and routes it through a per-pool splitter The first swap of each block on an opted-in pool pays an additional premium scaled by `premiumBps`. Subsequent swaps in the same block pay only standard pool fees. A `minAuctionInputSize` floor defeats dust-disarm attacks, sub-economic swaps skip the auction slot without consuming it. Safety. - Pause guardian (separate multisig, kills capture globally in one tx) - Per-pool deactivation - 24h timelock ... Ethereum beforeSwapswapDelta 7 8mo ClankerHookStaticFeeA Uniswap v4 hook for Clanker token pools that enforces separate configurable static LP fees for buying vs. selling the Clanker token, collects a 20% protocol fee on each swap via beforeSwap/afterSwap delta returns, and activates an optional MEV-protection module during the first 2 minutes after pool creation. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 7 17mo 0x0005…0040Runs code on every swap Ethereum afterSwap 7 9d 0x824c…e0ccRuns code on every swap · Can take tokens from swaps · Runs at pool creation Ethereum beforeInitbeforeSwapafterSwapswapDelta+1 6 11d 0xb45e…2aa0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 6 16d LaunchHookRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 6 19d OneHookRuns code on every swap · Can take tokens from swaps Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 6 21d 0xdc76…2ac0Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 6 50d FewV4ShellHookRoutes all swaps through a FewToken-wrapped LP pool via an atomic wrap/swap/unwrap sequence in beforeSwap, returning the full fill as a beforeSwap delta so the shell pool itself is never the execution venue. Reverts if no LP route or sufficient inventory is available; hookData is ignored; an owner can register explicit LP pool mappings. Ethereum beforeInitbeforeSwapswapDelta 6 51d ArcmanHookRuns code on every swap · Can take tokens from swaps Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 6 52d LaunchFeeHookA Uniswap v4 hook that charges a configurable fee (up to 5%) on the quote asset of every swap for launch pools, replacing the LP fee. Supports dual-pool "mirror" swaps that route a portion of each trade through a partner pool to minimize price divergence between paired markets. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 6 58d StockMemeV4FeeHookA fee hook for StockMeme pools that charges 1.5% per swap (1.0% to the pool creator, 0.5% to the protocol treasury), denominated in the pool's quote asset. Fees are collected via swap deltas and claimable by the creator on-chain, with optional X-linked claims via EIP-712 signatures. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 6 2mo SimHookDynamic-fee hook that prices each swap using simulated price impact and a time-decaying cumulative price imbalance, with JIT liquidity protection and a governance-configurable protocol fee taken via afterSwap hook delta. Ethereum beforeInitafterInitbeforeAddLiqafterAddLiq+4 6 2mo 0xb999…ea80Runs code on every swap · Can block LP withdrawals · Gates who can add liquidity · Runs at pool creation Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap 6 2mo ArrakisPrivateHookA Uniswap v4 hook for Arrakis private vaults that overrides LP fees directionally (separate fees for zeroForOne and oneForZero swaps) via the beforeSwap callback, and restricts liquidity additions to only the vault's authorized module. Ethereum beforeAddLiqbeforeSwap 6 2mo SockMarketHookTriggers liquidity collection from a registered locker contract after each non-zeroForOne swap. Pools must be registered by a factory-authorized locker before swaps can proceed; unregistered pools revert. Protocol-initiated swaps (identified by hookData marker from the locker) skip collection to avoid recursion. Ethereum afterSwap 6 4mo JBUniswapV4HookA Uniswap V4 hook that routes exact-input swaps to either the V4 pool or a Juicebox project terminal, choosing whichever venue offers more output, using a 30-minute TWAP oracle for manipulation-resistant comparison. Also maintains a TWAP oracle ring buffer queryable by external contracts such as buyback hooks. Ethereum afterInitafterAddLiqafterRemoveLiqbeforeSwap+2 6 4mo JBUniswapV4HookA Uniswap v4 hook that routes swaps between the V4 pool and Juicebox project terminals, selecting whichever venue gives the user more output tokens. Uses a 30-minute TWAP oracle to compare routes for buy-side (pay into project for tokens) and sell-side (cash out project tokens) swaps. Also serves as a TWAP oracle for external contracts via an IGeomeanOracle-compatible interface. Ethereum afterInitafterAddLiqafterRemoveLiqbeforeSwap+2 6 4mo EquityPegHookA hook that acts as an equity-pegged market maker, quoting token↔USDC swaps at a price derived from an external equity/stock feed. Liquidity deposits are fully blocked; each swap is settled in full via beforeSwapReturnDelta using locked ERC-6909 inventory seeded at graduation. Swaps revert when the feed is stale or not-ok, or when the pool is frozen by the factory admin. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 6 5mo 0xe1d4…c088Runs code on every swap · Can take tokens from swaps Ethereum beforeSwapswapDelta 6 5mo 0x8996…9040Runs code on every swap · Runs at pool creation Ethereum afterInitafterSwap 6 5mo FarmHookA Uniswap v4 hook that acts as a yield farm and liquidity manager, enforcing full-range liquidity added only through the hook. Charges a 1% swap fee routed to a fee recipient, distributes minted reward tokens via a Synthetix-style accumulator with tiered emissions (6.6M/day bootstrap, then 660k/day), and applies a 10% claim tax redistributed to current LPs. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 6 5mo 0x2efa…4088Runs code on every swap · Can take tokens from swaps Ethereum beforeSwapswapDelta 6 5mo UNI20HookA BRC-20-style inscription protocol layered on Uniswap v4. Users embed DEPLOY, MINT, or TRANSFER operations in swap hookData; MINT and DEPLOY ops extract ETH fees from the swap via BeforeSwapDelta and poolManager.take(), minting ERC-1155 tokens to the swapper's EOA. Swaps without hookData pass through normally. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 6 5mo OneTimeLaunchHookTemplateA one-time launch hook that restricts pool initialization and initial liquidity addition to occur only once per token (currency1). In afterSwap, gates one-direction swaps (non-zeroForOne) to an allowlist of addresses checked via tx.origin when the restriction is enabled per token. Ethereum beforeInitbeforeAddLiqafterSwap 6 5mo HookFeeCharges a configurable basis-point fee on token1-to-token0 swaps by intercepting the output amount in afterSwap and redirecting the fee portion to an immutable feeRecipient via afterSwapReturnsDelta. The fee rate is owner-adjustable up to 10,000 bps. Ethereum afterSwapafterSwapDelta 6 6mo 0xe503…8280Runs code on every swap · Sets its own swap fee · Can block LP withdrawals Ethereum beforeRemoveLiqbeforeSwap 6 6mo 0xc81f…68e8Runs code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation · Handles donations to LPs Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 6 7mo FreeholdHookRuns code on every swap · Can take tokens from swaps Ethereum beforeSwapswapDelta 6 8mo TokiHookA custom AMM hook implementing Pendle-style yield trading for Principal Tokens (PTs) on Uniswap V4. Uses a custom curve with beforeSwapReturnsDelta to fully handle swap execution, disables swaps after PT maturity via block.timestamp expiry, and optionally rehypothecates idle liquidity into ERC4626 vaults to boost LP yields. Ethereum afterInitbeforeAddLiqbeforeSwapswapDelta 6 8mo ClankerHookStaticFeeA Uniswap v4 hook that applies separate static LP fees for buying and selling a designated clanker token, taking a 20% protocol cut on the paired-token side of each swap via beforeSwap/afterSwap delta adjustments. Includes a time-limited MEV protection module active for up to 2 minutes post-pool-creation. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 6 8mo 0x3c8f…6088Runs code on every swap · Can take tokens from swaps · Runs at pool creation Ethereum beforeInitbeforeSwapswapDelta 6 11mo 0xa8a1…2088Runs code on every swap · Can take tokens from swaps · Runs at pool creation Ethereum beforeInitbeforeSwapswapDelta 6 13mo TokenWorks Hook v2A Uniswap v4 hook for NFTStrategy trading pools that applies time-decaying buy fees (starting at 99% and decreasing to 10% as blocks accumulate) and a flat 10% sell fee, collecting fees via afterSwap delta returns and distributing them to configured recipients. Ethereum beforeInitafterAddLiqafterSwapafterSwapDelta 6 13mo TokenWorks Hook v4A hook for the TokenWorks NFT strategy ecosystem that restricts pool initialization and liquidity addition to the NFTStrategyFactory, and collects a configurable swap fee (default 10%, with a 95% initial buy fee) distributed among the collection owner, a protocol fee address, and PNKSTR token holders. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+1 6 8d 0x4e7b…6040Runs code on every swap · Runs at pool creation Ethereum beforeInitafterSwap 5 8d SatsfunHookRuns code on every swap · Can take tokens from swaps · Runs at pool creation Ethereum beforeInitbeforeSwapafterSwapswapDelta+1 5 14d LaunchHookRuns code on every swap · Can take tokens from swaps · Gates who can add liquidity · Runs at pool creation Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 5