The Evolution of Uniswap: From V1 to V4 and What Changed

Since 2018, Uniswap has reshaped how people trade cryptocurrency by removing the need for intermediaries and centralized order books. What began as a simple constant product formula running on Ethereum has grown into a multi-chain protocol processing over $3 trillion in lifetime volume by May 2025. Each version—V1, V2, V3, and V4—introduced material improvements to liquidity management, capital efficiency, and user experience, yet also presented new trade-offs that traders and liquidity providers must navigate.

Understanding this evolution is not purely historical. The differences between versions directly affect transaction costs, slippage, execution speed, and the economics of providing liquidity. A trader moving from V2 to V3 encounters concentrated liquidity and tighter spreads but faces impermanent loss across narrower price ranges. A liquidity provider comparing V3 to V4 must evaluate active management requirements, fee tier options, and the role of smart contracts in automated execution. This article traces how Uniswap’s design changed and what those changes mean for the traders and LPs who use the protocol today.

Timeline of Uniswap protocol versions showing the progression of smart contracts and liquidity mechanisms from V1 through V4

Uniswap V1: The Original Constant Product Formula

Uniswap V1 launched in November 2018 with a radical simplification: replace order books with a formula. The constant product formula, x × y = k, means that the product of token reserves in a liquidity pool always remains constant. When a user trades into the pool by depositing one token, they withdraw from the opposite reserve, and the price adjusts automatically. This model is deterministic, transparent, and requires no external price feeds or centralized governance.

The elegance of V1 lay in its constraint. Each pool contained exactly two tokens: ETH and a single ERC-20 asset. Liquidity providers deposited equal values of both tokens and received a proportional share of swap fees (0.30 percent on all trades). The formula ensured that deep liquidity meant low slippage, and traders paid fees directly to the LP pool rather than to platform operators. For the first time, peer-to-peer token exchange could work at scale without intermediaries.

V1’s limitations became apparent as trading volume grew. Every trade path required a separate pool; swapping from token A to token B to token C meant paying fees at each step. The liquidity was spread inefficiently: half of every pool’s capital earned fees while sitting idle, unused by active traders. Slippage was high for large trades, and impermanent loss—the cost an LP incurs when asset prices diverge—was difficult to predict or manage. By 2020, the protocol had processed billions in volume, but structural inefficiency was clear.

Uniswap V2: Routing, Flash Swaps, and ERC-20 Pairs

V2 arrived in May 2020 with three critical improvements. First, token-to-token pairs replaced ETH-pair-only routing. Now pools could connect any two ERC-20 tokens directly, reducing the number of hops and fee payments required for complex swap paths. Second, the introduction of flash swaps allowed uncollateralized loans within a transaction: a user could receive tokens from a pool, use them elsewhere, and repay them within the same block. This opened arbitrage and composability opportunities that were impossible in V1.

Third, Uniswap V2 introduced on-chain price oracles built into every pool. The time-weighted average price (TWAP) fed from the protocol itself, removing reliance on external price feed services and improving security. Developers could build applications directly on top of Uniswap’s liquidity without trusting a centralized oracle provider. These smart contracts changes transformed the protocol from a trading venue into infrastructure.

The economic model remained simple: all pools charged 0.30 percent fees, distributed entirely to LPs. But V2 also introduced governance through the UNI token, launched in September 2020. Token holders could propose and vote on protocol changes, including the allocation of treasury funds and whether to enable protocol-level fee collection. This decentralized governance mechanism meant that future upgrades would require community consensus rather than developer fiat.

V2’s limitations emerged not from design flaws but from competitive pressure. As trading volume concentrated on Uniswap, capital efficiency became the next frontier. A liquidity provider in V2 earned fees only when the current price fell within the range where their capital was deployed. In practice, that meant 50 percent of LP capital was idle at any given time. Slippage remained significant for large trades because pools held uniform amounts of each asset regardless of historical trading patterns.

Uniswap V3: Concentrated Liquidity and Capital Efficiency

V3 launched in May 2021 and represented the largest departure from the original formula. Instead of deploying capital uniformly across all possible prices, LPs could now concentrate their liquidity into a chosen price range. A Uniswap V3 LP providing liquidity to an ETH-USDC pair could decide to concentrate capital between $1,800 and $2,200 per ETH, earning higher fees on the same capital but accepting higher impermanent loss if prices moved outside that range.

The mathematical foundation changed: instead of x × y = k, V3 used L² = x × y, where L represents concentrated liquidity. This allowed the protocol to offer equivalent depth at lower capital requirements. A trader swapping a moderate amount received the same execution price in V3 as they would have in V2, but the LP required less capital deployed to provide it. For stablecoin pairs like USDC-USDT, capital concentration was extreme: LPs could concentrate liquidity in a 0.01 percent band and capture far more trading fees from a given amount of capital.

V3 also introduced multiple fee tiers: 0.01 percent, 0.05 percent, 0.30 percent, and 1.00 percent. Each tier was a separate pool, and LPs chose which tier matched their expected impermanent loss tolerance. Stablecoin pairs typically used the 0.01 percent tier; volatile pairs like WETH-DAI favored 0.30 percent or higher. This flexibility improved capital allocation but added complexity: a trader could face different liquidity depths and fee structures depending on which tier held the most volume.

The capital efficiency gains were substantial, but the trade-off was management overhead. V2 LPs could deposit and ignore their position; V3 LPs needed to monitor prices and rebalance concentrations to remain in-range. Off-range liquidity earned no fees, turning LP positions from passive holdings into active strategies. Impermanent loss became more acute because prices moves outside the chosen range crystallized losses while generating no fee income. Some LPs benefited enormously; others found the management burden not worth the fee optimization.

Uniswap V4: Hooks, Native ETH, and Modular Liquidity

V4, introduced in 2024, moved beyond fee optimization toward programmable liquidity. The headline innovation was hooks: custom smart contracts that execute at specific points in the trading lifecycle. Before a swap, after a swap, before liquidity is added or removed, or after those events, a hook contract can run arbitrary logic. This allows LPs to build exotic strategies directly into pools without requiring separate contracts or additional infrastructure.

A practical example clarifies the power. A liquidity provider could use a hook to automatically adjust fees based on market volatility, increasing the fee tier when volatility spiked to compensate for higher impermanent loss risk. Another hook could implement time-weighted average liquidity, which splits fees differently depending on how long capital was deployed. Hooks effectively make each Uniswap V4 pool programmable, transforming the protocol from a fixed set of rules into a platform for custom market-making logic.

V4 also introduced singleton contracts, which consolidate all pools into one deployed smart contract rather than separate contracts per pool. This reduces deployment overhead, gas costs, and complexity at the protocol level. Native ETH support—allowing pools to hold ETH directly rather than wrapped ETH (WETH)—reduced one layer of wrapping and improved gas efficiency further. The cumulative effect is lower transaction costs and faster execution.

The governance and economic implications remain evolving. Uniswap V4 maintains the UNI token’s role in voting on protocol parameters, yet hook design introduces the question of whether hooks should be permissioned (developers must be approved before deploying) or permissionless (anyone can create a hook). Early indications favor permissionless hooks, which maximizes innovation but introduces the risk of poorly designed or malicious hooks that could interact with LPs’ capital unexpectedly. The trade-off between decentralization and safety is still being negotiated.

How Each Version Affected Traders and Liquidity Providers

For traders, the evolution has been straightforward: lower fees, less slippage, faster execution. A swap on V1 that might have cost 0.30 percent in fees plus significant slippage could achieve the same result on V3 with much tighter spreads, especially for stablecoin pairs. V4’s singleton architecture and native ETH reduce gas costs further. The tradeoff is that routing logic has become more complex; a trader’s interface must evaluate multiple fee tiers and pools to find the best execution path, work that sophisticated aggregators now handle.

For liquidity providers, each version demanded different skills and tolerance for active management. V1 LPs earned fees passively but forfeited capital efficiency. V2 LPs earned slightly higher fees on the same capital by having two-token pairs but still faced idle capital. V3 LPs could concentrate for higher fee yield but had to monitor and rebalance positions or accept off-range drift. V4 LPs can design highly specific strategies through hooks, but that requires either technical capability or trust in third-party hook implementations.

Impermanent loss also shifted with each version. In V1 and V2, it was a background cost that LPs absorbed but rarely optimized for. In V3, impermanent loss became the driving factor behind position management: an LP’s return depended almost entirely on whether prices stayed within their chosen range and how much trading volume occurred in that range. V4 hooks could potentially reduce impermanent loss through dynamic fee adjustments or other mechanisms, but that remains largely theoretical until mature hook implementations emerge.

Capital efficiency gained with each iteration, but not uniformly. Stablecoin pairs experienced dramatic efficiency gains because prices move little; an LP could concentrate to a 0.01 percent band in V3 and earn substantial fees. Volatile pairs like ETH-DAI saw more modest gains because wider price moves forced either wider ranges (reducing fee income) or constant rebalancing. The heterogeneous impact means that V3 and V4 suited different LP profiles and trading pair types.

Cross-Chain Deployment and UniswapX Integration

Uniswap has expanded beyond Ethereum to Arbitrum, Optimism, Base, and Polygon, each running full versions of the protocol. This distribution resolved scalability constraints but fragmented liquidity: a trader on Arbitrum might see different prices and slippage than the same swap on Ethereum mainnet. Cross-chain bridges have attempted to solve this, but they introduce additional risk and latency.

UniswapX addressed another problem: MEV (maximal extractable value). On Uniswap’s smart contracts on-chain, every trade is visible in the mempool before confirmation, allowing bots and validators to extract value by front-running, sandwich-attacking, or reordering transactions. UniswapX uses a different model: traders submit intents (requests to swap from token A to token B at a maximum slippage), and off-chain fillers compete to execute those intents. The trade happens privately and settles on-chain, protecting the trader from mempool observation.

This separation—between submitting intent and execution—represents a conceptual shift. It acknowledges that on-chain transparency, while critical for trustlessness, creates economic incentives that harm retail traders. UniswapX does not remove the need to trust fillers, but it concentrates that trust in specialized, competing entities rather than distributing it across an entire network. Whether UniswapX becomes the dominant trading interface or remains a niche product will depend on whether the fee savings and MEV protection outweigh trader preferences for direct on-chain interaction.

The Governance Token and Protocol Sustainability

The UNI token, distributed in September 2020, made Uniswap a governed protocol. Token holders vote on fee structures, treasury allocation, smart contracts upgrades, and strategic partnerships. This model aligned incentives: early users and liquidity providers received UNI as a reward, making them stakeholders in the protocol’s success. It also created a continuous governance surface: changes that V1 and V2 could not have made—like the multi-tier fee structure in V3 or the permissionless hooks of V4—required and received community approval.

Governance has not been without friction. Early fee proposals were rejected by the community, reflecting resistance to protocol-level rent extraction. Later proposals, like the Uniswap Foundation’s recommendation to fund development work through UNI allocations rather than token emissions, passed with broad support. The pattern suggests that the community accepts governance as legitimate when it funds public goods (security audits, open-source development) but resists pure value extraction.

UNI governance also created accountability. When bugs or security concerns emerge—like the liquidity provisioning logic issues discovered in V3 or V4—the community and foundation can coordinate responses through governance votes, treasury funding, and developer coordination. This differs from centralized exchange platforms where governance is opaque or absent. The cost is slower decision-making; the benefit is that major changes require consensus rather than dictate.

What Traders and LPs Should Know Today

For traders, the choice between versions is increasingly automated. Most routing aggregators automatically split orders across V2, V3, and V4 to find optimal execution, and interfaces like uniswap present a unified experience regardless of underlying version. The practical implication is that traders can ignore version details and focus on total fees, slippage, and confirmation time.

For liquidity providers, the choice is more consequential. V2 remains viable for volatile pairs where LPs accept passive fee collection and higher capital lock. V3 suits traders comfortable with active management and pairs where volatility is moderate or prices cluster in predictable ranges. V4 is still early, but LPs willing to experiment with hooks can potentially capture alpha through custom strategies. Across all versions, the fundamental insight remains: fee income must outweigh impermanent loss for an LP position to be profitable over time.

Risk management has also evolved. V1 and V2 LPs could hold positions indefinitely with predictable economics. V3 LPs must monitor price movements and rebalance or accept being out-of-range. V4 LPs must understand the hooks running in their pool and evaluate whether custom logic introduces unexpected risks. The protocol has become more efficient and feature-rich, but it has also become more sophisticated. Users unfamiliar with the mechanisms should start with simpler versions or use managed liquidity products that abstract the complexity.

The broader implication is that decentralized exchange design is not converging on a single optimal model. Instead, the industry is discovering that different use cases—stablecoin swaps, volatile trading, exotic strategies, MEV protection—require different mechanisms. Uniswap’s ability to support V1, V2, V3, and V4 pools simultaneously, plus UniswapX intent-based execution, suggests that mature DEX infrastructure will be heterogeneous. Traders and LPs will benefit from understanding the differences and choosing mechanisms that match their specific needs rather than assuming that the newest version is universally superior.

Frequently asked questions

What is the main difference between Uniswap V2 and Uniswap V3?

Uniswap V2 deploys liquidity uniformly across all possible prices, while Uniswap V3 allows liquidity providers to concentrate capital into chosen price ranges. V3 reduces the capital required to provide the same liquidity depth but requires active management: if prices move outside the chosen range, the position generates no trading fees. V3 also introduced multiple fee tiers (0.01%, 0.05%, 0.30%, 1.00%) to match different impermanent loss profiles.

How do hooks in Uniswap V4 work, and what can they do?

Hooks are custom smart contracts that execute at specific points in a pool’s trading lifecycle: before or after a swap, before or after liquidity is added or removed. A hook could implement dynamic fees based on volatility, apply time-weighted average liquidity distribution, or execute exotic market-making strategies. Hooks make pools programmable and allow LPs to build strategies directly into the protocol without separate infrastructure.

Why does Uniswap support multiple versions simultaneously instead of upgrading everyone to V4?

Different pairs and use cases benefit from different mechanisms. Stablecoin pairs still benefit from V3’s concentrated liquidity and lower fee tiers, while some LPs prefer V2’s simplicity. V4 is powerful but requires understanding hooks; not every LP wants that complexity. Supporting multiple versions allows traders and LPs to choose mechanisms that match their needs rather than forcing everyone into a one-size-fits-all design.

X
Scroll to Top
Scan the code