UMA Liquidity Mining — What You Need To Know Before Getting Started
UMA protocol has just completed its second “rollover” of uUSD assets after expiration. Naturally, many questions arose regarding LP strategies and how to avoid slippage and price premiums. There has also been a lot of confusion surrounding Balancer pools and the risks therein. In this article, we’re going to:
Discuss how to provide liquidity to uUSD pools and “avoid premiums”
- Look at the pros/cons of single asset deposits
- Understand the basics of Balancer pools and how they work
UMA Liquidity Mining — Slippage and Premiums
Currently, there are two Balancer pools available for users to provide liquidity to and “Farm” UMA tokens. These would be: uUSDrBTC-DEC and uUSDwETH-DEC. The only way to entirely avoid slippage when depositing liquidity is to deposit equal weights of each asset into the pool. This means that we have to get our hands on some uUSD!
Right now, the only two ways to get uUSD are:
- Buying coins on the market
- Minting them through UMA at https://tools.umaproject.org/
Many users are wary of buying uUSD on the market, since market prices tend to be higher than $1. Since these prices aren’t showing up on CoinGecko yet, a trick I sometimes use is to open up the exchange interface and see what it takes to buy 1 uUSD. Here are the prices at time of writing:
Price of uUSDwETH-DEC is ~$1.07.
Price of uUSDrBTC-DEC is ~$1.048.
Keep in mind that the price of these uUSD synthetic assets will approach $1 as expiration draws nearer. However, with expiration still 90+ days away, we can assume that they will stay above $1 for the time being.
Nonetheless, some farmers don’t want this depreciation to cut into their yields. The alternative method is to mint the yUSD and provide these to the pool instead. Navigate to tools.umaproject.org and connect your metamask wallet. Then, select the EMP you would like to mint. In this example, I’ve chosen uUSDwETH-DEC.
Next, click on the “Manage Position” tab and make sure the “Create” action is selected.
Type in the amount of uUSDwETH-DEC you would like to mint, and make sure that you have the minimum amount of collateral in your Metamask (plus a little extra for gas fees). All that’s left is to approve the contract and run the transaction!
Remember that if you have $1000 of ETH, you will not be able to mint $1000 worth of uUSD. All minted positions must be overcollateralized according to the GCR (Global Collateralization Ratio) which is 2.4014 for this asset. If collateralization falls beneath 1.25, there is risk for liquidation.
Minting uUSD eliminates the risk of negative interest (so long as the price of uUSD >$1), but you will decrease your position size, maintain exposure to ETH, and risk liquidation. Farms have to do some “honest work” in determining which risk profile is more acceptable.
Single Asset Deposits
When making a single asset deposit to a Balancer pool, you are essentially packing several transactions into one. First, you are depositing your single asset into the pool, which will then “swap” a portion into the other pool assets, respective to their weights. The “slippage” incurred includes the pool fee as well as the small loss of value induced by trading. For uUSD pools, this slippage is typically quite small (currently 0.2%) due to the low pool trading fee.
As discussed earlier, LP’s must consider the impact of uUSD price premiums and determine which risk profile is worth the potential reward. If uUSD is trading at a premium, LP’s must take into account the value atrophy of yield dollars as they approach expiration.
Taking the above LP snapshot as an example, they deposited $40k into the uUSDwETH-DEC Balancer pool. If uUSDwETH trades at exactly $1 and pool balances do not change until expiration on Dec 31, the value will be $38920 in approximately 96 days, representing a 2.7% loss in value over that time period. Extrapolated over a one year period, this works out to about -10.26% APY. Now, the APY for yield farming (according to tools.umaproject.org) is about 62%, which is much higher than the loss taken from single asset deposits.
However, there are several variables that could change this calculation: UMA price fluctuations, pool balance increasing, and uUSD trading at a higher premium could mean that single asset deposits are no longer a good choice.
Yield farmers must do “honest work” to assess if a larger LP position, reduced exposure to ETH, and negative interest rates outweigh the potential rewards.
Balancer Pool Basics
If you’ve never used a Balancer pool before, the concept can be a bit tricky to grasp at first glance. Essentially a Balancer pool is a group of funds that maintain a weighted distribution. Unlike Uniswap pools which only contain 2 assets in a 50/50 weighted distribution, Balancer pools can have anywhere from 2 to 8 assets, weighted as low as 2% each.
Note: All assets in Balancer pools must be ERC20 compliant.
Weighted asset pools can be quite useful because they are a form of automated trading. For example, let’s take a simple 50/50 WBTC/USDC pool. If a user deposits $10,000 into the WBTC/USDC pool, they will be holding $5k of each asset. If the price of Bitcoin increases so that the user now has $6k of WBTC, it will sell a portion of the WBTC to maintain the 50/50 distribution. So, the user would now have $5.5k of each asset. This is effectively selling a volatile asset as the price appreciates, and scaling into a larger position as it depreciates.
Another key difference between Balancer pools is that they are not automatically rebalanced. Rather, the price of an asset within a pool is determined by its weight. If a pooled asset were to have a disproportionate weight of value, the pool will re-price that asset, creating potential arbitrage opportunities against other pools. By trading the discounted asset, the pool becomes rebalanced at the updated price point, and captures trading fees along the way. These trading fees can vary from pool to pool, and are set by the pool creator at inception. Balancer pool trading fees can range from .0001% to 10%.
It’s important to understand how a pool is pricing a token before providing liquidity. Depending on the weight at a given moment, depositors can experience some price slippage. It’s possible that the slippage can be positive for an “under-weight” token, or negative for an “overweight” token. To determine this, we will look at the “spot price” of the token. This term refers to the price of a token at a given moment.
In Balancer pools, “spot price” is determined by the following formula:
Formula and definitions taken from Balancer whitepaper
Bi is the balance of token i, the token being sold by the trader which is going into the pool.
Bo is the balance of token o, the token being bought by the trader which is going out of the pool.
Wi is the weight of token i.
Wo is the weight of token o.
Important note: the above calculation does not account for swap fees! To get the true spot price, we must account the swap fees into our equation, which now becomes:
Formula and definitions taken from Balancer whitepaper
Generally speaking, the easiest way to understand what will happen when depositing liquidity into a Balancer pool is by looking at the pool’s calculated spot price. If the spot price is lower than the actual price of the coin, you will experience negative slippage. Likewise, if the spot price is higher than the actual price of the coin, you will experience positive slippage.
To take a deeper dive on Balancer pools, click here to read their Math documentation. Some more helpful equations to understand would be Single-Asset Deposit/Withdrawal and the Out-Given-In/In-Given-Out equations.
This article was written for educational purposes and should not be taken as investment advice. Always do your own research and consult your financial advisor before making an investment decision.