DeFi Explained: Automated Market Makers
Automated market makers (AMMs) have become all the buzz, largely for replacing the traditional exchange-listing process and limit-order books with a permissionless liquidity pool run by algorithms.
We compare the four most popular ones — Kyber Network, Uniswap, Balancer, and Curve Finance.
Automated market makers are smart contracts that create a liquidity pool of ERC20 tokens, which are automatically traded by an algorithm rather than an order book. This effectively replaces a traditional limit order-book with a system where assets can be automatically swapped against the pool’s latest price.
There are two main types of automated market makers (AMMs). While one may be governed and set up by professional market makers, the other is fully automated by a set algorithm, allowing any user in the market to participate by depositing liquidity into the smart contract.
Each of these AMMs is accompanied by notable pros and cons. Today, we will explore the three most popular automated market makers that are currently available in the DeFi ecosystem.
Kyber Network was one of the first AMMs to introduce automated liquidity pools to the crypto ecosystem in early 2018.
Kyber Network’s liquidity pools are deployed by either professional market makers or by the project’s team, and unlike the other three AMMs, the pools are not open for anyone to provide liquidity.
The price of the tokens in the liquidity pool can be set by external oracles or automatically determined by the smart contract parameters during setup. Both of these setups allow for market makers to have greater control of the pool in times of high volatility.
Uniswap was the first true decentralized AMM to enter the market in November 2019.
Uniswap allows for anyone to deploy a liquidity pool on the network, and enables any other trader in the ecosystem to contribute liquidity.
Unlike Kyber Network, the price in the Uniswap smart contract cannot be configured or controlled. The price of the tokens in the pool is fully determined by the balance ratio between the two tokens in the pool.
As compared to the previously-mentioned protocols, Balancer is the newest AMM released onto the market.
Balancer functions similarly to Uniswap but also offers new, dynamic features that allow it to have more than one use case outside of a simple liquidity pool.
Curve is one of the newer AMM protocols to enter the Defi ecosystem in early 2020. Curve has admin-only generated liquidity pools where everyone can contribute to these pools, but they have one big distinction; Curve’s liquidity pools only support stablecoins.
Curve’s decision to focus on only stablecoins is a feature and not a limitation. By offering stablecoin only liquidity pools the exchange is able to complete large trades with low slippage due to its concentration of deposits in its limited amount of pools.
Kyber Network Features
Kyber Network has up to three types of liquidity pools that market makers can deploy.
1. Fed Price Reserves: These reserves allow the deployed liquidity pools to have an external price feed. When prices have not been updated or a set imbalance is triggered, the trading can automatically stop. Fed price reserves make it easy for traditional market makers to participate and have greater control over when they want to offer liquidity according to market conditions.
2. Automated Price Reserves: Market makers can create liquidity pools with predefined algorithms that automatically adjust and set the price. This removes the need for an external price feed and frequent smart contract price updates. This functionality, known as the xyk formula, is similar to Uniswap and Balancer.
3. Bridge Reserves: This type of reserve aggregates liquidity from other on-chain sources like 0x and Uniswap. Trades coming from these external liquidity sources are not charged a fee, and instead, incur the fee from the originating network.
The Kyber Katalyst upgrade allows dapp developers to add a custom spread to the tokens in the pool. For example, a wallet developer can add their own 0.1% on top of the 0.2% network fee and keep the difference.
A flat 0.2% fee is applied to every trade that transpires on the Kyber Network network.
Large orders may aggregate liquidity from multiple reserves, including bridge reserves, so true fees can also be more or less due to bridge reserve fees being charged at the originating network.
Orders are always be executed with minimum slippage and reserve-based fees in mind, so users always get the best possible price regardless of fees paid.
- Trading on KyberSwap has no associated fees for the TAKER of market orders. Instead, fees are priced into the tokens by the market maker’s price reserves. This creates an easy, streamlined trading experience.
- The protocol allows for the integration of external liquidity pools like Uniswap. The aggregation of external markets keeps users from “shopping around”, and instead encourages them to trust the system to find the best prices available.
- Kyber widgets can be deployed into any dapp to make use of the instant on-chain liquidity for payments and instant portfolio rebalances.
- Kyber liquidity reserves are better guarded against “impermanent loss”, impermanent loss is the effect of having a loss by providing liquidity instead of just holding the token where you would have been in profit. Since market makers can set their own prices using algorithms, this allows them to react fast when market conditions are not in their favor.
- Kyber Network’s liquidity pools are aimed toward experienced market makers and require an acute knowledge of smart contract deployment.
- There are large capital requirements to seed the initial liquidity in the pool. A minimum of $20,000 USD for fed price reserves, and $50,000 USD for automated price reserve pools.
- Each liquidity pool must be approved by the Kyber Network team in order for it to go live in the system, making it a less decentralized/permissionless and more curated experience.
- Fees paid on Kyber Network orders can’t be predicted with 100% accuracy before submitting the order, since orders might be executed against bridge reserves with higher fees without the user’s consent, but even then, all orders are executed to provide the most favorable price for the user.
The 0.2% network fee collected from all trades is contributed to an allocation structure, which is voted on through the governance of the protocol. All network fees are collected and distributed in ETH.
Below is a breakdown of the 0.2% network fee allocation:
- Burn: 5% is used to burn the KNC token. The protocol buys KNC with the collected ETH from the Kyber liquidity reserves and burns this from the supply. By burning KNC, the circulating supply is diminished, thus increasing the scarcity of the existing KNC tokens.
- Reward: 65% is used to reward KNC token holders that participate in the protocol governance. The fee is evenly distributed by the total amount of KNC a user has staked in the governance pool.
- Rebate: The remaining 30% is used to incentivize liquidity providers within the fed price reserve pools. Independent dapp developers that bring on trading liquidity are rewarded from this pool of funds, divided by the total amount of trading volume they brought on.
It’s important to note that the Kyber Network fee structure recently went through a complete overhaul. Throughout most of the protocol’s history (FEB 2018- JUL 2020), the fee structure was a simple 70% burn and 30% rebate to dapps and liquidity providers.
Uniswap is an automated market maker that allows crypto users to deposit their assets into a shared pool, thereby enabling them to earn trading fees from the pool.
Uniswap’s liquidity pools can consist of only two pairs, which can then be paired against any ERC20 token. The most common are ETH/TOKEN and DAI/TOKEN. Generally, any TOKEN/TOKEN pool can be created as long as the token meets the ERC20 token standards.
Uniswap asset prices are automatically set by the pool balance, and pool participants must deposit an exact 50% ratio between the two assets in order to join the pool.
The first deposit sets the price according to the token balance ratio. This mechanism incentivizes arbitrators to actively trade on popular pools to keep the prices aligned with the external markets.
A flat 0.3% fee is applied to every trade from each pool. Trades that are routed through more than one pool are accompanied by a 0.6% fee in order to complete the trade since each pool in the protocol charges its own fee.
- Anyone can participate in a Uniswap pool — the only requirement is to deposit the equal amount of the paired tokens at the set price ratio.
- There are no capital requirements for pool deposits; a user with only $100 USD worth of assets in the pool has an equal share and equivalent benefits as a user who deposited $1,000 USD worth of assets. The trade fees that the pool generates are divided proportionally to the amount that the user-contributed to the pool.
- Uniswap has proven to be a successful launchpad for new token listings. Any team is capable of listing their own token without any authorization from the Uniswap team. Uniswap is built completely on-chain; therefore, anyone is free to interact with the smart contracts directly.
- Non-direct pairs will incur double the trading fees (0.6%), as the liquidity had to come from two different pools.
- Uniswap’s trustless listings allow for scammers to take advantage of less aware users. Scammers are capable of wash trading and inflating the pool activity to attract attention. For this reason, Uniswap is recommended for more experienced users if you are not trading in one of the popular pools.
- Pool participants are subject to impermanent loss due to the volatility of the trading pair in the pool.
Currently, all of Uniswap’s 0.3% pool fees go directly to the pool participants.
There are also plans to split the fee between pool participants and a protocol fee (0.25% pools and 0.05% protocol).
The Uniswap team has already built the protocol fee into the smart contract parameters. This has yet to be activated, as it is currently pending the development of a protocol governance system.
Balancer has introduced a plethora of new features to the AMM world. Building off of Uniswap’s success, the Balancer team works to frequently address many of the DeFi community’s requested AMM features.
For instance, they have implemented multi-token pools, dynamic pool fees, private pools, and custom pool ratios.
With Balancer, pools can be created that include up to 8 tokens in a single liquidity pool. This feature opens up the potential for various use cases, the most prominent being an automated portfolio manager that can act as an index.
When a pool is created, the parameters allow for a custom pool fee, enabling it to compete against Uniswap and other AMMs. The pool fee can also be adjusted based on volatility and the market conditions around the set assets in the pool.
Balancer pools allow for custom pool ratios. For example, a pool can be 50% WBTC/25% ETH/25% DAI.
Balancer’s fees are set by the individual pools. Pool operators can set fees anywhere from 0.0001% and 10%. Within the most popular pools, fees typically range from 0.1% to 0.15%.
- Balancer’s dynamic features allow it to be used as more than just a liquidity pool. Its asset managers can create private pools that act more like an index basket of assets, which automatically adjusts based on the percentage ratio set.
- Pools of the same asset can exist on the platform with different fees. This encourages participation from users that wish to HODL and only provide liquidity when traders are willing to pay higher trading fees, such as periods of high volatility.
- Balancer’s pool ratios can be adjusted dynamically over time, allowing for liquidity providers to change their strategy, especially to minimize the risk of impermanent loss.
- Competing pools in the protocol can create fragmentation of the assets. With different fees in each pool, the slippage may have a higher impact on large trade orders.
- The increased complexity of supporting many tokens and token types in a pool can open the pool to an attack vector. In the past, there was a notable incident (STA Deflationary Hack) in which a clearly-exploitable token was taken advantage of by a hacker. The phrase “a liquidity pool is only as strong as its weakest asset” has proven to be a valuable lesson, and with up to 8 tokens in a pool, the risk is higher.
- Pool participants are subject to impermanent loss due to the volatility of the trading pair in the pool.
Balancer pools charge a dynamic swap fee for each trade. The fee is determined by the pool owner and can be set anywhere from 0.0001% to 10%. The fees collected from the trades are proportionally distributed to the pool liquidity providers according to their share of deposits in the pool.
Balancer is also one of the first AMM pools to experiment with liquidity mining. The protocol’s token, BAL, is distributed by the proportion of liquidity provided to the approved token pools. The distribution rate and approved tokens are actively discussed in governance. Currently, there are 145,000 BAL tokens distributed every week.
The team has recently updated the distribution to each pool, taking into account the charged fees. To prevent pools from placing the lowest fees in order to game the liquidity mining system, a new rule has been implemented: the lower the fee in the protocol, the lower the reward for that pool becomes.
Curve’s signature feature is to aggregate only stablecoin tokens into liquidity pools that allow users to swap between tokens like DAI and USDC at very low slippage, while at the same time offering liquidity providers a stable way to earn trading fees and interest from the lending protocols.
Put simply, Curve offers interchangeability between the growing number of different stablecoins for dapp builders and users.
When liquidity providers deposit their stablecoins into the pool it’s automatically traded into an equal share of the pool tokens. For example, a 1000 USDC deposit can be divided into parts of USDC, USDT, TUSD, and DAI.
When the depositor goes to withdraw from the pool they are asked which stablecoin token to withdraw.
This makes it easy for users to provide liquidity and not have to source a share of each stablecoin in the pool like is the case in Balancer and Uniswap.
Curve also offers a small deposit bonus to liquidity providers that deposit the stablecoin with the smallest share in the pool to incentivize a healthy liquidity utilization ratio between them.
All stablecoin deposits in the Curve pools are put to use in Compound, Aave, and dYdX lending protocols. The lending protocols in return allow the idle assets in the liquidity pool to collect an additional interest from the lending pools APY rates.
Liquidity providers are also better protected from impermanent loss because all stablecoins in the pools are pegged to a single price. Therefore liquidity providers have virtually no loss in value between the assets since they are all soft pegged to the dollar (or Bitcoin with the tokenized bitcoin tokens).
Curve features incentivized pools that allow liquidity providers to earn an extra APY in the form of the sponsor’s project token like Synthetix and Ren.
Currently, liquidity providers can earn SNX and REN tokens by providing liquidity to the sBTC pools. The sUSD pool is also sponsored to earn SNX for providing liquidity.
A 0.04% fee is applied to every trade. Currently, the same fee is set by the protocol administrators into all of the pools. When the CRV token and DAO platform is released this fee may change through the governance process.
- Since Curve liquidity pools are only for stablecoins, it does not suffer from the “impermanent loss” effect.
- Due to its unique focus on specific assets, Curve’s slippage “curve” has been adjusted to offer a lower slippage for traders. Curve also has by far the lowest swap fees at 0.04%.
- Curve recently added liquidity pools for tokenized Bitcoins on Ethereum, allowing for Bitcoin holders to stake their tokenized BTC and earn trading fees in tokenized BTC.
- The Compound cToken pool has deep liquidity. This allows users to trade between the interest-bearing stablecoins without having to interact with the lending protocol.
- The amount of stablecoins in the ecosystem with more than 100M market cap is now at eight. Having a decentralized protocol that specializes in providing deep liquidity between them creates an FX market where most trades happen for utility and not only for speculation.
- There is a higher smart contract risk in using Curve pools due to the inherent feature of leveraging the lending protocols interest rates, due to more smart contract interactions there is a greater chance of an exploit or bug being encountered.
- In an industry where the number of different centralized and decentralized stablecoins is constantly increasing, the risk of one of these malfunctioning also grows in parallel. Since the pool depositors’ assets are equally divided among all stablecoins in the pool, everyone faces the same risk even if you did not initially deposit the particular stablecoin that encounters a problem.
- Most AMM pools feature hundreds of coins to swap between or provide liquidity for. Curve’s unique focus restricts their market to a specific niche.
Currently, all of the 0.04% trade fees go to the liquidity providers, on top of the lending protocols interest rates that were earned for the time in the pool.
With the upcoming launch of the CRV token, the team has indicated that all liquidity providers (starting from day 1) will be retroactively rewarded in CRV tokens. The CRV token will allow the governance of the protocol where users can introduce value capture mechanisms that benefit the CRV token holders and longterm liquidity providers the most.
Which Type of AMM is Right for You?
Automated market makers serve dual purposes. For traders, AMMs allow for an instant trade experience bought at market price; for liquidity providers, market participants can earn trading fees from each trade.
Professional market makers might be more comfortable with a system like Kyber Network, while regular crypto users are becoming more comfortable with Uniswap and Balancer. Users that are looking for steady interest rates on their stablecoin holdings can use Curve.
In either case, it’s important to monitor your pool and verify that market conditions are in your favor. Inexperienced users can quickly learn that “impermanent loss” can end up eating all of the profits that they’ve accumulated from trading fees.
In addition to the four AMM giants detailed here today, there is an existing AMM that has recently performed a major protocol upgrade Bancor V2 (under development), and it promises to tackle “impermanent loss” head-on. We will explore how all of these AMM protocols deal with impermanent loss in more detail next.