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