Comment on page
- The factory allows users to create new Vaults.
- The factory is according to the ERC-721 standard, where each Id maps one-to-one with a specific Arcadia Vault.
- Vault versions are upgraded via the factory.
- A user only interacts directly with the proxy contract (The address of the Proxy contract is the address you should use to send assets to).
- The proxy contract will only store data but not execute any logic.
- To execute logic, the proxy contract will forward all calls to the Vault Logic contract.
- A user can upgrade its Vault by changing the Vault Logic contract to which its forward its calls. Only the owner of a vault can upgrade the version.
The Vault Logic is the contract with all the logic to:
- Deposit or withdraw one or more assets to/from a Vault.
- Check the health of the account by comparing the value of all assets in the vault with all debt that is issued against the vault. If the vault is unhealthy a liquidation can be started.
- Manage the assets within the vault (trade, swap, stake, vote...) and guarantee that the vault is in a healthy state at the end of the transaction.
The Main registry is used to calculate the price of a portfolio of assets in a given base currency (a given unit of account such USD or ETH).
The main registry can also take into account risk parameters of each asset to calculate the risk-adjusted price of a portfolio of assets.
The Lending pool implements the main logic to provide liquidity, take or repay loans and for the interest calculations. Per underlying asset (USDC, wETH...) there is a separate lending pool.
This contract does the accounting of the debt and the interest-bearing tokens (ERC4626) borrowers receive when they borrow from an Arcadia pool.
Traditionally, lenders in DeFi have had little control over their payoff functions and risk exposures when providing liquidity to protocols. As a liquidity provider, you're effectively underwriting loans to a protocol. Having some control over the risks you incurred and the returns you receive as a lender should be expected, but it is not.
Enter Arcadia's tranche model. Arcadia's tranche contract allows the creation of multiple risk tranches within a single lending pool, providing Lenders with more flexibility to decide the risk, the exposure and the compensation for providing liquidity in our pools, while borrowers still benefit from the deep liquidity of having a single pool.
This contract does the accounting of the provided liquidity and yield-bearing tokens (ERC4626) lenders receive when providing liquidity to an Arcadia pool.