August 11, 2021
In this post, I’ll be providing a step-by-step guide covering how to earn Stability Pool rewards using B.Protocol. You can find the original announcement for this integration here.
B.Protocol is a decentralized backstop-liquidity protocol that aims to make lending platforms (MakerDAO and Compound in V1) more capital efficient and stable by incentivizing simple users and professional traders to act as keepers (liquidators of under-collateralized loans).
With the launch of V2, B.Protocol has shifted their model a bit and introduced the Backstop Automated Market Maker (B.AMM). The B.AMM is an automatic market maker optimized for lending platform liquidations. It’s a fully autonomous smart contract and can efficiently handle liquidations of big debt with smaller capital requirements.
The first integration that the B.AMM will support is Liquity’s Stability Pool. In short, B.Protocol’s integration auto-compounds liquidation gains from the Stability Pool, saving users gas fees and allowing users to maintain their share in the Stability Pool while locking in profits from ETH liquidation gains 🧙
Let’s dive deeper into how it works and learn how to deposit LUSD.
Quick Disclaimer: This tutorial is not a recommendation and interacting with DeFi protocols can be risky. B.Protocol V2 is a new product, please do your own research and use your best judgement.
As most of you know, the Stability Pool is the first line of defense in maintaining Liquity’s solvency. It achieves that by acting as the source of liquidity to repay debt from liquidated Troves. When Troves are liquidated, Stability Pool deposits are burned in exchange for liquidated ETH collateral, initially resulting in a depositor gaining ETH at a ~10% discount.
However, the price of ETH could decrease further after the liquidation occurs, so if users want to lock in that 10% profit they’ll need to sell the ETH quickly. This process can be gas intensive since users have to claim their earned ETH, sell it for LUSD, then redeposit that LUSD to maintain their share of the Stability Pool. After these steps, most of the user’s profit could dwindle away — especially for smaller deposits.
Now, B.Protocol provides a solution to these potential issues. Here’s a diagram of how it works:
When depositing through B.Protocol, you’re basically pooling your funds into a smart contract that deposits to the Stability Pool. Any time the ETH balance of this account is non-zero (i.e. after a liquidation occurs), the ETH is put up for sale by the B.AMM with a discount — up to a limit of 4% below market price depending on how large the ETH balance is.
The ETH put up for sale uses an adaption of Curve’s stable swap invariant combined with a Chainlink price feed. The sale price is aggregated by DEX aggregators so any of those users can take advantage of the sale. In the event that no one buys the ETH, Gelato and Chainlink Keepers are on standby to purchase it before it drops too low below market value. Afterwards, the smart contract acquires LUSD and re-deposits into the Stability Pool.
In the end, users of B.Protocol no longer have to manually manage their Stability Pool position. By the way, B.Protocol only takes up to 1% of the gains when the earned ETH is sold. Not bad considering some users would pay way more than 1% on gas alone.
B.Protocol does not do anything with the distributed LQTY rewards, so users can simply claim them whenever they want. If you prefer a fully automated UX, you’re in luck. Pickle Finance has already rolled out a Jar that allows users to deposit LUSD via B.Protocol, but the jar also automatically stakes the LQTY and then auto-compounds the rewards! You can read more about this Jar here, and we’ll cover accessing this Pickle Jar in a later section.
Another bonus: B.Protocol’s kickback rate is 100%!
Unlike other frontends that support Trove operations, B.Protocol only supports Stability Pool deposits. So, in order to use it and obtain LUSD you’ll have to open a Trove elsewhere (frontends list here) or buy LUSD on a DEX such as Uniswap, Curve, Saddle, etc.
If you’re looking to open a Trove, you can follow my previous tutorial.
After acquiring LUSD, you’ll need to head over to B.Protcol’s homepage. Feel free to browse around, but you can access the Liquity dashboard as shown below:
There are some stats that will be displayed such as APY and the Liquity Statistics on the right-hand side. I won’t get into them in this tutorial, but you can learn more about these stats by hovering your mouse over each question-mark and an explanation will appear.
Now, all that’s left to do is input your desired amount of LUSD and click Confirm! Over time you’ll earn LQTY rewards, but will have to manually stake them through B.Protocol’s UI. However, if you’d like staking handled automatically, Pickle Finance has a solution for you.
If you’d prefer to deposit through Pickle, you can do so by accessing the Jars list here and scrolling down to the section shown below:
As you can see from the image above, the process to get started is the same. All you have to do is deposit LUSD and your rewards will be fully automated! Pickle just takes it one step further by integrating their previous pLQTY Jar into this automation madness 🥒
In addition to B.Protocol’s fee on ETH sales, users depositing through Pickle Finance will be charged another 20% on pLQTY Jar gains. Although this may scare some users off, you can earn this back in their native token: PICKLE.
After your deposit accumulates some pLQTY, you can then stake your pTokens in the farm displayed below:
All you have to do is Approve and Stake to earn the extra APY in PICKLE rewards. Thankfully, both of these protocols have user-friendly interfaces.
This tutorial should have covered everything you need to get started with B.Protocol V2 and its associated Pickle Jar. To learn more about B.Protocol, check out these resources: