- Uniswap is an Ethereum based exchange that allows anyone to swap ERC20 tokens.
- Traditionally token swaps require buyers and sellers to create liquidity, Uniswap creates markets automatically.
- Uniswap was designed to help solve decentralized exchanges' liquidity problem.
Decentralized exchanges solve many of the problems of their centralized counterparts including risk of hacking, mismanagement, and arbitrary fees. However, decentralized exchanges have their own problems, mainly lack of liquidity–which means a lack of amount of money sloshing around an exchange that makes trading faster and more efficient. That's where Uniswap comes in. It's trying to solve decentralized exchange's liquidity problem by allowing the exchange to swap tokens without relying on buyers and sellers creating that liquidity.
Below we explore how Uniswap works and how it became one of the most popular decentralized exchanges on Ethereum.
What is Uniswap?
Uniswap is a protocol on Ethereum for swapping ERC20 tokens. Unlike most exchanges, which are designed to take fees, Uniswap is designed to function as a public good–a tool for the community trade tokens without platform fees or middlemen. Also unlike most exchanges, which match buyers and sellers to determine prices and execute trades, Uniswap uses a simple math equation and pools of tokens and ETH to do the same job.
Who Invented Uniswap?
Uniswap was created by Hayden Adams who was inspired to create the protocol by a post made by Ethereum founder Vitalik Buterin.
What’s so special about it?
Uniswap’s main distinction from other decentralized exchanges is the use of a pricing mechanism called the “Constant Product Market Maker Model.”
Any token can be added to Uniswap by funding it with an equivalent value of ETH and the ERC20 token being traded. For example, if you wanted to make an exchange for an altcoin called Poop Token, you would launch a new Uniswap smart contract for Poop Token and create a liquidity pool with–for example–$10 worth of Poop Token and $10 worth of ETH.
Where Uniswap differs is instead of connecting buyers and sellers to determine the price of Poop Token, Uniswap uses a constant equation: x * y = k.
In the equation, x and y represent the quantity of ETH and ERC20 tokens available in a liquidity pool and k is a constant value. This equation uses the balance between the ETH and ERC20 tokens–and supply and demand–to determine the price of a particular token. Whenever someone buys Poop Token with ETH, the supply of Poop Token decreases while the supply of ETH increases–the price of Poop Token goes up.
As a result, the price of tokens on Uniswap can only change if trades occur. Essentially what Uniswap is doing it balancing out the value of tokens, and the swapping of them based on how much people want to buy and sell them.
What else is different?
Absolutely any ERC20 token can be listed on Uniswap–no permission required. Each token has its own smart contract and liquidity pool–if one doesn’t exist, it can be created easily. Once a token has its own exchange smart contract and liquidity pool, anyone can trade the token or contribute to the liquidity pool while earning a liquidity provider fee of 0.3%. To contribute to a liquidity pool, you need an equal value of ETH and ERC20 tokens.
How are Uniswap tokens produced?
Whenever new ETH/ ERC20 tokens are contributed to a Uniswap liquidity pool, the contributor receives a “pool token”, which is also an ERC20 token. Pool tokens are created whenever funds are deposited into the pool and as an ERC20 token, pool tokens can be freely exchanged, moved, and used in other dapps. When funds are reclaimed, the pool tokens are burned or destroyed. Each pool token represents a user’s share of the pool’s total assets and share of the pool’s 0.3% trading fee.
What can you do with Uniswap?
Since Uniswap is an open protocol of smart contracts, anyone can build a front-end user interface on top of it. For example, InstaDApp allows you to add funds into Uniswap pools without needing to access the official Uniswap user interface. New interfaces such as DeFiZap allow users to add funds to Uniswap pools using just ETH instead of ETH and another token. The interface even offers simple one-click solutions for purchasing pool tokens in combination with bZx token strategies.
At this rate, we should expect to see many more integrations between Uniswap’s unique token swapping system and new DeFi products in the coming years.