Proposal: Integrate B.Protocol’s Backstop with Venus to address recent liquidity contraction on BSC

Rationale

Integrate B.Protocol’s user-based backstop with Venus to offer a more robust and secure liquidation mechanics to support the liquidity contraction on BSC network.

B.Protocol enables users (aka Backstoppers) to provide liquidity into backstop pools. These funds are used to execute liquidations on Venus, using the B.AMM (Backstop AMM) novel design.

Summary

The Motivation

With the recent liquidity contractions happening on many L1s and L2s, some assets’ liquidity on BSC’s AMMs became too thin to execute liquidations by ordinary liquidation bots that use flash loans for their liquidations, as the price impact created by the tx will be bigger than the liquidation bonus given to liquidators, making it non-profitable. This situation casts a potential risk of bad debt to be created on Venus in case of price movement.

Below are a few assets which are used as collateral on Venus, that current AMM liquidity will prevent the platform to perform mid-size liquidations ($100k-1m worth of liquidated positions) using a flash-loan liquidation bot -

Pair Deposit ($m) CF (%) Max. Potential loan against collateral ($m) % Slippage for $100k % Slippage for $0.5m % Slippage for $1m
MATIC-BUSD 3 60 1.8 5.5 23.3 36
BETH-BUSD 23 60 13.8 4.5 14.6 26
DOT-BUSD 26 60 15.6 1.15 6 10.5
TRX-BUSD 3.1 60 1.86 1.21 5 9.5
ADA-BUSD 10.6 60 6.36 1.22 7 12
LINK-BUSD 6 60 3.6 1.75 7.6 13
Total 71.7 43.02


$1m BUSD-BETH Swap on 1Inch

The Proposed Solution

B.Protocol enables deposits of vTokens into its backstop pools (e.g., vBUSD, vUSDT, vUSDC, vBNB, etc). These funds will be used to execute liquidations on Venus through the B.AMM, without any price impact, avoiding any potential cascading liquidations scenario.

The backstop funds will be directed to the Supply markets on Venus, letting Backstoppers to gain from liquidation profits made by the backstop pool, on top of their “regular” interest rates and Supply rewards of XVS.

Benefits:

  • For Venus Users:

    • Provide vTokens to the backstop pools to gain liquidation profits on top of XVS “regular” Supply rewards and interest rates gains.
  • For Venus as a platform:

    • Get a stronger safety net for the platform lenders that is already battle tested across several L1s and L2s.
    • Perform liquidations also for low liquidity assets with no price impact.
    • Drive more liquidity to the platform.
    • Potentially, support higher Collateral Factors for better capital efficiency of the platform (pending prior risk assessment).

Key Discussion Points

In order to progress with this proposal, we propose these 3 alternative integration options to be discussed and voted upon by the community:

1. Incentivise deposits into the Backstop pools by diverting 20% of the existing XVS rewards from the Supply markets to the Backstop.

E.g., if current rewards for USDC per day are 625 XVS, in order to support backstop deposits, 125 XVS should go to the USDC backstop pool and 500 will remain for USDC Supply.

Pros

  1. No new incentives are needed.
  2. All USDC in the backstop will be available as Supply for USDC market and will gain interest rates and rewards accordingly.
  3. XVS rewards will support a stronger and safer Venus.

Cons

  1. Current Supply rewards will be reduced by 20%

2. Incentivise deposits into the Backstop pools by adding 20% of the existing XVS Supply rewards.

E.g., if current rewards for USDC per day are 625 XVS, in order to support backstop deposits, 125 XVS should be added to the XVS distribution as rewards for the USDC backstop pool.

Pros

  1. Current rewards won’t change.
  2. All USDC in the backstop will be available as Supply for USDC market and will gain interest rates and rewards accordingly.

Cons

  1. Higher XVS inflation as a result of adding rewards to the backstop pools.

3. Give priority to the backstop pool in the liquidation process.

This will require making the following changes to the Venus code in the liquidation interface -

address bLiquidator = bprotocol[address(cTokenBorrowed)];

if(bLiquidator != address(0) && IBProtocol(bLiquidator).canLiquidate(cTokenBorrowed, cTokenCollateral, repayAmount)) {

require(liquidator == bLiquidator, "only B.Protocol can liquidate");

}

In simple words, this code change gives priority to B.Protocol to execute the liquidations - if B.Protocol has enough liquidity, then it must be used in the liquidation process, otherwise, anyone can liquidate (as it is now).

Pros

  1. This integration is already live and battle-tested with Hundred Finance, another Compound fork, on top of Arbitrum, Fantom and Polygon.
  2. The code for this integration (e.g., with Compound forks) was audited and can be found here
  3. All USDC in the backstop will be available as Supply for USDC market and will gain interest rates and rewards accordingly.
  4. No changes to the current distribution of XVS is needed.

Cons

  1. Though audited and battle-tested, changes to the Venus code might be perceived as risky.

We encourage any comments and will be happy to answer any questions regarding this proposal idea before it will be put up as a VIP.

About B.Protocol

Website - https://www.bprotocol.org/

Docs - https://docs.bprotocol.org/

Twitter - https://twitter.com/bprotocoleth

Discord - B.Protocol

1 Like

As I mentioned in the post - if there are any questions regarding this proposal I’ll be happy to answer them here. Thanks

This sounds like a good idea to me.
No necessarily using b.protocoll (neither for nor against, no time to do due diligence) , but the idea itself.

As few have the time (or knowledge) to do the right due diligence, here’s a call we had with DeFi Dad on his show regarding B.Protocol and how it solves the thin Dex liquidity when it comes to executing liquidations on lending platforms. Not to replace DD but to give more references in case it helps -

sorry @Ekatch: Nobody cares what we write here (except if you choose to activate “fanboy-mode” and endorse/support what the devs choose to be top-priority