
DreamFi
Collateralized Debt Position of Market Index Funds
Demo
About
The problem it solves CDPs were traditionally implemented as stablecoins; whereas, you are setup to go long (swap from stables to ETH/BTC for example) or yield farm in the DAI savings rate pool. However, given that our CDP is "risk on" (follows a correlated basket of goods), users can decide to short the index or yields farm with it. This gives users greater options to diversify and hedge long positions in their portfolios. Moreover, this gives us great flexibility to release numerous indices according to the risk profiles of our users. User Interaction and Data Flow The lifecycle of the protocol begins with depositing assets into the pool via the deposit method. If the pool is composed of ETH and BTC for example, you may deposit one or both of these assets. Next, the user may take on debt and call the borrow method to transfer units of the CDP to the borrower. In the happy case, the user will be able to pay back their loans without issue using the repay method (which includes interest). However, if they fall below the risk management parameters, they will be liquidated instead. Lastly, if the user's position is healthy or paid back and their collateral can support their borrows, they will be able to transfer assets out from the protocol using the withdraw method. The project architecture and development process Our protocol consists of a factory contract, the individual asset pools for each CDP index, and the tokens being used for both collateral and the CDP itself. We make use of the Aave interest rate model in order to ensure that users are incentivized to pay back their loans due to high utilization on the curve or borrowers are incentivized once the utilization rates are low (cheap loan) Product Integrations Chainlink - Price Feeds for assets in the CDP Key differentiators and uniqueness of the project The only form of CDP that currently exists are stablecoins; whereas, we went the opposite direction of Maker and Reflexer and embraced correlated, risk-on assets as the basis for a CDP. Trade-offs and shortcuts while building We only had time to implement the core features of the CDP. Thus we currently do not have the equivalent of the DSR pool. Limited number of assets can be supported in any pool (currently set to 10) because there are protocol interactions that require multiple calls to transfer(), so to prevent any issues with gas limits, we capped the number of assets in a given pool.