/wBTCe-Benqi-strategy

A yield farming strategy on Avalanche.

Primary LanguageSolidityGNU Affero General Public License v3.0AGPL-3.0

wBTC.e Benqi Rewards Strategy on Avalanche

Benqi_and_Avalanche_1619526682S8tZ41fifs

This strategy will deposit wBTC.e on Benqi to earn interest and rewards. It will then claim the rewards to increase the amount of wBTC.e

NOTE: wBTC.e is wBTC token bridged from Etherum to Avalanche Cchain. Bridge can be used here.

Strategy Visual

My First Board

Deposit

Deposit funds in the Benqi Lending Pool, so that we earn interest as well as rewards.

Tend

If there's any wBTC.e in the strategy, it will be deposited in the pool.

Expected Yield

The rewards distribution is as follows (on 27 Sept 2021):

  • Deposit APY: 1.13% (interest earned on supplying wBTC.e)
  • Distribution APY: 1.52% (QI Rewards), 0.89% (AVAX Rewards)

Total APY = 1.13% + 1.52% + 0.89% = 3.54%

image

Network Configuration

Network configuration for avalanche mainnet fork is not present by default in brownie's network-config.yml. A custom configuation for launching avalanche mainnet fork (ID = avax-fork) has been added in `./network-config.yaml.

Tests

All tests are passing. image

Risks

From docs.benqi.fi: No protocol within the blockchain space can be considered entirely risk free. The risks related to the protocol may potentially include Smart Contract risks and Liquidation risks. The team has taken necessary steps to minimize these risks as much as possible by undergoing audits and keeping the protocol public and open sourced.

Caveat/Known issue

In this strategy we're tracking balanceOfPool() using a local variable (_balanceOfPool). This is because ratio of lp_token <-> wbtc.e supplied is not 1:1. So we can't use "number of lp_tokens" for balance of pool calculations.

Possible Solution: Benqi contracts provide a function to get balanceOfPool: balanceOfUnderlying(). Currently the issue with this approach is that this function isn't "view". And to collect data, the strategy code integrates with multicall (in helpers.multicall), which aggregates view function calls.

Badger Strategy V1 Brownie Mix

For more information about this project, Badger-Finance/badger-strategy-mix-v1, checkout it's original README.md.