Uniswap V4 Hooks Fee Calculator

Compare a static Uniswap V3 fee tier against a Uniswap V4 dynamic-fee hook across volatility, and find the breakeven swap size where fee savings beat the hook's added gas overhead.

Swap & Pool Inputs

Hook Gas Overhead

How the model works

StepFormula
Dynamic feemin + (max − min) × clamp(volatility / 100%, 0, 1)
V3 fee costswap size × static fee tier
V4 fee costswap size × dynamic fee
Hook gas cost (USD)gas units × gwei × 1e-9 × ETH price
Breakeven swap sizehook gas cost ÷ (static fee − dynamic fee)

Public gas audits of early Uniswap V4 hook implementations put simple beforeSwap/afterSwap logic (a volatility check plus a fee write) at roughly 5,000–80,000 extra gas versus a hook-less swap; complex hooks with oracle reads or TWAP math can cost more. Adjust the gas input to match your specific hook.

FAQ

What is a Uniswap V4 dynamic-fee hook?
A hook contract that runs on beforeSwap and sets the pool's fee based on live conditions (e.g. realized volatility) instead of using one of V3's fixed tiers.
How much extra gas does a hook add?
Roughly 5,000–80,000 gas for simple logic, based on public V4 hook audits and docs — more for hooks doing oracle reads or complex math.
Is dynamic-fee always cheaper?
No — only when the fee saved exceeds the hook's gas cost. Small swaps often lose to fixed gas overhead; large swaps usually favor the dynamic fee if it's lower.
What does the breakeven swap size mean?
The swap size where fee savings exactly cancel out the hook's gas cost. Above it, V4's dynamic fee wins; below it, static V3 is cheaper.
Can the dynamic fee be higher than the static tier?
Yes — hooks often raise fees during volatile periods to protect LPs from adverse selection, which can make the dynamic fee more expensive than a flat V3 tier in that regime.
Does this call any real contracts?
No, it's a pure client-side model using your inputs — nothing is sent to a wallet, RPC, or the Uniswap V4 contracts.
Learn the concept · see it live
Trading fees explained →Live network fees →Live market →