What Is Uniswap and How Does It Work?
Pradžia
Straipsniai
What Is Uniswap and How Does It Work?

What Is Uniswap and How Does It Work?

Intermediate
Paskelbta Aug 24, 2020Naujinta Nov 22, 2024
13m

Key Takeaways

  • Uniswap is a decentralized cryptocurrency exchange. It’s an “on-chain marketplace” that allows users to buy and sell crypto on Ethereum and more than 10 other blockchains.

  • Traders can exchange thousands of different tokens on Uniswap without having to rely on intermediaries or centralized entities.

  • Users can also provide liquidity to Uniswap liquidity pools and earn fees on swaps from other users.

Introduction

Centralized exchanges (CEXs) have been the backbone of the cryptocurrency market for years due to their deep liquidity, faster transactions, fiat on-ramps, and customer support. However, decentralized exchanges (DEXs) are gaining popularity as users are attracted by their peer-to-peer trades and increased accessibility.

DEXs offer unique benefits that can make them a compelling alternative to CEX. One example is Uniswap. Created by Hayden Adams in 2018, its implementation was inspired by the underlying technology first described by Ethereum co-founder Vitalik Buterin. 

Uniswap pioneered the automated market maker (AMM) model and played a crucial role in the invention and development of DEXs. Today, Uniswap continues to be one of the most popular and user-friendly DEXs available, with high liquidity and a wide selection of tokens.

What Is Uniswap?

Uniswap is a DEX that lets users trade cryptocurrencies without depending on a central authority or intermediary. Initially, Uniswap was exclusive to the Ethereum network but has since expanded its offerings to support many other blockchains.

Uniswap services are based on smart contracts, which are self-executing programs on the blockchain with predetermined conditions directly written into code.

Uniswap employs an innovative AMM model, which uses liquidity pools instead of traditional order books to enable seamless trading. Users can provide liquidity to these pools by depositing an equal value of both tokens in the pair. In return, they receive Liquidity Provider (LP) tokens

Other users can swap tokens by interacting with the liquidity pools. A Constant Product Market Maker (CPMM) model is used to determine the price of assets in a liquidity pool.  

Uniswap uses open-source software, which you can check out on Uniswap GitHub.

How Does Uniswap Work?

At the core of Uniswap is its CPMM model. Let’s see how it works. 

Let’s say you deposit a trading pair to Uniswap’s liquidity pool as a liquidity provider (LP). You can commit any pair of tokens of equal value. For example, either ETH and one ERC-20 token, or two ERC-20 tokens. One of the tokens is usually a stablecoin such as DAI, USDC, or USDT. 

In return for committing the pair of tokens, you’ll receive "liquidity tokens" as an LP, representing your share of the liquidity pool and the corresponding portion of the trading fees generated by the pool.

Let's look at the ETH/USDT liquidity pool. We'll call the ETH portion of the pool x and the USDT portion y. Uniswap multiplies x by y to calculate the total liquidity in the pool, which we'll call k. The core idea behind Uniswap is that k must remain constant. Therefore, the formula for the total liquidity of the pool is: x * y = k.

So let's say Alice buys 1 ETH for 300 USDT using the ETH/USDT liquidity pool. In doing so, she increases the USDT portion and decreases the ETH portion of the pool. This will increase the price of ETH.

This occurs as there is now less ETH in the pool after the transaction and we know that the total liquidity of the pool (k) must remain constant; this mechanism determines that the price of ETH will be k/x. Ultimately, the price paid for the ETH in the pool is based on how much a given trade shifts the ratio between x and y.

It's worth noting that this model does not scale in a linear fashion. The larger the order, the greater the shift in the balance between x and y. Larger orders are therefore much more expensive than smaller orders and will lead to progressively greater slippage. It also means that the larger the liquidity pool, the smaller the shift between x and y, and therefore, the easier it is to fill large orders.

The Evolution of Uniswap

Uniswap has evolved over time, with different protocol versions offering new features and improvements. Below is a brief overview of Uniswap v1, v2, v3, v4, and UniswapX.

Uniswap v1

Launched in 2018, Uniswap v1 was the first version of the Uniswap protocol. It was designed with simplicity in mind but still allowed users to trade any ERC-20 token on the Ethereum blockchain. The protocol gained popularity among the Ethereum community and worked as a proof of concept for AMM-based decentralized exchanges.

Uniswap v2

Uniswap v2 was launched in 2020 and brought several improvements to the first version. One of the most significant changes was the introduction of ERC-20 to ERC-20 pairs, which meant liquidity providers could create pair contracts for any two ERC-20 tokens.

Users could also trade between the tokens without the need for intermediate conversion to ETH. In short, Uniswap v2 permitted liquidity pools consisting of any two ERC-20 tokens instead of needing to have ETH alongside one ERC-20 token.

Uniswap v2 also improved the efficiency of the protocol, lowered gas fees, and ushered in new features such as flash swaps, which meant tokens could be released to recipients before verifying that sufficient input tokens were received. The new features and optimizations set the stage for exponential growth in AMM adoption and made Uniswap one of the largest cryptocurrency spot exchanges.

Uniswap v3

One of the most significant changes Uniswap v3 introduced was related to capital efficiency. Many AMMs suffer from capital inefficiency — most of the funds they contain are usually not in use due to an inherent characteristic of the aforementioned x * y = k model. Simply put, the more liquidity the pool has, the larger the orders and price range the system can support.

LPs in these pools provide liquidity for a price curve between 0 and infinity, which means the capital provided by LPs in an AMM is evenly distributed across all price ranges. This means only a portion of the liquidity in the pool sits where most of the trading is taking place. However, it doesn't make much sense to provide liquidity in a price range that is far from the current price or will never be reached.

Uniswap v3 seeks to address this issue — LPs can now set custom price ranges within which they want to provide liquidity, which should result in more concentrated liquidity in the price range with the most trading activity. For example, if an LP sets a price range of $1,000 to $2,000, the liquidity provided can only enable trading between these two prices, instead of within infinite price ranges.

In some sense, Uniswap v3 is a rudimentary way of creating an on-chain order book on Ethereum, where market makers can decide to provide liquidity in price ranges of their choice. It’s worth noting that this change favors more experienced market makers over beginner participants. With this additional layer of complexity, less active LPs may earn less in trading fees than professional players who optimize their strategy consistently.

Uniswap LP positions as NFTs

Since each LP can set their own price range, each Uniswap LP’s position is unique and as such, no longer fungible. In Uniswap v3, LP positions are now represented by a non-fungible token (NFT). However, the shared positions can still be made fungible (ERC-20).

Uniswap v3 LPs now see all fees generated directly in the NFTs themselves. These NFTs can be traded between wallets and holders can always collect position fees. It's basically a digital image that displays essential information, such as the token pair and a curve representing the position's "steepness". Each Uniswap v3 position also has a unique color scheme, and different pools are represented by different color variations.

Different fee tiers

Uniswap v3 offers LPs three fee levels, 0.05%, 0.30%, and 1.00%, to allow LPs to adjust their profit margins based on the expected volatility of the token pair. For example, LPs are exposed to higher risks in non-correlated pairs, such as ETH/USDT, and lower risks in correlated pairs, such as stablecoin pairs.

Uniswap on Layer 2

Historically, Ethereum transaction fees have been on the rise as network usage has increased. This makes using Uniswap economically unfeasible at times, especially for smaller users. To solve this problem, Uniswap v3 allows Layer 2 scaling solutions to scale smart contracts while still enjoying the security of the Ethereum network. This implementation also helps to increase transaction throughput and ensure lower fees for users.

Uniswap live on BNB Chain

Uniswap went live on the BNB chain after receiving support from governance voters. This move can potentially provide users with more cost-effective trading options. It also means Uniswap users will be able to take advantage of BNB Chain's high speed and low transaction fees. Additionally, the integration allows Uniswap to tap into a new pool of liquidity and increase awareness and adoption among both retail and institutional investors.

Uniswap v4

Uniswap v4 brings interesting upgrades to make decentralized trading smoother, cheaper, and more flexible. One of the biggest features is “hooks,” which let developers customize how liquidity pools work, adding options like dynamic fees or splitting large trades into smaller ones to avoid price jumps.

Instead of creating a new contract for every pool, all pools run in a single contract (called singleton architecture), saving gas fees by up to 99%. Uniswap v4 also simplifies transactions with a system called flash accounting, while reintroducing direct ETH trading pairs for faster and cheaper swaps.

These updates are designed to cut costs, allow more creative trading strategies, and make the platform more appealing to pro traders and developers.

UniswapX

UniswapX is a new trading system that helps users get better prices by pulling liquidity from various sources, like decentralized exchanges and private inventories. Instead of paying gas fees directly, users sign orders off-chain, and third-party "fillers" handle the transactions, competing to offer the best prices. This setup also avoids failed transaction costs and protects users from MEV attacks, ensuring fairer trades.

What Is Impermanent Loss?

Aside from earning fees for providing liquidity to traders who can swap tokens, LPs should also be aware of an effect called impermanent loss. Let’s assume Alice is an LP who has deposited 1 ETH and 100 USDT into a Uniswap pool with a total liquidity of 10,000 (10 ETH x 1,000 USDT); the rest was funded by other LPs like her. Alice's share in the pool is 10%, meaning her initial deposit comprises 10% of the pool’s total liquidity.

At the time of Alice's deposit, the price of 1 ETH was 100 USDT, which means her deposit was $200 (1 ETH x $100 + 100 USDT). Now suppose that the price of ETH increases to 400 USDT. As a result, arbitrage traders add USDT to and remove ETH from the pool until the ratio between the two accurately reflects the new price. This causes the amount of ETH and USDT in the pool to decrease to 5 ETH and 2,000 USDT.

Alice decides to withdraw her funds from the pool. According to her share, she receives 10%, i.e., 0.5 ETH and 200 USDT, totaling $400 (0.5 ETH x $400 + 200 USDT). On the surface, it seems like Alice has made a profit.

However, if she had held onto her initial deposit of 1 ETH and 100 USDT, she would have ended up with a total value of $500 (1 ETH x $400 + 100 USDT). Therefore, by depositing her funds into the Uniswap pool, Alice has lost out on the ETH price appreciation.

This loss is referred to as “impermanent” because it can be mitigated if the prices of the pooled tokens revert to the same prices as when they were added to the pool. Additionally, since LPs earn fees, the loss may be balanced out over time. Nonetheless, LPs should be aware of the concept of impermanent loss before adding funds to a Uniswap pool.

Do note that the above scenario applies whether the price rises or falls from the time of the deposit. This means that if the price of ETH decreases from the time of the deposit, the losses incurred by the LP may also be amplified. 

How Does Uniswap Make Money?

Uniswap generates revenue through a small fee charged for each trade made using the protocol. This "liquidity provider fee" is set at a certain amount of the trade value and is automatically distributed to LPs. Unlike traditional exchanges, Uniswap as a protocol does not generate revenue for itself but for LPs. By concentrating their liquidity, LPs can increase their exposure within the specified price range to earn even more trading fees on Uniswap v3.

Also, due to Uniswap’s open-source and decentralized nature, there is no central entity controlling or profiting from the protocol. Instead, it’s maintained and improved by a community of users and developers through its decentralized governance system.

The Uniswap (UNI) Token 

Uniswap's native token, UNI, was launched in September 2020 and has since been attracting users and LPs to the platform. UNI is an ERC-20 token, which means it was built on Ethereum and can be stored in any cryptocurrency wallet that supports ERC-20 tokens.

The UNI token entitles its holders to governance rights, meaning they can vote on changes and improvements to the protocol. The extent of voting power a user has is proportional to the number of governance tokens they hold. The governance process is decentralized, which means anyone can submit a proposal and anyone can vote.

UNI tokens can be bought and sold on various cryptocurrency exchanges, so traders can use UNI tokens to trade for other cryptocurrencies or to participate in decentralized finance (DeFi) applications. Do note that new use cases may emerge through community requests and governance votes.

How to Use Uniswap

To use Uniswap, you need to have a cryptocurrency wallet that contains some ether (ETH) or ERC-20 tokens. Here’s how to start using a simple swap option on Uniswap:

  1. Connect to your Ethereum wallet on the Uniswap website.

  2. Select the token you wish to trade. Uniswap supports several ERC-20 tokens; make sure you select the correct one.

  3. Enter the amount you wish to trade. The interface will then show you the estimated amount of the other token you will receive based on the current exchange rate.

  4. If the amount is satisfactory, you can click "Swap". Your wallet will then prompt you to confirm the transaction.

  5. After confirming the transaction, the trade will be executed on Ethereum. Finally, the tokens will be displayed in your wallet.

Closing Thoughts

Uniswap is an evolving DEX protocol that allows anyone with a crypto wallet to buy, sell, and swap a wide variety of digital assets. The platform has enabled a new class of LPs to earn fees on their idle assets while allowing traders to easily swap between cryptocurrencies.

The launch of the UNI governance token has further established Uniswap's position as a community-driven platform. As the DeFi ecosystem continues to grow, it will be interesting to see how DEXs evolve to meet user demands while maintaining their core values of decentralization.

Further Reading

Disclaimer: This content is presented to you on an “as is” basis for general information and educational purposes only, without representation or warranty of any kind. It should not be construed as financial, legal or other professional advice, nor is it intended to recommend the purchase of any specific product or service. You should seek your own advice from appropriate professional advisors. Where the article is contributed by a third party contributor, please note that those views expressed belong to the third party contributor, and do not necessarily reflect those of Binance Academy. Please read our full disclaimer here for further details. Digital asset prices can be volatile. The value of your investment may go down or up and you may not get back the amount invested. You are solely responsible for your investment decisions and Binance Academy is not liable for any losses you may incur. This material should not be construed as financial, legal or other professional advice. For more information, see our Terms of Use and Risk Warning.