When desktop software ships a new version, the installer usually replaces the old one. On a public blockchain, a later factory can ship beside the earlier one, and both keep running because already-deployed code stays in place after the later family exists.
Reading the version list as a single upgrade path is what causes trouble, because leftover liquidity in an older version then looks like a bug, and a later token or fee vote gets mistaken for a fifth version. Search pages flatten those later names into the same chronology as the factories.
A version-history page for this class of protocol has to stack the families with their live dates, and keep later tokens and later fee votes in their own columns.
Uniswap's stack is v1 through v4 as separate contract families, UNI as a later vote token, and Tally fee votes as settings on parts of that stack. The first mechanical question is what the opening family actually put on chain.
What v1 actually shipped on November 2, 2018
Uniswap v1 shipped ETH-paired ERC-20 exchange contracts and a factory that let anyone add a token, so token-to-token swaps used ETH as the intermediary hop on Ethereum. Those contracts were the first automated market maker implementation.
A factory contract allowed anyone to add support for a token, and all tokens were paired with ETH, which let ETH sit as an intermediary for anything-to-anything swaps in a single transaction. That is the v1 pairing rule. Hayden later writes that the smart contracts were deployed to the Ethereum mainet on November 2, 2018, the final day of Devcon 4, and his post spells that chain as mainet in that sentence (source: Uniswap Blog, A Short History of Uniswap).
What you meet on v1 is therefore a narrow market architecture: each exchange holds ETH and one ERC-20, and a DAI-to-USDC swap is two hops against ETH because the factory never listed a DAI/USDC pool. Liquidity shares are an internal accounting token on that exchange.
Those calls settle on Ethereum, because Ethereum is a blockchain with a computer embedded in it, and it is the foundation for building apps and organizations in a decentralized, permissionless, censorship-resistant way (source: ethereum.org, Intro to Ethereum). How Ethereum works is the chain picture. v1 is one set of contracts on that computer, which is why a later Uniswap version cannot silently un-deploy it.
The introducing-v3 post still calls that first family a proof of concept for automated market makers, a type of exchange where anyone can pool assets into shared market making strategies (source: Uniswap Blog, Introducing Uniswap v3). Proof of concept here means the first live AMM implementation, and the factory stayed permissionless so junk ERC-20s could get an ETH pair if someone paid gas.
Hold the shipped product: v1 is ETH plus one ERC-20, a factory, and an intermediary hop. What Uniswap is names the protocol as that AMM. Dated version history is the stack that grew around the first factory.
How v2 added ERC-20 pairs after v1 stayed live
Uniswap v2 deployed to Ethereum mainnet on May 18, 2020 and added direct ERC-20/ERC-20 pairs, price oracles, and flash swaps, while the v1 factory was left running for that launch. Your ETH-paired v1 exchange could keep quoting after the new pair contracts existed.
The v2 live stamp is the second iteration of the Uniswap protocol deployed to the Ethereum mainnet. The same post lists ERC20 / ERC20 pairs, price oracles, and flash swaps, and it ships a migration portal for v1 liquidity providers who choose to move, so choice is the deciding word. Uniswap v1 is an automated, decentralized set of smart contracts, and it will continue functioning for as long as Ethereum exists (source: Uniswap Blog, Uniswap v2 Mainnet Launch).
The overview post, published before that launch, already treated v1 as remaining infrastructure. In Uniswap v2, any ERC20 token can be pooled directly with any other ERC20 token, which is the new pair type. In Uniswap v1, all liquidity pools are between ETH and a single ERC20 token, which is the old pool type. Direct pairs can improve prices because a DAI/USDC swap no longer pays two ETH hops of fees and slippage (source: Uniswap Blog, Uniswap v2 Overview).
Suppose you deposited DAI and ETH into a v1 exchange in 2019 and still hold that exchange's liquidity token in 2020. A v2 factory then creates a DAI/USDC pair, and your v1 token still points at the v1 exchange, because nobody's v2 pair contract can burn it. If you want the new pair, you withdraw from v1 and deposit into v2. If you do nothing, v1 keeps the reserves it already holds.
That is the stack rule how Uniswap works uses when it says later versions change where liquidity sits, then how pools are stored. The fill path itself, constant product inside a pair, belongs with Uniswap v2. Dated history keeps the chronology: May 18, 2020 added a family, and it left November 2, 2018 running.
The generic class of how AMMs work still uses a pool as inventory. Uniswap v2's historical work was to let that inventory be two ERC-20s without routing every trade through ETH. Wrapped ether appears in the core so native ETH can still be offered at the edges, and the older ETH-paired exchanges remain a separate family on the same chain.
v2 also split core and periphery, so routers can be replaced while pairs hold funds. That architecture is why a later interface can default to a newer version without the older pairs disappearing. Read the pair address, when you ask which family still holds your tokens.
How v3 stacked ranges on a still-live v2
Uniswap v3 deployed to Ethereum mainnet on May 5, 2021 and added concentrated liquidity, multiple fee tiers, and NFT positions, while v2 pairs were left free to stay. The v3 factory is another contract family on the same chain.
The v3 live stamp is Uniswap v3 deployed to the Ethereum mainnet. Liquidity providers who want a range must pick a fee tier and a price band, and each position is represented as an NFT. The Uniswap v2 Protocol will remain functional and available for use as long as the Ethereum network continues to exist, which is the stay-live claim. You are free to leave your v2 liquidity where it is, because the Uniswap v2 protocol will remain active and functional in perpetuity (source: Uniswap Blog, Uniswap v3 Mainnet launch).
| Version | Live date | What that family added | What stayed running |
|---|---|---|---|
| v1 | November 2, 2018 | ETH-paired ERC-20 exchanges and a factory. | First family. |
| v2 | May 18, 2020 | Direct ERC-20 pairs, oracles, flash swaps. | v1 ETH exchanges. |
| v3 | May 5, 2021 | Concentrated ranges, fee tiers, NFT positions. | v2 pairs. |
| v4 | January 31, 2025 | Singleton storage plus hooks as plugins. | v2 pairs and v3 pools. |
Concentrated liquidity is the version change. Capital can sit inside a chosen price range, and fees on that position accrue when price is in the band. Dated history only needs the fact that v3 added that product while v2 pairs kept running.
Day-level live evidence for the v3 factory is the May 5, 2021 launch post. Your v2 UNI/USDC pair does not become an NFT because v3 launched. If you want a range, you withdraw the fungible v2 share and open a v3 position. If you want the old whole-curve share, you can leave it, because volume may migrate while the pair contract stays.
That DeFi category is where those successive factories sit. Each version is still an AMM family, and the table is a stack, and they leave the earlier rows live.
UNI vs a protocol version
UNI is a later vote token: the ERC-20 governance token published on September 16, 2020, after v1 and v2 were already live. A UNI balance votes on protocol parameters, and it leaves a factory deployment in place.
One billion UNI have been minted at genesis and will become accessible over the course of 4 years, which is a token mint. The same Introducing UNI post dates itself September 16, 2020 and presents UNI as shared community ownership for a governance system.
That date sits between v2's May 18, 2020 mainnet launch and v3's May 5, 2021 mainnet launch, so you can hold UNI without holding a v2 LP token and you can hold a v1 liquidity share without holding UNI. Mixing those products is how a version chronology turns into a tokenomics page.
The UNI token is the product that carries the vote. Supply buckets and the unused mint ceiling sit with UNI tokenomics.
What a passed vote can change sits with UNI governance. Dated history only needs the chronology: the token arrived later than the first two AMM families, so UNI cannot be the thing that made v1 exist.
UniswapX and Unichain fail the same test. UniswapX is a signed-order auction that a filler may settle, including into Uniswap pools, and it skips deploying a fifth constant-product factory. Unichain is an OP Stack L2, which is a place Uniswap contracts can run, so a wallet that shows Unichain is switching networks.
A BloFin UNI/USDT spot credit is a venue line on a competing CEX, and it is also a book. Those protocol families still live on chain whether or not that book has a bid. Keep the split: versions are contract families, UNI is a vote token dated September 16, 2020, and later fee votes can burn UNI without minting Uniswap v5.
How v4 stacked a singleton on still-live v3
Uniswap v4 went live on January 31, 2025 as another AMM family: one PoolManager storing many pools, with hooks as optional plugins, while v3 positions and v2 pairs were left in place. v4 is a new storage and callback architecture on top of concentrated liquidity.
Uniswap v4 is Here is dated January 31, 2025. Hooks are modular plugins that allow developers to build custom logic for pools, swaps, fees, and LP positions, which is the plugin design. It is live on Ethereum, Polygon, Arbitrum, OP Mainnet, Base, BNB Chain, Blast, World Chain, Avalanche, and Zora Network today (source: Uniswap Blog, Uniswap v4 is Here). That is ten named networks on launch day, and you should leave a twelfth chain uninvented from that list.
Labs' versions article places the same family in the stack. There are four deployed versions of the Uniswap Protocol, which is the count. When you use the Uniswap web app, wallet, or extension, you can use Uniswap v1, v2, v3 or v4 (source: Uniswap Labs, Uniswap v2, v3, and v4).
Hooks are the version change, and dynamic fees and custom LP behavior are examples of what a hook may implement. Authoring one is developer work, so dated history only needs that v4 added that plugin design while earlier families kept their own contracts.
Ethereum smart contracts is why a singleton can exist beside thousands of older pair contracts: each deployment is its own code. PoolManager skips taking custody of a v2 pair by existing. Your v3 NFT still points at NonfungiblePositionManager until you migrate or close it.
v4 launch-day chains are a different list from later protocol-fee votes, because a pool can be creatable on a network where a later vote has yet to turn protocol fees on. Version live and fee-on are two independent clocks, and mixing them produces a fake v4-everywhere story.
The honest holder picture is the same stack you already saw at v2 and v3: a new family is available, the previous families still settle if Ethereum still runs, and migration is a choice, including the choice to do nothing.
Which later votes changed fees on the existing stack
UNIfication and later Tally votes changed protocol-fee parameters on pools that already existed, so they skipped deploying Uniswap v5 and they left v1 through v4 running. A fee-switch vote is a parameter change.
Tally proposal 93 is titled UNIfication and is marked Executed. The Uniswap protocol includes a fee switch that can only be turned on by a UNI governance vote, and the proposal asks governance to flip the fee switch and introduce a programmatic mechanism that burns UNI. Tally's execute stamp for that proposal is December 27, 2025 UTC (source: Tally, Uniswap proposal 93). That is a governance clock on v2 and selected v3 pools.
Tally proposal 100 is the later recap that people flatten into fees-are-on-everywhere, which is the error. Protocol fees are now live across all v2 and v3 pools on 11 chains: Ethereum, Arbitrum, Base, Celo, OP Mainnet, Soneium, X Layer, Worldchain, Zora, BNB Chain, and Polygon. That is the eleven-chain list. The same text activates v4 protocol fees on a subset, naming Ethereum, Arbitrum, Base, BNB Chain, Polygon, Optimism, and Robinhood Chain. The remaining five chains (Celo, Soneium, Worldchain, X Layer, Zora) will be addressed in a subsequent proposal (source: Tally, Uniswap proposal 100). Eleven named chains for v2 and v3, a subset for v4, and the twelfth name left uninvented.
A forced-migration story is the usual mix-up, because a new Uniswap version or a fee vote can look like an upgrade prompt. Launch posts for v2 and v3 already refused that reading: older contracts keep functioning as long as Ethereum exists, and liquidity providers are free to stay. v4's January 31, 2025 post is a live date for PoolManager.
Match three fields before you treat a pool as the current Uniswap: chain, version family, and whether a fee vote named that family on that chain. A Labs web app default that routes v3 first is an interface choice, and a UNI/USDT line on BloFin is a venue credit.
A version history is an incomplete changelog and a weak promise of the next factory, because later deployments, later fee adapters, and later L2s can exist without turning November 2, 2018 off. The stack is the history, and the fee switch controls parameters on parts of it.
Step back and the chronology is one stack. Uniswap shipped an ETH-paired AMM on November 2, 2018, then stacked v2, v3, and v4 as additional contract families. UNI votes in December 2025 and after turned protocol fees on for named pools without replacing the earlier factories.
Frequently asked questions
Is UniswapX Uniswap v5?
UniswapX is a signed-order auction. A filler competes to settle the order and may use Uniswap pools as inventory, or another route. That is a different product from a factory that deploys v2 pairs, v3 pools, or v4 PoolManager pools. If your wallet shows an UniswapX order, you are authorizing a fill. A version chip names which AMM family a pool belongs to, and an UniswapX order skips minting that family.
Does Unichain replace Uniswap v4?
Unichain is an OP Stack L2, a separate chain Uniswap contracts can be deployed on, while v4 is an AMM family that can run on Ethereum and on other listed networks. Switching a wallet to Unichain changes which chain the signer is looking at. It leaves a v3 NFT as a v3 NFT, and it leaves PoolManager on Ethereum running. If the screen shows chain id 130, you are on Unichain.
If I still hold v1 liquidity after v4 launched, did those tokens get deleted?
v4's January 31, 2025 launch added PoolManager, and it left v1 exchange liquidity tokens unburned. v2's May 18, 2020 post already shipped a migration portal as an option, and it said v1 continues as long as Ethereum exists. Your v1 share still redeems against that v1 exchange if the exchange still holds reserves. Doing nothing is a position.
Did UNI launch on the same day as Uniswap v1?
v1 deployed November 2, 2018. UNI's Introducing UNI post is dated September 16, 2020, after v2 had already gone live on May 18, 2020. UNI is a governance ERC-20 minted at one billion at genesis. It is a vote token, and holding it is optional for a v1 or v2 liquidity share. A wallet can show UNI and a v3 NFT as two lines because they are two contracts.
Was UNIfication a new Uniswap version?
Tally 93 is a fee-switch vote executed December 27, 2025 UTC, and it turned protocol fees toward a UNI burn on named pools. v1, v2, v3, and v4 remained the AMM families after that execute stamp. A later Tally 100 recap turned v2 and v3 protocol fees on across 11 named chains and v4 fees on a subset. Those are parameter changes.
Why can the Labs web app still quote a v2 pool after v4?
v2 pairs were left free to keep running. Labs' versions article says the web app, wallet, or extension can use v1, v2, v3, or v4, and the v3 launch post said the updated interface would alert you if a better rate sat on v2. A UI default that prefers a newer family is a routing choice, while the pair address is the family. If your LP token is a v2 ERC-20, a v4 PoolManager screenshot leaves it unmoved.
Are v4 protocol fees on every chain where v4 launched?
The January 31, 2025 post named ten networks where v4 was live that day, including Blast, Avalanche, and Zora Network. A later Tally recap turned v4 protocol fees on only for some pools on some of those networks, and it parked five names (Celo, Soneium, Worldchain, X Layer, Zora) for a later vote. Version live and protocol-fee-on are different lists, so leave the launch post as a live map.
Researched and written by the BloFin Academy editorial team with AI-assisted drafting. Updated September 2026. Primary sources include Hayden Adams' Uniswap history post, Uniswap Labs version support, Uniswap v2/v3/v4 launch posts, Introducing UNI, Tally proposals 93 and 100, and Ethereum.org's intro to Ethereum. All facts independently verified against cited documentation current as of September 2026.
This article is educational and general in nature, not financial or investment advice. Cryptocurrencies like UNI carry real risks, including price swings, smart-contract failures, leftover liquidity in older Uniswap versions, and venue failure. Nothing here is a recommendation to buy, sell, or hold any asset. Do your own research, and consider a licensed professional before making financial decisions. BloFin does not provide investment advice.
