Enhancing yield and capital efficiency of Balancer v2/Liquity LUSD pool model
This article is an update to the previously published LUSD-staBAL Balancer v2 pool model. In a recent publication, we demonstrated the possibility of creating a StableSwap AMM pool offering substantial yield by staking tokens in third-party contracts, resulting in ~10.7% APY after protocol fees.
However, after exploring yield opportunities in Balancer v2 ecosystem, we decided to replace staBAL LP token with a-bb-USD — an LP token of another Balancer v2 stablecoin pool. This pool implements the brand new Boosted Pool concept and generates additional yield by lending DAI/USDT/USDC tokens on AAVE.
In LUSD-a-bb-USD pool, each stablecoin will generate cashflows to an AMM using AAVE or Liquity protocols.
Also, we decided to use B.Protocol for executing liquidations instead of PowerPool in-house solution. It will accelerate the development of this pool, decrease risks and gas costs, and allow PowerPool to focus on asset managers’ implementation.
Since a-bb-USD pool is a brand new pool in Balancer v2 and historical on-chain data is not available for the initial period of 1 OCT — 25 NOV 2021, we decided to run an experiment for 1 JAN — 30 JAN 2022 period.
LUSD-a-bb-USD pool created by PowerPool is built on top Balancer v2, Liquidity, B.Protocol, and AAVE protocols.
LUSD-a-bb-USD pool generated 19–24% APY during the observation period depending on market conditions.
The mentioned APY is achieved without any additional rewards allocated to the pool. All results, on-chain data, simulation methodology, and source code is presented in the article.
It’s important to mention that a-bb-USD is labeled as aUSD further in the text.
Main updates to the LUSD pool model
We visualized all the updates to the model on the initial scheme:
- staBAL LP token -> aUSD LP token
The key difference with previously used staBAL is using the brand new Balancer bb-a-USD Aave boosted pool that had been launched recently. It utilizes Balancer’s boosted pool architecture and generates additional yield by lending tokens on AAVE.
- In-house liquidations -> B.Protocol liquidation services
We decided to replace PowerPool in-house liquidation mechanism with B.Protocol services. B.Protocol allows to stake LUSD and automate collecting yield from ETH liquidations drastically simplifying user Stability Pool LUSD staker journey.
B.Protocol collects ETH gains from liquidations; sells ETH for LUSD using B.Protocol AMM. ETH is sold with a discount of up to 4% to market price, and LUSD proceeds are re-staked in the Stability Pool.
Source data & model code
The simulation covered 29 full days with a daily timestep
- Start date: 01.01.2022 00:00:00
- End date: 30.01.2022 00:00:00
The on-chain data was acquired similarly to the main article:
- Stability Pool TVL, Liquidations, LQTY Total Supply — Liquity (dune.xyz)
- Balancer aUSD Pool TVL, BAL Rewards — Balancer Pool Analysis (dune.xyz)
- Curve LUSD-3CRV TVL, Trading Volume — Curve.fi/lusd trading volume (dune.xyz)
The initial data files and source code of the model are on PowerPool Research Github.
Following assumptions have been made during the pool simulation:
- Price(aUSD) = Price(LUSD) = 1$. We decided to apply this assumption since the observation period is quite small (1 month) and collected swap fees/AAVE yield cannot change aUSD value significantly.
- aUSD yield in this model is generated solely by BAL rewards due to the lack of certain AAVE yield data — this may account for ~2% more APY from Aave boosted APY. We decided just to add 2% annual yield to the APY simplify this model:
- All LQTY minted are distributed as rewards for Stability Pool liquidity providers:
Gas prices for operations like deposit/withdrawal have been estimated by analyzing blockchain data on etherscan:
- SP add liquidity: 300,000
- ETH withdrawal: 500,000
- LQTY withdrawal: 350,000
- BAL withdrawal: 100,000
Trading fees for the case when PowerPool sells the reward token for one of the two assets of the LUSD-aUSD pool are evaluated to be 1% of the traded amount. It was used for calculating PowerPool in-house liquidation reference results + for LQTY rewards selling into LUSD.
The gas threshold was set to be 10%: PowerPool sells accumulated rewards and compounds interest into the LUSD-aUSD pool only if the trade value exceeds the gas spendings associated with the withdrawal operations. For selling operation gas expenses are accounted in the token itself for simplicity.
Pool performance using B.Protocol
We compared the pool performance in two cases: fully autonomous operation (i.e. withdrawing, selling ETH, and staking LUSD into Stability Pool in-house by PowerPool) and operation through B.Protocol: delegating LUSD to B.Protocol. LQTY rewards are not processed by B.Protocol, which means they still cost gas and need to be sold manually.
- B.Protocol commission — 1%
B.Protocol sells 99% of ETH gains from liquidations while 1% is charged by B.Protocol as fees.
- ETH sale discount — 0–4%
Worst case scenario (when no user is willing to buy ETH on B.Protocol AMM) — ETH is bought by Keep3r agents with a maximum discount of 4% relative to the market price.
Best case scenario — ETH is bought with no discount.
- Zero gas costs for ETH withdrawal, trade, and LUSD staking
All gas expenses related to ETH operations are covered by B.Protocol.
Aside from the mentioned changes, the logic of the research is the same as in the initial article.
A model adjustment due to high volatility
During the period chosen for the simulation, the crypto market faced significant volatility, which led to massive ETH liquidations in Liquity protocol and, consequently, a significant increase in trading volume on Curve. It happened when LUSD was needed to repay debts and increase the collateral ratio of some troves:
It led to the situation when the pool’s trading volume exceeded its TVL almost twice. Such rare behavior causes the estimated trading yield of the LUSD-aUSD pool to skyrocket and influence APs. Thus, we add to the APY comparison the simulation results, not including the period from Jan-21 to Jan-29 to make it more realistic.
So, 1 JAN — 30 JAN is denoted as the main period, and 1 JAN — 21 JAN is
the adjusted period.
For better understanding of processes occuring in the LUSD-aUSD pool during operation we visualized pool composition, simulated trading volumes. The ETH liquidations in liquity protocol are based on historical on-chain data:
The APY of the pool during the observation period and how it was generated is discussed below.
Results for case of PowerPool in-house liquidations
In this case, PowerPool protocol does all the process liquidation in-house, not using any other protocols or services.
Visualization of table above:
The piechart visualizing contribution of various yield sources to LUSD-aUSD pool:
Results for case of using B.Protocol for liquidations
For case of using B.Protocol two scenarios were modelled: the best case scenario was with 0% discount for ETH selling, and worst case was calculated taking into account 4% max discount.
Visualization of table above:
This data demonstrates that B.Protocol liquidations provide APY similar to PowerPool in-house liquidations in case of 0% discount. However, taking into account initial assumptions for PowerPool liquidations, B.Protocol offers much better and reliable alternative to in-house liquidations. In-house liquidations rely on ability to instantly trade ETH to LUSD; and it is not possible to guarantee that ETH/LUSD price will remain relatively stable during the possible market crush when liquidation takes place.
Besides guaranteed limit on ETH discount on selling B.Protocol allows PowerPool DAO to save gas fees:
We decided to collect results of LUSD-aUSD simulation experiment in the one table:
*the 0.2k LQTY gap is a result of different LUSD position shares in the Liquity Stability Pool due to a 4% discount in B.Protocol auction.
**LUSD burning as a result of liquidations is accounted as expense. However, it is replenished as a result of selling ETH with a surplus via B.Protocol.
PowerPool DAO fees & income for the Community treasury
PowerPool DAO charges fees from products it implements. For this product we explored two possible fee scenarios: charge 15% of mined LQTY as a DAO fee or charge 50/50 BAL/LQTY fees — 7.5% from BAL mined and 7.5% from LQTY mined:
This yield (around $50k USD) was generated over 30 days what means that hypothetical annual yield for the DAO treasury is around $600k. We want to note specifically that this yield is not dependent on ETH market volatility and liquidations since it contains only BAL and LQTY tokens. However, volatility of these assets can greatly affect USD-denominated DAO proceeds.
In this research, we demonstrated that proper utilization of Defi composability leads to enhanced yield for the StableSwap AMM pool. LUSD-aUSD pool created by PowerPool is built on Balancer v2, Liquidity, B.Protocol, AAVE protocols generated ~22–24% APY during the main observation period . For an adjusted period (excluding high volatility/massive liquidation days)
Such a result is an excellent result for StableSwap pools. It is important to note that this yield is generated without “token printing”-style liquidity incentives. Additionally, it doesn’t require the liquidity provider to hold/lock other assets in advance to generate such a yield.
Integration with B.Protocol is critically important for accelerating pool development and cutting off some operational expenses and risks from PowerPool. The difference between PowerPool in-house liquidation and B.Protocol one for the case of max (4%) discount is 1.8%, and the average (2%) discount is around 0.8%. From our point of view, 0.8–1.8% decrement in pool yield is worth decreased financial risks, gas and development expenses.
PowerPool is developing this pool right now; we expect to deliver it soon to Ethereum mainnet. Stay tuned on Twitter for updates or reach out to us with questions.
This research was conducted by PowerPool Research team. If you are interested in discussing the results or participating in research collaboration with PowerPool feel free to reach out to our Discord or Twitter.