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
4mo BaseEthHookCharges a fixed 1% fee on both buy and sell swaps in a native ETH / ERC-20 token pool. In beforeSwap it returns a BeforeSwapDelta to retain the fee on exact-input ETH buys; in afterSwap it collects the fee via poolManager.take() and notifies the paired token contract via a safe callback. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 2 4mo AtlasHookAn on-chain smart order router that intercepts swaps via `beforeSwap` and fans them out across multiple hardcoded Uniswap v3 and v4 liquidity pools. It reads real-time prices via an RFQ mechanism, sorts pools by effective price, routes the swap through the best-priced venues using `BeforeSwapDelta`, and collects a service fee via `donate`. Liquidity addition and pool initialization are restricted to a single admin address (enforced via `tx.origin`). Ethereum beforeInitbeforeAddLiqbeforeSwapswapDelta 2 4mo AtlasHookA Uniswap v4 hook that acts as an on-chain smart order router, splitting swaps across multiple Uniswap v3 and v4 liquidity pools to find the best execution price. It charges a service fee per swap and restricts liquidity provision and pool initialization to a hardcoded admin address. Ethereum beforeInitbeforeAddLiqbeforeSwapswapDelta 2 4mo AtlasHookA smart-routing hook that intercepts swaps in beforeSwap and fills them by routing across multiple hardcoded V3 and V4 pools at the best available price, collecting a small service fee via donate. Pool initialization and liquidity addition are restricted to a single admin address enforced via tx.origin check. Ethereum beforeInitbeforeAddLiqbeforeSwapswapDelta 2 4mo AtlasHookAn on-chain aggregator hook that intercepts swaps via beforeSwapReturnsDelta, routing across up to 4 pre-configured V3 and V4 pools (WBTC/USDC pairs). It computes optimal routes by sorting pools by effective price, executes sub-swaps, collects a service fee via donate, and returns the combined delta to the PoolManager. Ethereum beforeInitbeforeAddLiqbeforeSwapswapDelta 2 4mo AtlasHookA routing aggregator hook that splits swaps across multiple Uniswap V3 and V4 pools in real time, selecting the best route by effective price. Returns swap deltas via beforeSwapReturnsDelta and charges a per-swap service fee; liquidity can only be added by the contract admin. Ethereum beforeInitbeforeAddLiqbeforeSwapswapDelta 2 5mo HushHookHushHook implements a bonding-curve token launch with an optional CoinJoin privacy mode. Buys execute instantly via the bonding curve, or queue in fixed-denomination tiers (0.01/0.1/1/10 ETH) batching when 3 participants match; sells are always instant via the inverse curve. The hook fully handles swap settlement via BeforeSwapDelta, bypassing the pool's AMM math. Ethereum beforeInitbeforeAddLiqbeforeSwapswapDelta 2 5mo StrategyHookSkims a flat 5% protocol fee on every exact-input swap, taking the fee from the output token (ETH or SPCXSTR) via afterSwapReturnsDelta, and accrues it until anyone calls sweep() to push funds to a configurable treasury address. Ethereum afterSwapafterSwapDelta 2 5mo IncineratorHookApplies a 1.2% fee on all swaps: buy fees collect as ETH in a burn pot; sell fees queue as tokens for burning. Every 20 swaps a buyback is queued (BuybackQueued event); the ETH buyback-and-burn is executed by a later buyAndBurn() call (a nested pool swap). Sells are blocked in the same block as a buyback. Sells can also be gated to a deployer-managed allowlist (via tx.origin) in afterSwap: any address can permissionlessly trigger this per token, after which only allowlisted addresses can sell. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo HID Domain Registry HookA Uniswap v4 hook on an ETH/HID pool collecting protocol fees via BeforeSwapDelta/AfterSwapDelta. Plain buys (ETH->HID, no/unapproved hookData) are charged 1% of ETH input; domain-registration buys (hookData set, input >= autoRegisterThreshold, root approved) are charged a fixed 0.0005 ETH REGISTRATION_FEE. Sells (HID->ETH) are charged 1% of ETH output via afterSwap. On a successful registration swap, afterSwap registers the domain encoded in hookData on-chain to tx.origin. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 2 5mo FableHookUniswap v4 afterSwap hook that deducts a 1% fee from token output on buys and ETH output on sells via afterSwapReturnsDelta, accumulating fees in an on-contract conviction pool. An owner-set oracle address can draw from the pool to settle on-chain predictions. Ethereum afterSwapafterSwapDelta 2 5mo pERC20HookAn afterSwap hook that collects a 0.1% privacy tax on buy swaps (ETH→pERC20Wrapper) by taking tokens from the pool via afterSwapReturnsDelta. Accumulated taxes fund a privacy reserve that pays a 0.5% bonus to users who shield their tokens into private ZK notes via the pERC20 system. Ethereum afterSwapafterSwapDelta 2 5mo ArtCoinsHookApplies directional LP fees (separate buy and sell rates) via the dynamic fee override in beforeSwap, and enforces a per-transaction sell cap of 5% of the seller's token balance (tracked via transient storage across batched calls). Exact-output sells are blocked. Ethereum beforeSwap 2 5mo ChronaHookCharges a flat 1% ETH fee on every swap in ETH/TOKEN pools by intercepting both beforeSwap and afterSwap with return deltas. Collected ETH fees accumulate in the hook contract and are withdrawable by a designated fee recipient. Ethereum beforeSwapafterSwapswapDeltaafterSwapDelta 2 5mo OwnerFeeHookA Uniswap v4 hook that accumulates ETH received via its payable `receive()` function and, after each swap (or on demand via `claimFees()`), forwards the accumulated balance to a single immutable `feeOwner` address once the threshold of 0.001 ETH is reached. Ethereum afterInitafterSwap 2 5mo SoulHookA pump.fun-style bonding-curve hook for Uniswap V4. ETH buys mint SOUL tokens along a constant-product curve; sells burn them. The hook intercepts all swaps via beforeSwap (requiring an encoded swapper address in hookData), handles token minting and burning directly, and graduates to a locked Uniswap V3 LP position once the bonding curve fills. Ethereum beforeInitbeforeAddLiqbeforeSwapswapDelta 2 5mo SpectrumHookERC20/NFT hybrid token (7,777 supply) that deploys single-sided liquidity across multiple owner-managed Uniswap v4 pools and distributes LP fees proportionally to NFT holders. The afterSwap hook is a pure no-op; fees are collected lazily via pokeFees(). Ethereum afterSwap 2 5mo YinYangHookA twin-token hook for the YinYang project that bootstraps ETH/Yin and ETH/Yang pools on first liquidity add, then on each swap mints or burns token "piece" state based on the buy/sell direction. Takes a per-swap skim fee (up to 20% sniper tax during the first 10 seconds after pool launch, then a configurable base rate) forwarded to a owner-controlled destination via `afterSwapReturnsDelta`. Ethereum afterAddLiqafterSwapafterSwapDelta 2 5mo YinYangHookA hook for a twin ERC-20 token pair (Yin/Yang) that mints or empties token "pieces" on each swap based on the swap direction (buy vs. sell), takes a per-swap skim fee forwarded to a configurable destination (with a 20% sniper tax for the first 10 seconds after pool launch), and bootstraps pool state on first liquidity addition. Ethereum afterAddLiqafterSwapafterSwapDelta 2 5mo Ring FewV2 Direct Routing HookOwnerless Uniswap v4 hook that exposes Ring FewV2 direct-pair liquidity through v4 swaps. The hook wraps the input token into its canonical FewToken, swaps through the corresponding FewV2 pair, unwraps the output token, and settles back through PoolManager. It does not require or decode custom hookData, does not allow liquidity in the v4 pool, and has no hook owner, pause, upgrade path, or route-control admin. Ethereum beforeInitbeforeAddLiqbeforeSwapswapDelta 2 5mo QuillV4HookA buy/sell fee hook that collects 0.7% of each swap into a burn pot: ETH on buys, tokens on sells. Every 20 swaps it triggers a buyback-and-burn using accumulated ETH. Sells can be restricted to an allowlist of addresses when enabled; exact-output swaps always revert. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo PrismHookDN404-style ERC20/ERC721 hybrid token (PRISM, 5,000 supply) that manages a single Uniswap v4 ETH/PRISM pool. Each whole token held auto-mints an NFT; LP fees harvested from the hook's own position are distributed pro-rata to NFT holders. The afterSwap callback is a pure no-op. Ethereum afterSwap 2 5mo DaemonHookA V4 hook implementing a quadratic bonding-curve token launch with asymmetric fees (1% on buys retained by the reserve, 30% on sells forwarded to the team). All swaps are fully handled by the hook's internal curve; once enough ETH accumulates, the team can graduate by seeding a permanent Uniswap V3 1% pool and burning the LP NFT. Ethereum beforeInitbeforeAddLiqbeforeSwapswapDelta 2 5mo FlywheelV4HookBuyback-and-burn hook for a single ETH/token pool. Collects 0.7% fee on ETH buys into a burn pot and queues 0.7% of tokens on sells for burning. Sets a buyback-queued flag every 20 swaps; the buyback-and-burn swap is executed by calling flyWheel() externally. Blocks sells in the same block as a buyback. Restricts pool liquidity to a single initial add only. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo FlywheelV4HookA buyback-and-burn hook that collects a 1.2% fee on every swap — ETH on buys into a burn pot, tokens on sells queued for burning — and periodically executes autonomous buybacks by swapping accumulated ETH for the pool token and burning the proceeds. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo UniswapV4HookA Uniswap v4 hook that extracts a 1% fee from every buy (in native ETH) and sell (in tokens), accumulating ETH into a burn pot used for periodic on-chain buyback-and-burn swaps; blocks exact-output swaps and sells in the same block as a buyback, and includes an allowlist in afterSwap that can selectively prevent sell-side swaps; the restriction can be enabled by any caller via compress(), while only the deployer can disable it and control which addresses are allowlisted. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo UniswapV4HookA buy/sell hook deducting a 4% fee per swap: ETH fees from buys accumulate in a burn pot for buyback-and-burn via the pool; token fees from sells queue for burning. Pool init and liquidity addition are one-time per token; exact-output swaps always revert. Sells can be gated by an admin allowlist (timeBased/hasValue): any address can activate the restriction per token via pitchWC(), after which only deployer-allowlisted addresses can sell, and only the deployer can deactivate it. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo UniswapV4HookA Uniswap v4 hook with a 1.2% fee on buys and sells. Buy fees accumulate ETH in a burn pot for buyback-and-burn every 20 swaps; sell fees queue tokens for burning. Sells are blocked in the same block as a buyback. Exact-output swaps always revert. Only one liquidity addition is permitted per token. Additionally, afterSwap has an allowlist: once activated by any caller via superTokens(), sells are blocked for all addresses not pre-approved by the deployer. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo UniswapV4HookHook that charges a 1.7% fee on each swap: buy-side fees accumulate in an ETH pot for periodic buyback-and-burn (triggered every 20 swaps), while sell-side token fees are immediately queued for burning. Liquidity addition is permanently restricted to one deposit, and exact-output swaps always revert. When the token's `timeBased` flag is set, sell-side swaps are additionally restricted to an owner-approved allowlist (the `hasValue` mapping), reverting for any seller not on the list. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo UniswapV4HookA Uniswap v4 hook that enforces one-time pool initialization and allows only one liquidity addition per token (subsequent additions revert); LP funds are not trapped, as liquidity removal proceeds through standard Uniswap v4 mechanics and LPs can remove their positions freely. In afterSwap, once the permissionless robot() function has been called for a token, non-zeroForOne (sell-side) swaps revert for any address not in the deployer-controlled allowlist, while buys remain unrestricted. Ethereum beforeInitbeforeAddLiqafterSwap 2 5mo UniswapV4HookA burn-and-buyback hook that charges a 2.2% fee on buys (ETH routed to a reserve for periodic buybacks) and burns 2.2% of tokens on sells. Liquidity additions are restricted to one initial deposit. Contains a hidden allowlist mechanism in afterSwap that can selectively block sells from non-allowlisted addresses when activated by any caller via superposition() (allowlist membership itself is controlled by the deployer). Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo UniswapV4HookA buy-and-burn hook that charges a 1.7% fee on buys (ETH accumulated into a burn pot for periodic token buybacks every 20 swaps) and sells (tokens queued for direct burning). Exact-output swaps always revert. Sell access can be restricted to an owner-managed allowlist when enabled per token. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo UniswapV4HookCharges a 1.7% fee on buys (ETH) and sells (tokens), routing fees into a burn pot. Every 20 user swaps it signals a buyback-and-burn. Blocks sells in the same block as a buyback. Optionally restricts sells to an owner-controlled tx.origin allowlist, which any external caller can activate via superposition(). Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo UniswapV4HookCollects a 1.7% fee on buys (ETH) and sells (token), routing buy fees to a burn pot for periodic buyback-and-burn operations. Every 20 swaps with a non-empty burn pot, a buyback is flagged; sells in the same block as a buyback are blocked. Liquidity addition is permanently gated to a single provider, and sell access can be restricted to an admin-controlled allowlist via a publicly-triggerable `timeBased` flag. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo DoubleSineHookA custom AMM hook controlling two canonical pools (ETH/TokenA and ETH/TokenB) that share a single virtual ETH reserve. It fully bypasses Uniswap's native AMM via beforeSwapReturnsDelta, implementing its own constant-product curve with 1% buy/sell fees routed to an immutable treasury address and a 5-block anti-snipe cap on buy size at launch. Ethereum afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 2 5mo DoubleSineHookCustom AMM hook managing two pools (ETH/TokenA and ETH/TokenB) sharing a single virtual ETH reserve via a proprietary constant-product curve (DoubleSineMath). The hook fully intercepts all swaps via beforeSwapReturnsDelta, bypassing Uniswap's native pricing. Charges a 1% buy/sell fee directed to an immutable treasury. Liquidity addition/removal is disabled; buy size is capped for the first 5 blocks post-initialization as an anti-snipe measure. Ethereum afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 2 5mo UniswapV4HookA Uniswap v4 hook that collects a 0.7% fee on every swap — ETH on buys, tokens on sells — accumulating ETH into a burn pot for periodic buyback-and-burn operations. Sell transactions can be selectively blocked via a tx.origin allowlist when enabled, and only one liquidity addition per token is permitted. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo UniswapV4HookA Uniswap v4 hook collecting a 0.7% fee on every swap: ETH from buys accumulates in a burn pot for buyback-and-burn every 20 swaps, and token input from sells is burned directly. Liquidity addition is one-time per token, and sells are blocked in the same block as a buyback. Additionally, any address can activate a per-token sell allowlist by calling registerPixel, restricting sells to addresses the deployer pre-approves via preparePixels; only the deployer (genesisAddress) can deactivate it. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 5mo UniswapV4HookExtracts a 2.2% tax on buy and sell swaps via BeforeSwapDelta. Buy-side ETH fees accumulate in a burn pot for buyback-and-burn every 20 swaps; sell-side tokens are queued and burned on later swaps. Only one liquidity addition per token is permitted. Additionally, afterSwap enforces a sell-side allowlist: when timeBased[token] is enabled (activatable by anyone via registerBurner()), sells revert for any tx.origin not in the deployer-controlled hasValue allowlist. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 6mo IncineratorBuy-and-burn hook that extracts a 2.2% fee on ETH buys into a burn pot for periodic buyback-and-burn, and a 2.2% token fee on sells for immediate burning via delta returns. Contains a hidden mechanism: once `registerBurner()` is called (callable by anyone), sells by non-whitelisted addresses revert in `afterSwap`, creating a potential honeypot controlled by the deployer. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 6mo HyperhookA prediction-market hook that lets users trade binary outcome tokens (UP/DOWN) against a base asset using a custom bonding curve inside time-bounded epochs. Epochs are resolved by a Chainlink price feed; winning-side holders can redeem their tokens for the base asset after resolution, subject to a decay tax. Ethereum afterAddLiqbeforeSwapswapDelta 2 6mo DoubleSineHookA custom AMM hook managing two pools (ETH/TokenA and ETH/TokenB) that share a single virtual ETH reserve under a constant-product pricing curve. The hook fully intercepts swaps via beforeSwapReturnsDelta, minting/burning tokens and settling ETH directly. Applies a 1% buy/sell fee to an immutable treasury address and enforces a 5-block anti-snipe buy cap on launch. Ethereum afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 2 6mo PillHookA Uniswap v4 hook for a dual-faction (RED/BLUE) game that taxes exact-input token sells at 3% in ETH, redistributing proceeds to the opposite faction's holders via a Synthetix-style per-token accumulator. Ethereum afterSwapafterSwapDelta 2 6mo UniswapV4HookCharges a 1.2% fee on all swaps: buy-side (ETH->token) fees accumulate in a native burn pot and are periodically used to buyback and burn tokens; sell-side (token->ETH) fees are taken and burned directly. Blocks all liquidity additions after the first and reverts exact-output swaps. An afterSwap allowlist (hasValue) can gate sells; the restriction is enabled permissionlessly by anyone via burner(), while allowlist membership is owner-controlled. Ethereum beforeInitbeforeAddLiqbeforeSwapafterSwap+2 2 6mo UniDogeBuybackHookCollects a 0.5% fee on ETH/UniDoge pool swaps via afterSwapReturnsDelta, accumulates the ETH fees, and periodically executes automated buyback swaps to purchase UniDoge tokens, which are then burned. Ethereum afterInitafterSwapafterSwapDelta 2 6mo TaxHookApplies dynamic LP fee overrides on every swap, delegating buy/sell tax calculations to a configurable external IAntiBotModule contract. Records each user's first buy block to support anti-bot fee tiers; hookData optionally overrides the caller address for fee computation. Ethereum beforeSwap 2 6mo WhitelistTaxHookA beforeSwap hook that applies dynamic LP fee overrides based on buy/sell direction and a whitelist. Whitelisted addresses swap fee-free; non-whitelisted buyers pay a configurable buyTaxRate, and sellers pay a configurable sellTaxRate (reduced after 10 blocks since the user's first buy). Ethereum beforeSwap 2 6mo HookFeeA fee-collecting hook that charges a configurable basis-point fee on currency0 output from one-for-zero swaps, routing proceeds to a fixed feeRecipient via afterSwap delta. The fee rate is owner-controlled and capped at 10,000 bps. Ethereum afterSwapafterSwapDelta 2 6mo PumpFeeHookA Uniswap v4 hook for token launches that applies tiered creator and protocol fees on each swap based on the token's current market cap (derived from the pool's spot price), alongside a dynamic LP fee override. Only factory-registered bonding curve pools can register with this hook; fees accumulate and are distributed to the creator and protocol via a separate skim function. Ethereum afterInitbeforeSwapafterSwapswapDelta+1 2 6mo OracleHookA TWAP oracle hook that writes tick observations on every swap via a V3-style ring buffer, applies a dynamic LP fee scaling linearly with price drift from a reference sqrt price, and gates all liquidity operations to an authorized Stabilizer contract via a magic sentinel in hookData. Ethereum afterInitbeforeAddLiqbeforeRemoveLiqbeforeSwap+1 2