Protocol Overview

The Beta Finance repository can be found on Github here.

Main Contracts

The main contracts of Beta Finance and their purposes are listed below. To see the functions in each of the contracts, you may look at the verified contracts on Etherscan or view them in the Github repo.

This is the main contract of Beta Finance. Most interactions with the Beta Finance protocol will go through this contract. Liquidators will call this contract to liquidate positions.

This contract is responsible for the interest bearing token deposits on the protocol. The contract implements most of the ERC20 token methods in addition to a few others.

This contract is responsible for interfacing with DEXs (Sushiswap and Uniswap) for short selling on Beta Finance.

Supporting Contracts

The supporting contracts of Beta Finance and their purposes are listed below. To see the functions in each of the contracts, you may look at the verified contracts on Etherscan or view them in the Github repo.

This contract is responsible for deploying new BToken contracts for a given token.

This contract is responsible for setting the risk configurations, risk levels, and collateral factors for assets on Beta Finance.

This contract is responsible for obtaining the price of tokens through an external oracle or Uniswap V2 TWAP. Currently, the protocol only uses the external oracle, which is the Alpha Oracle Aggregator with data from Band Protocol and Chainlink.

This contract is responsible for the interest rate model that is used to determine the interest rate for tokens being lended and borrowed. The model determines the next interest rate based off of the utilization of the lending pool.

These two contracts support the main BetaRunner contract for short selling positions by interacting with the BetaBank contract.

This contract is responsible for wrapping and unwrapping WETH for the bWETH contract.

Last updated