The protocol has been designed as a codebase on Binance Smartchain modified to enable multiple features into one.
The Controller smart contract deployed on Binance Smart Chain is the decentralized version of a processor. This smart-contract creates all the interactions between other associated smart contracts. Juice does not natively support tokens by default. It will rely on specific markets to be whitelisted within the Controller contract. The protocol has access to whitelist markets by utilizing the admin function: support Market with parameters for address and interest rate models. For an asset to have a functional marketplace, there must be a valid price feed from the
Value Oracles alongside a Collateral Factor. Every interaction with the protocol will be verified and validated through the Controller smart contract, which validates liquidity and collateral before a function is executed.
When a user supplies, borrows, or mints from the JUICE protocol, they are using an underlying
asset to the first bond to Juice Tokens (JUICE). These underlying assets held as collateral in the platform
have dollar values that are tied to the Juice Tokens (JUICE) as well. For this system to work properly,
collateral values are pulled from market rates. To pull these market rates efficiently, we will be utilizing Band Oracles to grab market prices and update the protocol on-chain.
Collateral Values are propagated from price feed Oracles, such as Chainlink, which pull market price data and send these values on-chain, so they are transparent and verifiable. Due to the fast speed and architecture of the Binance Smart Chain, these price feeds are easily ascertainable with low cost and high efficiency directly on-chain. Currently, there is a hurdle of bottleneck issues from oracles, such as Chainlink, which are provided on Ethereum. With rising gas costs and congestion, these pricing oracles are not updating prices as efficiently or economically.