Uniswap v3 Arrives SOON!
Uniswap is a decentralized exchange (DEX) that makes it easy for users to swap an ERC-20 token for another ERC-20 token without the need of a centralized intermediary.
With a DEX, traders do not have to deposit their tokens on an exchange and be exposed to the security risks of a centralized exchange.
Users just need an Ethereum wallet like Metamask and they can immediately start swapping tokens.
Users can then swap tokens directly without the need for an order book.
This works using an Automated Market Maker (AMM) where Liquidity Providers (LP) deposit tokens into the smart contract and this liquidity then provides a price quote to traders without relying on any professional market makers.
Liquidity Providers are compensated with a 0.3% trading fee for providing liquidity on the protocol.
Uniswap Guide & Why it's The TOP DEX 💯
In 2016, Vitalik Buterin proposed a decentralized exchange that would employ an on-chain automated market marker with certain unique characteristics. Two years later, Uniswap was born. On November 2, 2018, Uniswap launched at Devcon 4 and was publicly announced and deployed to the Ethereum mainnet after receiving a grant of $100,000 from the Ethereum Foundation. The protocol quickly gained liquidity and started facilitating meaningful volume. Six months after launching, a fundraising round was completed, led by Paradigm to allow the addition of two more employees.
Uniswap is a simple smart contract interface for exchanging ERC20 tokens. It has an innovative model for pooling liquidity reserves and serves as an open-source frontend interface for traders and liquidity providers. A mechanism called the “Constant Product Market Maker” is used for determining exchange rate and price slippage as well as eliminating the need for an order book.
Each exchange holds reserves of both ETH and its associated ERC20 token. Anyone can become a liquidity provider on an exchange and contribute to its reserves. This is different than buying or selling; it requires depositing an equivalent value of both ETH and the relevant ERC20 token. Liquidity is pooled across all providers and an internal “pool token” (ERC20) is used to track each provider's relative contribution. Pool tokens are minted when liquidity is deposited into the system and can be burned at any time to withdraw a proportional share of the reserves.
Uniswap uses a “constant product” market-making formula which sets the exchange rate based on the relative size of the ETH and ERC20 reserves, and the amount with which an incoming trade shifts this ratio. Selling ETH for ERC20 tokens increases the size of the ETH reserve and decreases the size of the ERC20 reserve. This shifts the reserve ratio, increasing the ERC20 token’s price relative to ETH for subsequent transactions. The larger a trade relative to the total size of the reserves, the more price slippage will occur. Essentially, exchange contracts use the open financial market to decide on the relative value of a pair and use that as a market-making strategy.
A small liquidity provider fee (0.30%) is taken out of each trade and added to the reserves.
While the ETH-ERC20 reserve ratio is constantly shifting, fees make sure that the total combined reserve size increases with every trade.
This functions as a payout to liquidity providers that is collected when they burn their pool tokens to withdraw their portion of total reserves.
Guaranteed arbitrage opportunities from price fluctuations should push a steady flow of transactions through the system and increase the amount of fee revenue generated.
Only one exchange per token can be registered to the factory to encourage providers to pool their liquidity into a single reserve. However, Uniswap has built-in support for ERC20-to-ERC20 trades using the public pools from the factory on one side of the transaction and a custom, user-specified pool on the other. Custom pools could have fund managers, use alternate pricing mechanisms, remove liquidity provider fees, integrate complex fomo-based Ponzi schemes, and more. They just need to implement the Uniswap Interface and accept ETH as an intermediary asset. Custom pools do not have the same safety properties as \public ones. It is recommended users only interact with audited, open-source smart contracts. 
Uniswap achieved many impressive milestones in August of 2020.
Total liquidity across all pools on the platform reached $300 million, fifteen times more than only 2 months earlier. 24-hour trading volume soared over $215 million and Uniswap even overtook Tether in gas fees, dropping a collective $7 million, compared to Tether's 6.23 million. 
On October 4, 2020, Dune Analytics found that throughout the prior month, Uniswap processed $15.371 billion in volume. Throughout the same month, Coinbase, another popular exchange, processed $13.6 billion in volume. Leading factors for why the exchange has grown significantly are said to be the growth of DeFi and yield farming along with the launch of their UNI token.
On September 16th, 2020 Uniswap released its platform's governance token, allowing anyone who's ever even interacted with a Uniswap v1 or v2 contract to claim an airdrop of 400 UNI.
Liquidity providers and users holding SOCK tokens were given additional rewards.
The tokens were allocated as follows: 
60.00% were given to Uniswap community members (600,000,000 UNI)
21.51% were given to team members and future employees with 4-year vesting (215,101,000 UNI)
17.80% were given to investors with 4-year vesting (178,000,000 UNI)
0.69% were given to advisors with 4-year vesting (6,899,000 UNI)
There will also be 2% inflation per year that will start after 4 years
Of the 600,000,000 community allocated tokens, 150,000,000 UNI could immediately be claimed by historical liquidity providers, users, and SOCKS redeemers/holders based on a snapshot that ended on September 1, 2020, at 12:00 am UTC.
49,166,400 UNI has distributed pro-rata to all 49,192 historical LPs. 100,613,600 UNI was split evenly among all 251,534 historical user addresses, which amounted to 400 UNI tokens that were worth ~$1,700 within hours. They even airdropped tokens to ~12,000 addresses that only ever submitted failed transactions. 220,000 UNI was even given to the 220 accounts that held SOCKS tokens at one point. A total of 5,000,000 community UNI tokens will be distributed through yield farming in stablecoin pools.
After distributing 150,000,000 UNI, the governance treasury will retain 430,000,000 UNI to distribute through contributor grants, community initiatives, liquidity mining, and other programs.
UNI will vest to the governance treasury on a continuous basis for the following four years.
Token holders will be able to access to vested UNI starting October 18, 2020, 12:00 am UTC.
40% of the total governance treasury will be accessible by the end of the first year, another 30% of the total supply by the second year, another 20% of the total supply by the third year, and the final 10% of the total supply by the fourth year.
Uniswap governance is functional from the beginning, but control over the treasury is delayed until October 17, 2020, 12:00 am UTC.
The Uniswap fee switch is subject to a 180-day timelock delay.
Governance requires the following rules for participation:
1% of UNI total supply (delegated) to submit a governance proposal
4% of UNI supply required to vote ’yes’ to reach quorum
7 day voting period
2-day timelock delay on execution
In March 2020, the Uniswap team announced the launch of Uniswap V2.
The second iteration of Uniswap includes the following new features: ERC20/ERC20 pairs , price oracles , flash swaps , Core/Helper architecture and technical improvements.
The introduction of ERC20 token/ERC20 token pools in Uniswap V2 is useful for liquidity providers, who can maintain more diverse ERC20 token denominated positions, without mandatory exposure to ETH.
Having direct ERC20/ERC20 pairs also improves prices because routing through ETH for a swap between two other assets involves paying fees and slippage on two separate pairs instead of one.
If two ERC20 tokens are not paired directly and do not have a common pair between them, they can still be swapped as long as a path between them exists.
Uniswap V2 implements new functionality that enables decentralized and manipulation-resistant on-chain price feeds.
This is achieved by measuring prices when they are expensive to manipulate, and accumulating historical data.
This allows external smart contracts to create gas-efficient, time-weighted averages of Uniswap prices across any time interval.
Uniswap V2 includes a number of improvements for price feed built on top of it.
First, every pair measures (but does not store) the market price at the beginning of each block, before any trades take place.
This price is expensive to manipulate because it was set by the last transaction in a previous block.
Uniswap V2 adds the end-of-block price to a single cumulative-price variable in the core contract weighted by the amount of time this price existed.
This variable represents a sum of the Uniswap price for every second in the entire history of the contract.
Uniswap V2 flash swaps allow users to withdraw as much as they want of any ERC20 token on Uniswap at no upfront cost and do anything they want with them, provided that by the end of the transaction execution, they either pay for all ERC20 tokens withdrawn , pay for a percentage of ERC20 tokens and return the rest , or return all ERC20 tokens withdrawn .
In March 2021, the Uniswap team presented an overview of Uniswap V3.
They are set to have an L1 Ethereum mainnet launch on May 5, with an L2 deployment on Optimism set to follow shortly after.
In Uniswap V3, liquidity providers (LPs) will be able to concentrate their capital within custom price ranges, providing greater amounts of liquidity at desired prices. In doing so, LPs construct individualized price curves that reflect their own preferences. LPs can combine any number of distinct concentrated positions within a single pool. By doing so, an LP can approximate the shape of any automated market maker or active order book.
Users could trade against the combined liquidity of all individual curves with no gas cost increase per liquidity provider.
Trading fees collected at a given price range are split pro-rata by LPs proportional to the amount of liquidity they contributed to that range.
At launch, capital efficiency gains will max out at 4000x for LPs providing liquidity within a single 0.10% price range.
The V3 pool factory is technically capable of supporting ranges as granular as 0.02%, translating to a maximum of 20,000x capital efficiency gains relative to V2.
As a byproduct of per-LP custom price curves, liquidity positions will no longer be fungible in V3 and will not be represented as ERC20 tokens in the core protocol. Instead, LP positions will be represented by Non-Fungible Tokens (NFTs). However, commonly shared positions can be made fungible (ERC20) via peripheral contracts or through other partner protocols. Additionally, trading fees will no longer be automatically reinvested back into the pool on LPs’ behalf.
Uniswap v3 will offer LPs three separate fee tiers per pair — 0.05%, 0.30%, and 1.00%.
These options ensure that LPs tailor their margins according to expected pair volatility: LPs take on more risk in non-correlated pairs like ETH/DAI and, conversely, take on minimal risk in correlated pairs like USDC/DAI. Uniswap v2 introduced a protocol fee switch, which allowed a flat 5 basis point (16.66% of LP fees) fee to be turned on by governance. Uniswap v3 protocol fees will be off by default but can be turned on by governance on a per-pool basis and set between 10% and 25% of LP fees.
Uniswap v2 introduced time-weighted average price (TWAP) oracles. These oracles serve as a critical piece of DeFi (Decentralized Finance) infrastructure and have been integrated into dozens of projects, including Compound and Reflex. Uniswap v3 offers significant improvements to the TWAP oracle, making it possible to calculate any recent TWAP within the past ~9 days in a single on-chain call. This is achieved by storing an array of cumulative sums instead of just one. Despite this improvement, the gas cost to Uniswap traders for keeping oracles has been reduced by ~50% relative to v2. The costs for calculating TWAPs in external smart contracts are cheaper as well.
List of DeFi terms