Rating: 4.33 (Votes: 3)

Make your way into Defi

Uniswap is a decentralized exchange built on Ethereum that utilizes an automated market making system rather than a traditional order-book. In Uniswap, users are given the privilege to merge two assets that are then traded against each other instead of equivalenting the buy and sell orders individually and the price can be determined based on the ratio between the two.
Uniswap eliminates trusted intermediaries and unnecessary forms of rent extraction, allowing for faster, more efficient trading. Where it makes tradeoffs decentralization, censorship resistance, and security are prioritized. Uniswap is Open-source software licensed under GPL and the protocol provides an interface for seamless exchange of ERC20 tokens on Ethereum. It is predicted that Uniswap will last as long as Ethereum because of its permission-less nature.


In 2016, Vitalik Buterin proposed a decentralized exchange that would employ an on chain automated market marker with certain unique characteristics and out of the proposed idea, Uniswap was born out of it. 2017, Hayden Adams worked on the idea with the intention of turning the idea into a functional product. On November 2, 2018, Uniswap was 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.

How it works

Uniswap is made up of a series of ETH-ERC20 exchange contracts. There is exactly one exchange contract per ERC20 token. If a token does not yet have an exchange it can be created by anyone using the Uniswap Factory contract. The factory serves as a public registry and is used to look up all token and exchange addresses added to the system.
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 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.
Exchange contracts are automated market makers between an ETH-ERC20 pair. Traders can swap between the two in either direction by adding to the liquidity reserve of one and withdrawing from the reserve of the other. Since ETH is a common pair for all ERC20 exchanges, it can be used as an intermediary allowing direct ERC20-ERC20 trades in a single transaction. Users can specify a recipient address if they want to receive purchased tokens at a different address from the one used to make a transaction.
Uniswap uses a “constant product” market making formula which sets the exchange rate based off of 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 uses 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.
The reason only one exchange per token can be registered to the factory is 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 custom, user-specified pool on the other. Custom pools could have fund managers, use alternate pricing mechanisms, remove liquidity provider fees, integrate complex three-dimensional fomo-based Ponzi scheme s 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 the public ones. It is recommended users only interact with audited, open-source smart contracts.

User Reviews
Add Comment & Review
Based on 3 Votes and 0 User Reviews
5 Star
4 Star
3 Star
2 Star
1 Star
Add Comment & Review
We'll never share your email with anyone else.
In This Category
Visit with QR Code
  • Category: DEX
  • Platform: All Platforms
  • Developer: uniswap
  • Visits: 12237
  • Last Update: March 22, 2021
Editor's Choice
Michael Novogratz
Changpeng Zhao