"Asset" is a generic term describing some cryptocurrency. Assets can be thought of as tokens inside the Polkadot ecosystem, at least to the extent that they also have some supply, as well as logic governing changes to this supply. Users can obtain assets on their account balance in one of the following ways:
Deposit: bring assets like BTC, ETH, and ERC-20 tokens into other blockchains by way of purpose-built bridges.
Claim: claim EQ tokens distributed during the token swap.
Receive: someone transfers assets to user's account.
Equilibrium uses the substrate balances module to store and modify user account balances. There are several key features that distinguish Equilibrium balances module from the standard balances pallet, which we describe further in this section.
First of all, we separate accounts in Equilibrium by their respective role:
All accounts and newly created accounts are borrowers by default. Borrowers may go negative in their asset balances.
Lender accounts are cash-only and do not allow for debt or borrowing.
Users must meet a minimum liquidity requirement in order to register as a bailsman. Bailsman may have a negative balances in cases when borrowers default.
Each user account has a portfolio of assets it holds. Accounts may also have liabilities, which are represented with negative balances in that corresponding asset — negative balances represent borrowed assets. Consider the following totally viable example of an account balance configuration in Equilibrium:
1.51 BTC ($ 20,000.00)
0.00 BTC ($ 0.00)
0.00 ETH ($ 0.00)
10.00 ETH ($ 4,000.00)
0.00 USD ($ 0.00)
6,500.00 USD ($ 6,500.00)
The table above shows an account with BTC in assets having USD and ETH borrowed against it. Judging by the balance values, the LTV is slightly less than 200% here.
Accounts with liabilities are subject to LTV requirements, meaning that the total value of their assets should always stay above the total value of their liabilities, otherwise they get liquidated. In theory, Equilibrium's risk and pricing model allows for an LTV requirement of 100%, but due to block time and price oracle limitations in practice, we risk having untimely market data in the event of abrupt market decline. That's why we limit the LTV to 100.5%, allowing 0.5% wiggle room for possible delays.
No account can hold positive and negative balances in the same asset simultaneously. To see a positive balance in a particular asset, the user must get rid of the negative balance first, and vice versa. While users generate debt tokens or debt assets directly to their blockchain addresses in traditional DeFi, borrowing in Equilibrium is always a transfer of value to another account. This approach lets us simplify an exchange logic. Consider a leveraged asset buy example:
Classical DeFi approach