Created on 1st March 2025
•
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.
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.
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)
Chainlink - Price Feeds for assets in the CDP
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.
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.
Tracks Applied (9)
zkSync ∎
Somnia network
Flow
Hedera
ink
Polkadot
Chainlink
Uniswap