Uniswap is a decentralized exchange protocol built on the Ethereum blockchain that offers non-custodial trading of ERC-20 tokens. Its first version (Uniswap v1) has been operating since November 2018 (launching at DevCon 4), while the second version (Uniswap v2) launched in May 2020.
In Uniswap, users can swap tokens, add tokens to a pool to earn fees, or list a token without trusting any central intermediary. Since all interactions are done directly on-chain and thus cost gas fees, Uniswap has become the most significant gas contributor on the Ethereum public network and became the most widely used decentralized application as of the time of writing.
Uniswap is built on a unique system called Automated Market Maker (AMM). At its core, liquidity is created by pools composed of two ERC-20 tokens. As a reward for liquidity provision, parties (Liquidity Providers, or LPs) collect swap fees that are incurred whenever individuals swap tokens. In Uniswap v2, swap fees are set at 0.30% of the notionally traded amount. Collected fees are allocated to the reserve of the pool. Once the protocol switch is turned on, UNI holders will collect 0.05% of each swap, while LPs' reward will decrease to 0.25%.
Despite not being the first AMM, Uniswap has popularized the growth of automated market maker protocols, leading to the creation of competing protocols like SushiSwap, which greatly rely on its set of audited open source contracts.