Skip to content
Open app.uniswap

Why v2 still matters

Constant-product pools, permissionless pairs, and routing that still favours v2 after sharp moves—use the key links above, then read the full chapter in order.

Routingapp.uniswap compares v2 and v3 depth per trade.
ContractsVerify factory and pair addresses on uniswap.org.
Full-range liquidityEvery v2 position spans all prices; no out-of-range idle capital.
0.3% feeFixed swap fee auto-compounds into reserves for LPs.
Gas profileSmaller swaps on Ethereum mainnet can be cheaper on v2 than v3.

Uniswap v2: The AMM That Defined Permissionless Trading

uniswap-v2-amm-permissionless-trading

Launching the ledger live desktop properly ensures your hardware keys remain entirely segregated from internet exposure. Before uniswap v2, decentralized token trading was clunky, expensive, and limited. You could not swap one ERC-20 token directly for another without routing through ETH. Creating a trading pair required navigating technical barriers that most people could not clear. Liquidity was thin, prices were unreliable, and the whole experience felt like a prototype rather than a product.

Uniswap v2 changed that in May 2020. It shipped direct token-to-token swaps, permissionless pool creation, and on-chain price oracles in a package simple enough for anyone to use and open enough for any developer to build on. Within months it became the backbone of DeFi. By the time uniswap v3 launched a year later, v2 had already processed tens of billions in volume and established the AMM model as the default liquidity infrastructure for the entire ecosystem.

In 2026 uniswap v2 still runs, still processes trades, and still holds meaningful liquidity for thousands of pairs. This guide explains how it works, why it persists, and when it actually outperforms the newer versions available on app.uniswap.


Architecture of Uniswap v2

architecture-of-uniswap-v2

The architecture of uniswap v2 is deceptively simple. Two smart contracts, a mathematical formula, and a set of rules about who can interact with them and how. No governance approval to create a pool, no minimum size requirement, no whitelist. Just code running on Ethereum that anyone can call at any time.

Understanding the architecture is not just academic. It explains why certain trades behave the way they do, why price impact exists, and why arbitrageurs are necessary for the system to function.

How x*y=k Sets Prices in Uniswap Exchange

Every pool in uniswap v2 holds exactly two tokens. The pricing mechanism is the constant product formula: x times y equals k. X represents the quantity of token A in the pool, y represents the quantity of token B, and k is a constant that must remain unchanged after any trade.

When you execute a swap on uniswap exchange, you are adding one token to the pool and removing the other. Say a pool holds 100 ETH and 200,000 USDC. K equals 20,000,000. You want to buy 1 ETH. After the trade, the pool must still hold a product of 20,000,000. With 99 ETH remaining, the USDC side must equal 20,000,000 divided by 99, which is approximately 202,020 USDC. You paid 2,020 USDC for 1 ETH, giving an effective price of $2,020 per ETH compared to the pool's starting price of $2,000.

That $20 difference is price impact. The larger your trade relative to pool size, the more the ratio shifts, and the worse the price you receive. This is not a bug. It is the mechanism that compensates liquidity providers for the risk of holding both assets and keeps the pool balanced after large trades.

The formula also means the pool can never be fully drained of either token. As one token becomes scarcer, its price rises exponentially, making it progressively more expensive to remove the last units. This mathematical guarantee means uniswap pools always have a price and always execute trades, regardless of market conditions or trade size.

Permissionless Pool Creation on v2

One of the most consequential features of uniswap v2 is that anyone can create a pool for any two ERC-20 tokens without permission from anyone. No application, no fee, no review process. Deploy your token, call the factory contract, and a pool exists within a single transaction.

This permissionless model enabled the entire long tail of DeFi. New protocols could launch with immediate liquidity. Governance tokens earned through yield farming could be traded the same day they were distributed. Experimental assets that no centralized exchange would list had immediate price discovery.

The factory contract on uniswap.org maintains a registry of all deployed v2 pairs. Each pair contract is identical in structure: two token addresses, the constant product formula, LP token issuance logic, and the 0.3% fee mechanism. The simplicity means every pair behaves predictably, which makes it easier for aggregators, bots, and other protocols to integrate.

Smart Contract Record on uniswap.org

Uniswap v2 has accumulated years of battle-tested security data. The core contracts were audited before launch, have been running without a critical exploit since May 2020, and have processed hundreds of billions in cumulative volume. For a smart contract system, this track record carries significant weight.

The contract addresses, deployment history, and audit reports are all available through uniswap.org. For anyone providing liquidity or building on v2, these documents are worth reviewing. The codebase is also fully open-source, meaning any developer can inspect exactly what runs when they interact with a pool.

This transparency is part of what makes the protocol trustworthy in a way that custodial systems cannot replicate. You do not have to trust Uniswap Labs or any other company. You can read the code yourself and verify that it does what it claims.


Uniswap Pools on v2: Full-Range Model

uniswap-pools-v2-full-range

Uniswap v2 uses a full-range liquidity model. Every LP position covers all possible prices from zero to infinity. This simplicity is both the strength and the limitation of the v2 approach, and understanding it is essential for anyone considering providing liquidity.

LP Tokens and Pool Shares Explained

When you deposit liquidity into a uniswap v2 pool through app.uniswap, you receive LP tokens in return. These are ERC-20 tokens that represent your proportional share of the pool. If you deposit 1% of the total liquidity in a pool at the time of deposit, you receive LP tokens representing 1% of that pool.

LP tokens are transferable. You can send them to another wallet, stake them in other protocols that accept them as collateral, or simply hold them. When you want to withdraw your liquidity, you return the LP tokens to the pool contract and receive your share of the current pool contents plus all accumulated fees.

Your share of the pool in percentage terms stays constant after deposit unless other providers add or remove liquidity. If a large provider removes liquidity after you deposit, your percentage share increases even though you did nothing. If a large provider adds liquidity, your percentage decreases. The actual dollar value of your position depends on both your percentage share and the current value of tokens in the pool.

Fee Accrual on Uniswap v2 Pools

Every swap on a uniswap v2 pool charges a 0.3% fee, paid in the input token. This fee is not distributed to LPs directly. Instead, it is added to the pool reserves, which increases the value represented by each LP token. When you withdraw your liquidity, you receive more tokens than you deposited, and the difference represents your earned fees.

This auto-compounding mechanism is one of the most elegant aspects of uniswap v2. You deposit once, walk away, and fees accumulate continuously without any action required. Every trade that passes through your pool makes your position slightly more valuable.

The 0.3% fee is fixed across all uniswap v2 pools. There is no ability to adjust it per pool or per provider. This uniformity simplifies everything but means that stablecoin pairs, which require almost no compensation for price risk, generate the same fee rate as highly volatile pairs where providers take on significant exposure.

v2 vs Uniswap v3 Uniswap Liquidity Pool Returns

Comparing returns between uniswap v2 and uniswap v3 pools requires understanding a fundamental tradeoff: capital efficiency versus management overhead.

Uniswap v3 concentrated liquidity allows providers to deploy capital within a specific price range. If the price stays within that range, a v3 position earns fees on a much larger effective share of pool volume than the same capital would earn on v2. In a stable pair or a range-bound market, a well-managed v3 position can generate significantly higher returns than v2.

However, if the price moves outside the chosen range, a uniswap v3 position earns zero fees until the price returns. The position sits idle while still exposing the provider to impermanent loss. V2 positions, covering all prices, never go out of range. They earn continuously as long as the pool has volume, regardless of where the price is trading.

For providers who cannot monitor and rebalance positions actively, uniswap v2 often produces more consistent returns simply by staying active at all times. For providers who actively manage tight ranges around current prices, v3 can substantially outperform. The right choice depends entirely on how much time you want to spend managing your position.


Trading via Uniswap v2 on the Exchange

trading-uniswap-v2-exchange

Uniswap v2 remains a live component of the trading infrastructure on app.uniswap. The routing engine evaluates it on every swap alongside v3 and other sources, directing your trade through whatever combination produces the best execution.

Swap Execution on app.uniswap Using v2

When you initiate a swap on app.uniswap, the interface queries liquidity across all available sources: uniswap v2 pools, uniswap v3 pools with every fee tier, and in some configurations external protocols. It calculates the expected output for each possible route and combination, then presents you with the best available option.

If a uniswap v2 pool offers better execution than the v3 equivalent for a given pair and size, the router directs your swap through v2 automatically. You see this reflected in the route display below the swap panel, which shows exactly which pools and versions your trade passes through. On some pairs, you will see v2 and v3 pools used in combination, with your trade split between them to minimize price impact across both.

The execution mechanics are identical from your perspective regardless of which version handles the swap. You approve the transaction in your wallet and receive the output tokens in the same transaction. The version routing is entirely handled by the smart contract logic.

Price Impact on Large v2 Swaps

Because uniswap v2 uses full-range liquidity, all the capital in a pool is available at the current price. This means that for pairs with deep v2 pools, the price impact on large trades can be lower than in a v3 pool where much of the liquidity may be positioned at out-of-range prices.

The relationship between trade size and price impact on a v2 pool follows directly from the constant product formula. A trade that is 1% of the pool reserves results in roughly 1% price impact before fees. A trade that is 5% of reserves results in approximately 5% impact. These numbers scale nonlinearly for very large trades.

On app.uniswap, price impact is displayed in the swap confirmation screen. For any trade showing impact above 1%, consider whether splitting into smaller transactions spread over time would produce better average execution. Alternatively, a DEX aggregator can route portions of a large trade through multiple pools simultaneously to reduce the impact on any single pool.

When v2 Routes Better on the Uniswap DEX

There are specific and recurring situations where uniswap v2 routing produces better execution than v3 on the uniswap dex.

The most common is after a significant price move in a volatile pair. When prices shift rapidly, many uniswap v3 concentrated positions go out of range simultaneously. The active liquidity in the v3 pool shrinks dramatically while the full-range v2 pool remains unchanged. In these periods, v2 may have more active depth at the current price than v3 despite v3 having a larger total value locked.

The second situation is for less-traded pairs. Uniswap v3 requires providers to actively manage price ranges, which is not worthwhile for tokens with low volume. V2 attracts passive capital that is comfortable depositing and ignoring, so many long-tail pairs have deeper v2 liquidity than v3. App.uniswap detects this automatically and routes accordingly.

The third situation is for very small trades where v3 gas costs are disproportionately high. On Ethereum mainnet, a uniswap v3 swap costs more gas than a v2 swap due to the additional complexity of tick math. For small trades, this gas difference can exceed any execution quality improvement from v3.


Uniswap v2 vs Uniswap v3

uniswap-v2-vs-uniswap-v3

Choosing between uniswap v2 and uniswap v3 is not a question most traders need to think about, since app.uniswap handles routing automatically. But for liquidity providers, the choice matters enormously and affects both returns and workload.

Capital Efficiency Comparison

Capital efficiency measures how much fee income a given amount of capital generates. By this metric, uniswap v3 is significantly more efficient than uniswap v2 for pairs where providers manage their positions actively.

A provider placing all their capital in a 1% price range around the current price on a uniswap v3 pool is effectively providing 100 times more liquidity depth at that price than the same capital would in a v2 pool. If the price stays within that range, their share of trading fees is dramatically higher.

The catch is that this efficiency only exists while the position is in range. The moment the price exits the range, the position earns nothing. Actively maintaining tight ranges requires constant monitoring, frequent rebalancing transactions, and gas costs that can erode returns for smaller positions. For large capital deployments with dedicated management, v3 capital efficiency is a major advantage. For smaller or passive deployments, the advantage shrinks or disappears entirely.

Gas Cost Differences on the Uniswap Interface

Gas costs on the uniswap interface differ between v2 and v3 in ways that matter for small traders and liquidity providers on Ethereum mainnet.

Uniswap v2 swaps are computationally simple: update two reserves, calculate the output amount, transfer tokens. A v2 swap typically costs around 100,000 to 130,000 gas units. Uniswap v3 swaps involve tick traversal, bitmap operations, and more complex accounting, typically costing 150,000 to 200,000 gas units for simple swaps and significantly more for multi-tick swaps.

On layer 2 networks like Arbitrum, Base, and Optimism, these gas differences become negligible because base fees are orders of magnitude lower. The version choice on L2 is driven primarily by liquidity depth and fee income rather than gas cost. On Ethereum mainnet, gas remains a meaningful factor for anyone making frequent small trades or managing liquidity positions regularly.

Use Cases That Still Favour v2 in 2026

Several categories of users and situations still favour uniswap v2 over v3 in 2026.

Passive liquidity providers who do not want to monitor positions are the clearest case. V2 full-range liquidity earns continuously without intervention. A provider can deposit, collect fees quarterly or annually, and never worry about price range management or rebalancing transactions.

Protocols and DAOs providing liquidity for their own governance tokens often prefer v2 for the same reason. Token treasuries rarely have dedicated teams for active liquidity management, and the set-and-forget nature of v2 positions is more practical for these use cases.

New token launches frequently use v2 for the initial liquidity event. Creating a v2 pool is simpler, the behaviour is more predictable, and the full-range model means early buyers can execute regardless of where the initial price discovery takes the token.

Finally, any pair where price volatility makes concentrated positions impractical tends to default to v2. If a token regularly moves 20-30% in a week, managing tight v3 ranges is exhausting and expensive. V2 absorbs the volatility without requiring constant intervention.


Tools and Risks for Uniswap v2 Users

tools-risks-uniswap-v2-users

Using uniswap v2 effectively means understanding both the risks inherent in the model and the tools available to manage your positions and access the protocol across different devices.

Impermanent Loss on Full-Range Uniswap Pools

Impermanent loss is the difference between the value of holding two tokens separately versus providing them as liquidity in a pool. It occurs because the pool rebalances continuously as prices change, and the rebalancing always moves away from whichever token is appreciating.

If you provide ETH and USDC to a v2 pool and ETH doubles in price, arbitrageurs buy ETH from your pool until its price in the pool matches the external market. After this rebalancing, you hold less ETH than when you deposited, because arbitrageurs removed ETH from your pool while adding USDC. If you had simply held the original amounts, you would have benefited fully from ETH's appreciation.

The loss is called impermanent because it reverses if the price returns to the entry point. If ETH doubles and then halves back, your impermanent loss disappears. It becomes permanent only when you withdraw at a different price than your entry.

For uniswap v2, impermanent loss affects all positions equally since all positions are full-range. The only mitigation is fee income: if fees earned during the period exceed the impermanent loss, the position is net profitable compared to holding. High-volume pairs with stable prices relative to each other, such as stablecoin pairs or correlated assets, tend to produce the most reliable positive outcomes for v2 LPs.

Using Uniswap App and Uniswap Wallet With v2

Managing uniswap v2 positions is possible through multiple official interfaces. The uniswap app on iOS and Android provides access to the Pools section where you can view existing v2 positions, add liquidity, and remove liquidity from mobile. The interface is streamlined for mobile use and covers the core LP management functions without the full complexity of the desktop interface.

The uniswap wallet integrates directly with the protocol and provides a self-custody environment for both trading and liquidity management. For users who prefer to manage everything from a single application without switching between a separate browser wallet and the trading interface, the uniswap wallet handles both functions natively.

For desktop users, app.uniswap accessed through a browser with a connected wallet remains the most feature-complete option for v2 liquidity management. The desktop interface shows more pool data, more position detail, and more configuration options than the mobile versions.

Uniswap Bridge and Uniswap Crypto Context for v2 Traders

Uniswap v2 is deployed on Ethereum mainnet and on several layer 2 networks and alternative chains. If you hold assets on one chain and want to provide liquidity or trade on another, the uniswap bridge provides a path for moving uniswap crypto assets between supported networks directly through the app.uniswap interface.

The bridge is particularly relevant for traders who want to use v2 liquidity on layer 2 networks, where gas costs are significantly lower and make the v2 model even more accessible for smaller positions. Moving ETH or USDC from Ethereum mainnet to Arbitrum or Base through the uniswap bridge allows you to interact with v2 pools on those networks without using a third-party bridging service.

For v2 liquidity providers on mainnet, the bridge is useful for moving earned fees or rebalancing across chains. The process runs through app.uniswap under the bridge tab, supports the major asset types, and settles within minutes for most layer 2 destinations.


FAQ

Is uniswap v2 still safe to use in 2026?

Yes. The v2 contracts have been running without a critical exploit since May 2020 and have processed hundreds of billions in volume. The code is open-source and audited. It is one of the most battle-tested smart contract systems in existence.

Why does app.uniswap sometimes route through v2 instead of v3?

The routing engine evaluates all available liquidity and selects the path that produces the best execution for your specific trade. V2 pools sometimes offer deeper active liquidity at the current price, particularly after price movements that push v3 positions out of range.

Can I still provide liquidity to a v2 pool through app.uniswap?

Yes. The Pools section on app.uniswap allows you to select the v2 version when creating a new position. Existing v2 positions are also visible and manageable through the same interface.

What is the fee rate on uniswap v2 pools?

All uniswap v2 pools charge a fixed 0.3% fee on every swap. There are no alternative fee tiers on v2. The full fee goes to liquidity providers through the auto-compounding mechanism.

How does impermanent loss on v2 compare to v3?

On v2, all positions are full-range, so every provider experiences the same impermanent loss for a given price movement. On v3, concentrated positions experience amplified impermanent loss within their range compared to v2, but earn proportionally more fees when in range. The net outcome depends heavily on the specific pair and market conditions.

Can I use the uniswap wallet to access v2 pools?

Yes. The uniswap wallet supports liquidity management for v2 pools through its built-in interface. For full position management functionality, the desktop version of app.uniswap provides the most complete toolset.

How do I find the official v2 contract addresses?

The canonical contract addresses for uniswap v2 are published on uniswap.org in the technical documentation section. Always verify contract addresses from this source before interacting with any pool or building any integration.

Route the next swap with context
Re-read price impact and routing before you sign.
Learn more Get started

Contact app.unsiwap.us.org

Editorial: [email protected] · +1-512-555-0188

External: Ethereum developer documentation.