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 1
Type
Safety
Activity
Permissions
Hooks with all of the selected permissions:
Sort
AgeHookChainPermissionsPools
5mo RefractHookA custom-curve hook that acts as the sole market maker for the REFRACT (RFR) token using a linear bonding curve. ETH buys release tokens from the hook's inventory; RFR sells are paid from the ETH reserve and sold tokens are queued for permanent burn, making the token supply monotonically deflationary. Liquidity provision by external LPs is disabled. Ethereum beforeInitbeforeAddLiqbeforeSwapswapDelta 1 5mo ProofOfTimeERC20 token (symbol: POT, 21M fixed supply) that doubles as a Uniswap v4 hook. The afterSwap callback is entirely passive — it returns the selector with a zero delta and performs no computation — making the contract a valid hook address without altering swap behavior. The owner can seed an ETH/POT pool via addLiquidity and manage protocol-owned liquidity. Holders can burn POT via burn() or burnFrom(). Ethereum afterSwap 1 5mo ConvergeHookApplies a 5% tax on all non-excluded swaps by extracting the tax amount from the input currency via BeforeSwapDelta and forwarding it to a configurable vault. Includes an owner-managed tax-exclusion allowlist and a governance-controlled killswitch bit in cfg that can halt all swaps. Ethereum beforeSwapswapDelta 1 5mo OnePlantV4SwapHookOnePlant protocol hook for a NATIVE/UP token pool that collects burn fees on UP token swaps (burning UP tokens and minting OP tokens to the recipient) and team fees on native token swaps. Restricts swaps to a configurable trusted swap helper address. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 1 5mo XyraERC20 token (XYRA) and Uniswap v4 hook combined. The beforeSwap hook reverts all swaps until the owner calls enableTrading(), preventing snipers at launch. Once enabled, swaps execute as a standard pool. Owner retains full control of protocol-owned liquidity (add, collect fees, remove). Ethereum beforeSwap 1 5mo RitualA leveraged liquidity hook where users stake ETH to create recursive LP positions (Disciples), represented as soulbound ERC-6909 tokens. Enforces a 20% launch tax and per-swap size caps on external swaps (liftable by an admin); includes buy-and-burn and permissionless liquidation mechanics. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 1 5mo SpectrumHookCharges a 3% (300 bps) tax on all non-excluded swaps by taking the fee from the input currency in beforeSwap via BeforeSwapDelta and routing it to a vault. The owner can exclude addresses from the tax and has an emergency kill switch via a config bit. Ethereum beforeSwapswapDelta 1 5mo PsycheA Uniswap v4 hook permanently bound to a single pool containing the USEPOD ERC-20 token. Applies a variable swap surcharge (5–50 bps) via BeforeSwapDelta in beforeSwap, scaled by each swapper's contribution coefficient (derived from token tenure, balance weight, and swap witness count), routing the surcharge differential back to liquidity providers. Ethereum afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2 1 5mo QuasarHookA Uniswap v4 hook that burns 1% of its own QUASAR/PRISM token on every swap (taken via beforeSwap/afterSwap return deltas) and distributes 4% LP fees to rank-weighted NFT holders. Each whole QUASAR token unit held automatically mints a corresponding facet NFT, with earlier-minted facets assigned higher rank-based weights for proportionally greater fee shares. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 1 5mo TheTrackSingle-sided token launch hook that manages leveraged liquidity positions (runners) with recursive LP loops up to 3x depth. Applies a 20% tax on swaps when restricted (before openTrack() is called), routing tax proceeds to the trackMaster; also enforces per-swap transaction size limits during the restricted phase. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 1 5mo EngineA protocol hook managing a SOUL/ETH pool with a built-in leverage protocol. Applies 10% buy and sell taxes routed to an operator while a `limited` flag is active, enforces a per-transaction buy cap of 10k SOUL, and blocks direct LP modifications — restricting all liquidity management to internal protocol operations. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 1 5mo FootbullHookA Uniswap v4 hook for an ETH/TEAM pool that deducts a 2.5% tax from each swap's input, routing proceeds to a configurable prize pool and treasury (owner-tunable split), with an anti-snipe launch guard that caps buys at 37.44 TEAM for the first 15 minutes after the first swap. Ethereum beforeSwapswapDelta 1 5mo JurassicPlatformV4HookRoutes swaps through Jurassic Protocol's external core pools instead of standard Uniswap v4 AMM liquidity, using beforeSwapReturnsDelta to fully handle token settlement. Supports only exact-input swaps; direct liquidity provision via Uniswap v4 is disabled. BSC beforeAddLiqbeforeSwapswapDelta 1 5mo WontonHookRestricts liquidity additions to a single authorized manager address and gates buy-side swaps behind a governance-controlled `tradingEnabled` flag. Pre-launch exact-input buys are punished: the input token is taken but output is forced to zero via beforeSwapReturnsDelta. Base beforeAddLiqbeforeSwapswapDelta 1 5mo PsycheAn ERC20 token (ECHO) combined with a Uniswap v4 hook that applies variable swap surcharges (5–50 bps) via beforeSwapReturnsDelta, scaled by each swapper's contribution coefficient — a weighted product of token tenure, balance weight, and swap witness count. Higher-coefficient holders pay lower surcharges; the surcharge differential routes back to liquidity providers. Ethereum afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+2 1 5mo FootbullHookApplies a 2.5% input tax on every ETH/TEAM swap, splitting proceeds between a prize pool and a project treasury. During the first 15 minutes after launch, enforces an anti-snipe cap that reverts buy orders exceeding 3% of token supply (37.44 TEAM). Ethereum beforeSwapswapDelta 1 5mo YieldTokenERC20 token that also serves as a Uniswap v4 hook to self-host its own liquidity pool. Token holders earn ETH yield proportional to their token balance, tracked via companion YieldNFT share tokens. The afterSwap callback is a no-op; the hook flag exists solely to allow the contract to act as its own pool hook. Ethereum afterSwap 1 5mo CasteHookA Uniswap v4 hook for the $CASTE token that implements a flip-card NFT game. Buy swaps mint sealed NFT cards redeemable for CASTE token rewards; swap fees fund hourly and FOMO lottery pools. Includes anti-JIT liquidity lockout. Ethereum beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+2 1 5mo CasteHookUniswap v4 hook for the $CASTE token that charges fixed buy/sell fees via BeforeSwap/AfterSwap deltas, mints collectible flip cards on buys, runs an hourly blockhash-based lottery funded by swap fees, and enforces anti-JIT liquidity protection via per-position block-based minimum hold periods. Ethereum beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap+2 1 5mo PrismCombinedTokenHookA self-contained ERC20 token and Uniswap v4 hook that collects a 1.2% fee on buys (in native ETH, stored for external reflection token buybacks) and burns 1.2% of the token on sells. Periodically triggers a buyback of an external reflection token that is distributed to holders. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 1 5mo VitaHookUniswap v4 hook that gates trading on official VITA pools until the token is started, applies a time-based tiered dynamic LP fee (decreasing from 5% to 1% over 7 hours), and refreshes a random seed after each swap to support token launch mechanics. Ethereum beforeSwapafterSwap 1 5mo BSC_FeeCaptureHookA hook that applies a dynamic LP fee (0.5% base, 2.0% when the current tick drops ≥300 ticks below the last stable tick) and, after each swap, extracts fee amounts from the pool via poolManager.take() and transfers them directly to a hardcoded owner address. BSC beforeInitafterInitbeforeSwapafterSwap 1 5mo LendingHookV4A combined lending and AMM hook where LPs deposit ETH and TOKEN into a hook-managed full-range V4 position and receive ERC20 shares, while borrowers lock TOKEN as collateral to borrow ETH at 40% LTV with interest. The hook also skims a 0.5% protocol fee from swaps via BeforeSwapDelta/AfterSwapDelta and supports permissionless liquidations of underwater positions. Ethereum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 1 5mo LendingHookV4A combined ETH/TOKEN AMM and on-chain lending protocol that self-manages a full-range liquidity position. Takes a 0.5% protocol swap fee via BeforeSwapDelta/afterSwapReturnsDelta returns and blocks swaps in the same block as a liquidation to prevent sandwich attacks. Ethereum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 1 5mo LendingHookV4A hook-based lending AMM where LPs deposit ETH and TOKEN into a full-range Uniswap v4 position and borrowers lock TOKEN collateral to receive ETH at 40% LTV with interest accrual. Includes permissionless liquidations, protocol swap fee skimming via BeforeSwapDelta/AfterSwapDelta, and sandwich-defense price snapshots that block borrows and swaps in the same block as a liquidation. Ethereum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 1 5mo AuroraHookA Uniswap v4 hook implementing a loyalty-based dynamic fee system. Traders accrue a "lumi" score based on time (blocks) elapsed since their last swap, scaled by global trading activity, unlocking lower swap fees (1.00% down to 0.10% across four tiers). Sellers who exit within 24 hours of their last buy pay a 15% impatient tax on ETH output, which is redistributed to registered Stellar-tier Archiver holders. Ethereum afterInitbeforeSwapafterSwapafterSwapDelta 1 5mo PrismReflectionV4HookCollects a 1.2% fee on buys (ETH into a reflection pot) and sells (tokens sent to the token contract). Every 20 swaps a buyback is queued; execution needs a manual buyAndReflectPrism() call that buys back and distributes the token. Same-block-as-buyback sells revert; exact-output unsupported. afterSwap also gates sells: when reflectionBase[token] is set, non-canReflect addresses cannot sell - anyone can enable it via excludeReflections(), only genesisAddress disables it. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 1 5mo Mechanic HookA Uniswap v4 hook for a designated token/WETH pool that gates swaps behind a liquidity bootstrap phase, applies time-decaying WETH-denominated fees on buys and sells via swap delta overrides, tracks epoch market state and all-time-high price candidates, and executes automated token buybacks and burns funded by collected fees. Ethereum beforeInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+3 1 5mo NyxoraTaxHookV2Takes a 1% fee from the output side of every swap (buy or sell) and transfers it to a configurable treasury address using afterSwap delta returns. Ethereum afterSwapafterSwapDelta 1 5mo NyxoraTaxHookA 1% buy/sell tax hook for a NYX/ETH Uniswap v4 pool that always collects tax in the ETH/WETH side. In beforeSwap it skims ETH on exact-input buys; in afterSwap it skims ETH on exact-input sells and exact-output buys. Collected fees are sent via poolManager.take() directly to a configurable treasury address. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 1 5mo LendingHookV4A Uniswap v4 hook implementing a combined AMM and lending market for ETH/TOKEN pairs. LPs provide full-range liquidity and earn auto-compounded swap fees; borrowers lock TOKEN collateral at 40% LTV to borrow ETH, with on-chain interest accrual, utilization-curve rates, and permissionless liquidations. Ethereum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 1 5mo LendingHookV4A full-range ETH/TOKEN Uniswap v4 LP vault with integrated lending: LPs deposit to earn swap fees and origination fees, borrowers lock TOKEN collateral to borrow ETH at 40% LTV, and a 0.5% protocol fee is skimmed from every swap via BeforeSwapDelta and AfterSwapDelta. Includes borrow/repay/liquidate mechanics with a manipulation-resistant price snapshot system. Ethereum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 1 5mo LendingHookV4A combined lending AMM hook that manages a shared full-range Uniswap v4 LP position. LPs deposit ETH/token liquidity; borrowers pledge token collateral (40% LTV) to receive ETH loans; liquidators repay underwater positions. The hook collects a protocol swap fee via beforeSwap/afterSwap delta returns and blocks external swaps in any block containing a liquidation. Ethereum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 1 5mo LendingHookV4ERC4626-style ETH/TOKEN LP vault with embedded lending: LPs deposit to earn swap fees, borrowers post TOKEN collateral for ETH loans at 40% LTV, and liquidators close underwater positions. The hook skims a 0.5% protocol fee on every swap via BeforeSwapDelta/AfterSwapDelta, and blocks swaps in any block that contained a liquidation. Ethereum beforeInitafterInitbeforeAddLiqbeforeRemoveLiq+4 1 5mo ShitGiftHookAn afterSwap hook that enqueues a commit-reveal lottery ticket for qualifying SHIT token buys (≥ 42069 SHIT) on the canonical pool. Tickets are settled 2+ blocks later using blockhash as RNG, giving a 1% chance of receiving 1 ether of a community-deposited art token (ERC-20/ERC-1155). Winners face a 24-hour cooldown; payouts go to tx.origin. Ethereum afterSwap 1 5mo DaemonsHookClaims a single canonical ETH/DAEMON v4 pool by enforcing initialization parameters (fee, tick spacing, starting price) in beforeInitialize. After each swap, folds the direction, token deltas, block number, and swap count into a rolling keccak256 hash stored on-chain as "corruption" state, emitted via Mutation events for use by external ERC20/ERC721 NFT renderers. Ethereum beforeInitafterSwap 1 5mo P2HookA swap-tax hook for the $P2/WETH pool on Base that deducts a 5% tax on each swap's input amount via beforeSwap delta. WETH taxes are split 40/40/20 to buyback, claim pool (lottery), and ops wallets; $P2 taxes go entirely to a buyback vault for burning. Certain addresses can be excluded from tax by the owner. Base beforeSwapswapDelta 1 5mo KilobitHookBuy/sell tax hook for the Kilobit protocol that charges ETH fees on every swap and distributes them to patient holders and protocol rewards. Manages a "rot" decay mechanism that progressively breaks token bits over ~4-day cycles, with mode-based inventory selection (cursor, clean-only, broken-only, patient-only) for buys and sells. Ethereum beforeInitafterInitbeforeAddLiqafterAddLiq+10 1 5mo BuffetAMMHook that uses before swap deltas to swap with offchain quoted prices Base beforeSwapswapDelta 1 5mo DarkHookA Uniswap v4 hook for the $DARK token that applies a 1% buy-side tax: when DARK is the output token of a swap, 1% is taken via afterSwap and forwarded to a CrystalForge contract for distribution to Crystal NFT holders pro-rata by bonded power. Sells are tax-free. The forge address is set once by the deployer and then permanently frozen. Ethereum afterInitafterSwapafterSwapDelta 1 5mo HatTrickHookUniswap v4 afterSwap hook for a $HAT/WETH pool that captures a configurable BPS fee on each swap via afterSwapReturnsDelta, then splits it three ways: to a prize vault, burned (directly for HAT fees or deferred via buybackAndBurn() for WETH fees), and to a treasury address. Fee rate and split ratios are owner-configurable within set bounds. Ethereum afterSwapafterSwapDelta 1 5mo EulerSwapA custom-curve AMM hook that fully executes swaps in beforeSwap using an Euler-vault-backed bonding curve, bypassing standard concentrated liquidity. Token flows are routed through Euler lending vaults, with an optional time-based expiration that blocks swaps after a configurable timestamp. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 5mo EulerSwapA custom-curve AMM hook backed by Euler lending vaults. In beforeSwap, it computes quotes against the EulerSwap curve, takes input tokens into the vault, withdraws output tokens from the vault, and returns a BeforeSwapDelta to fully handle swap accounting — bypassing Uniswap v4's internal liquidity. Swaps are blocked after a configurable expiration timestamp. Arbitrum beforeInitbeforeAddLiqbeforeSwapbeforeDonate+1 1 5mo KPEGHookUpdates an on-chain randomness seed after each swap in pools containing the configured token, using block variables and swap metadata. On the first liquidity addition to a qualifying pool, calls start() on a lifecycle token contract. Base afterAddLiqafterSwap 1 5mo SpyHookPasses ordinary swaps through with zero fee impact; when the designated SpyBatch settler swaps with non-empty hookData, takes a 1% fee (COVERT_FEE_BPS) from the input currency and routes it to a vault address for burning. Ethereum beforeSwapswapDelta 1 5mo SatHookA bonding-curve hook that fully overrides Uniswap v4 swaps with no AMM liquidity: buys mint a SAT token via a forward curve and sells burn SAT via an inverse curve, with ETH reserves accumulated by the hook. Liquidity additions are permanently forbidden; the hook acts as the sole counterparty and enforces a per-block cooldown between buys and sells. BSC beforeInitbeforeAddLiqbeforeSwapswapDelta 1 5mo VerifyHookA Uniswap v4 hook that applies a 1% swap tax: on buys (ETH→token), 1% of received tokens is burned via the token contract; on sells (token→ETH), 1% of received ETH is forwarded to a hardcoded deployer address. Base afterInitafterSwapafterSwapDelta 1 5mo ULiquidA minimal observation-only Uniswap v4 hook bound to a single token. After each swap on an ETH/token pool, it increments a counter and emits a Swapped event. It does not alter swap amounts, fees, or pool state in any way. Ethereum afterSwap 1 5mo SpireTracks per-address "horn length" (HORN token balance weighted by holding tenure) after each swap, accumulating reward weight for a UNI distribution system. Periodically harvests LP fees from a HORN/UNI pool to burn HORN and distribute UNI to holders proportionally; includes a "monarch" mechanic where the highest horn-length holder can claim a crown pot after a cooldown. Unichain afterSwap 1 5mo CounterA minimal reference hook that increments per-pool counters on beforeSwap, afterSwap, beforeAddLiquidity, and beforeRemoveLiquidity. Implements no access control, fee logic, or token transfers — pure observation. Arbitrum beforeAddLiqbeforeRemoveLiqbeforeSwapafterSwap 1