If you’ve been providing liquidity on Uniswap, the jump from v3 to v4 isn’t cosmetic. Uniswap v4 introduces architectural changes that directly affect how fees are collected, how capital is deployed, and how much you actually keep after a position closes. Understanding the difference between Uniswap v3 vs v4 liquidity fees is now practical knowledge for anyone putting real capital into decentralized exchange pools. This article breaks down what changed, what stayed the same, and what those changes mean for your returns.
Quick Background: How Uniswap v3 Handled Fees
Before examining v4, it helps to understand the fee model v3 established. Uniswap v3, launched in May 2021, introduced concentrated liquidity, which let liquidity providers (LPs) define a specific price range for their capital rather than spreading it across the entire price curve.
Fee Tiers in v3
Uniswap v3 offered four fixed fee tiers, selectable at pool creation:
- 0.01% — designed for stable pairs like USDC/USDT
- 0.05% — for stable and closely correlated assets
- 0.30% — the classic tier for most ETH/token pairs
- 1.00% — for exotic or high-volatility pairs
Fee revenue was allocated proportionally to LPs based on in-range liquidity at the time of a swap. This is documented in the Uniswap v3 Core whitepaper, available through Uniswap’s official documentation site. Each pool had one fixed fee tier baked in at deployment — you couldn’t change it later.
The NFT Position Problem
In v3, every LP position is represented as an ERC-721 NFT. That design was flexible but created gas overhead whenever you minted, modified, or burned a position. Each interaction required calls to multiple contracts, and because each pool was its own contract, the cost of deploying new pools was non-trivial.
What Uniswap v4 Actually Changed
Uniswap v4, described in detail in the Uniswap v4 whitepaper published by Uniswap Labs, centers on two structural innovations: the Singleton contract architecture and the Hooks system. Both have direct downstream effects on fees.
Singleton Architecture and Gas Reduction
In v3, every pool is a separate smart contract. In v4, all pools live inside a single contract called the Singleton. The practical result is a significant reduction in gas costs for multi-hop swaps and position management. According to Uniswap Labs’ technical documentation, the Singleton design reduces gas costs for pool creation by approximately 99% compared to v3, because you’re no longer deploying a new contract for each pool.
For LPs, this matters because lower gas costs change the economics of smaller positions. In v3, a position with modest capital could see a meaningful percentage of earned fees consumed by gas on entry and exit. v4 narrows that gap.
Flash Accounting
v4 introduces flash accounting, which settles all token balances at the end of a transaction rather than transferring tokens on each individual operation. This means complex operations — such as swapping and rebalancing in a single transaction — require fewer intermediate transfers. Fewer transfers means lower gas. For LPs who actively manage concentrated positions, this is directly relevant to the cost of repositioning when price moves outside your range.
The Hooks System: Custom Fee Logic
This is where v4 most fundamentally changes the fee landscape. Hooks are smart contracts that can be attached to a pool and execute custom logic at specific lifecycle points: before or after a swap, before or after liquidity is added or removed, and at initialization.
Dynamic Fees via Hooks
In v3, fee tiers are static — once a pool is deployed at 0.30%, it stays at 0.30%. In v4, a pool can use a hook to implement dynamic fees that adjust based on on-chain conditions such as volatility, time of day, or oracle data. This is explicitly described in the Uniswap v4 whitepaper under the fee mechanism section.
What this means practically:
- A pool could charge higher fees during high-volatility periods to compensate LPs for impermanent loss risk.
- A pool could offer lower fees during low-activity windows to attract more volume.
- Fee logic can incorporate external data feeds, enabling more sophisticated market-responsive pricing.
Custom Fee Recipients
Hooks also allow custom fee distribution logic. In standard v3, fees go to the LP proportional to their in-range liquidity. In v4, a hook contract could redirect a portion of fees to a protocol treasury, a staking contract, or any other address the hook developer specifies. As an LP, this means you must read the hook’s logic before providing liquidity — not all fees collected from swaps necessarily flow entirely to LPs.
ERC-6909 and Position Management
v4 replaces the ERC-721 NFT representation of LP positions with ERC-6909, a lightweight multi-token standard. ERC-6909 allows multiple token balances to be tracked within a single contract rather than minting a separate NFT per position. This reduces gas on position operations and simplifies integration for protocols building on top of Uniswap.
For LPs, the user-facing implication is that your positions may look different in wallets and interfaces. Not all wallets support ERC-6909 natively at the time of writing, so confirm your interface displays your positions correctly before assuming a transaction succeeded or failed.
Impermanent Loss and Fee Capture: Has the Dynamic Changed?
Concentrated liquidity from v3 carries over into v4 — you still define price ranges, and you still face impermanent loss when the price moves outside your range. The hooks system doesn’t eliminate this risk. What it potentially adds is a mechanism for pools to increase fee income during the high-volatility periods that tend to cause the most impermanent loss, which could offset losses if the fee bump is large enough.
However, this outcome depends entirely on the specific hook implementation. There is no guaranteed impermanent loss protection built into v4 at the protocol level. Treat any claims to the contrary with skepticism and review the actual hook contract code or audits before depositing.
What This Means for You
Here is the practical summary for LPs making decisions in 2026:
- Lower gas costs benefit small-to-mid size LPs. The Singleton contract and flash accounting make v4 pools materially cheaper to interact with, which improves net returns on positions that would have been marginal in v3.
- Dynamic fees are not automatically better for you. A pool with dynamic fees can adjust to benefit LPs more fairly — but it can also be configured in ways that reduce your share. Verify the hook logic.
- Not all fee revenue reaches LPs in v4. If a pool runs a hook with custom fee routing, a portion of swap fees may go elsewhere. This is a new due-diligence requirement that didn’t exist in v3.
- ERC-6909 positions may not display in all wallets yet. Use interfaces that explicitly support v4 positions, such as the official Uniswap app, and verify position state before assuming accuracy.
- Tax treatment is unchanged by the version. Fee income earned as an LP is still treated as ordinary income in most jurisdictions at the time of receipt. In the United States, IRS Notice 2014-21 and subsequent guidance remain the governing framework for crypto income. Consult a tax professional for your specific situation.
Bottom Line
Uniswap v3 vs v4 liquidity fees is not a question with a single answer. v4 lowers the operational cost of providing liquidity through architectural efficiency, and it introduces the possibility of more sophisticated fee structures through hooks. But the hooks system also introduces new risk vectors: custom fee logic that may not favor LPs, and smart contract complexity that requires additional due diligence. For LPs, the key discipline in v4 is understanding the specific pool and hook configuration before depositing — the protocol no longer has a single, predictable fee model. Read the Uniswap v4 whitepaper directly, review hook audit reports where available, and factor gas savings into your position-sizing math.
