Introduction
The Indigo Labs team is excited to propose the deployment of Indigo Protocol Version 2.1 (Enhanced Interest Suite) to the Mainnet network. This upgrade introduces iterative improvements to V2 by introducing an algorithmic interest rate, a settle interest on demand/at will feature, splitting interest between the Treasury and INDY stakers, and adding a staking credential to the DAO Treasury. This step represents a significant milestone in our journey, introducing a suite of enhanced features and optimizations designed to improve the protocol’s overall health.
Feature Suite
Algorithmic Interest Rates
Indigo Protocol initially launched with a Collateralized Debt Position (CDP) system featuring a robust and battle-tested liquidation mechanism. This design ensured the protocol’s solvency, even during black swan events. However, as the decentralized finance (DeFi) space evolves, relying solely on full redemptions to maintain the peg has proven to hinder the protocol’s usability. Unlimited redemptions can fundamentally alter the protocol’s use cases, necessitating a balance between redemption capabilities and peg defense.
To address this, the Redemption Maintenance Ratio (RMR) was introduced, but managing the peg requires additional mechanisms. Interest rates were proposed and approved by the DAO in version 2 (V2) to manage the balance between leveraged users and spot holders. The goal now is to transition to a more algorithmic approach that dynamically adjusts interest rates based on the protocol’s health metrics.
During the initial launch, Indigo Protocol attracted primarily delta-neutral users, resulting in a system collateralization ratio consistently hovering around 180-200%, with the peg generally above its oracle price. As new financial primitives emerged on Cardano, users began leveraging stablecoins in lending protocols, creating the first wave of downward pressure on the peg.
Mid-last year, users started leveraging through Indigo Protocol, and supplying to external DeFi primitives that resulted in downward pressure on iAssets, particularly iUSD… This activity pushed the total collateralization ratio over 300%, exacerbating downward pressure on the peg. Leveraged positions benefited from favorable market movements, but as yields on iAssets declined, spot holders began exiting due to insufficient returns, further stressing the peg.
Additionally, the lack of debt repayment until leveraged users face liquidation means the peg remains under pressure. Early high-yield returns that attracted spot holders have diminished, and relying on market movements to correct the peg is not ideal for the protocol’s sustainability.
To enhance peg stability without over-reliance on redemptions (RMR) or market conditions, we propose an algorithmic interest rate mechanism that adjusts based on the protocol’s collateralization health. The key objectives are:
- Balancing Incentives: By adjusting interest rates according to the system’s health, we can incentivize leveraged users to manage their positions responsibly and encourage spot holders to maintain their holdings.
- Improving Peg Stability: Dynamically adjusting interest rates can help correct imbalances that put pressure on the peg, making the system more resilient.
- Maintaining Protocol Sovereignty: This approach reduces dependency on external protocols in the Cardano ecosystem and mitigates risks associated with low-liquidity environments or potential manipulation.
Proposed Initial Interest Rate Formula
The algorithm adjusts the interest rate based on the Total Collateralization Ratio (TCR) of each iAsset:
Example Calculation:
For iUSD with the following parameters:
- Base Int: 10%
- NTCR: 200%
- ITCR: 280%
- CTCR: 350%
- Upper Limit Int: 50%
Justification for the Interest Rate Formula and Parameters:
- Dynamic Adjustment: The formula increases the interest rate when the system is overly collateralized (healthy) and decreases it when the system is less collateralized (less healthy).
- Encouraging Repayment: Higher interest rates at higher ITCRs incentivize users to repay debts, reducing the total collateralization and alleviating downward pressure on the peg.
- Preventing Over-Leverage: By making excessive leverage more costly, the system discourages practices that can destabilize the peg.
- Lowering NTCR: Adjust kink point where interest rates start to climb due to higher utilization.
- Raising CTCR: Adjust interest rate sensitivity through steepening or flattening of the interest rate slope by extending the range over which the interest rate increases.
Incentives for Peg Discount
To further enhance peg stability, we propose a discount mechanism on the interest rate based on the proportion of redeemable iAssets:
Justification for the Peg Discount Formula and Parameters:
- Encouraging Peg Recovery: As more assets become redeemable (indicating peg improvement), the interest rate decreases, rewarding users.
- Incentivizing Position Management: Users are motivated to keep their positions near the redeemable threshold to benefit from lower interest rates.
- Dynamic Stability: The system self-corrects by adjusting incentives as the peg stabilizes or destabilizes.
Final Interest Rate
Combining the initial interest rate and the discount mechanism, the interest rate can be calculated using this formula:
To help provide a better understanding, we have included a chart to display the Ideal distribution of CR that we expect the protocol to lean towards:
Proposed iAsset Parameters for Algorithmic Interest Rate
iUSD
Base int : 10%, NTCR : 200%, CTCR : 350%, Upper Limit int : 50%, Max Disc Factor : 95%, Buffer rate : 5%
iBTC
Base int : 5%, NTCR : 170% , CTCR : 250%, Upper Limit int : 30%, Max Disc Factor : 95%, Buffer rate : 5%
iETH
Base int : 5%, NTCR : 170% , CTCR : 250%, Upper Limit int : 20%, Max Disc Factor : 95%, Buffer rate : 5%
Conclusion
Introducing an algorithmic interest rate mechanism in Indigo Protocol V2.1 is a proactive measure to enhance peg stability while maintaining the protocol’s usability and independence. By dynamically adjusting interest rates based on system health and incentivizing users through discounts, the protocol can better manage the balance between leveraged users and spot holders.
Interest Settlement on Demand & Adjustment
In Indigo Protocol V2, users were required to pay their interest balance when closing a CDP, making it inconvenient to manage the timing of interest payments. Users had to close the CDP entirely to settle the interest. However, in V2.1, this process has become more flexible. Now, users can choose to pay interest at a time that suits them best. Additionally, whenever a user modifies or adjusts their position, they must settle the interest as part of the action. This enhancement allows users to make strategic decisions about interest payments if their position remains healthy, while also ensuring more consistent revenue generation for the DAO Treasury and $INDY stakers.
Interest Payment Splitting: Treasury & INDY Stakers
V2.1 introduces a per-iAsset parameter that allows the DAO to decide on a percentage of interest payments that should be sent to the DAO treasury vs. sent to INDY stakers. This feature was introduced as a result of the DAO proposal #53 - Treasury Management. The current process requires that the Indigo Foundation withdraws funds from the Treasury and sends them to the Collector contract. This will bypass any of the human intervention and make the payments directly to the INDY stakers at the time of the interest payment.
The parameter will be default set to pay 30% of interest to INDY stakers, and 70% to the DAO Treasury for each iAsset as per the approved Treasury Management proposal noted above.
Treasury Stake Credential
As part of the V2.1 upgrade, the DAO Treasury address will be attached to the Indigo Foundation stake credential. By attaching this stake credential to the DAO Treasury, the DAO will be able to accrue native Cardano staking rewards. As part of proposal #31, the DAO has approved the staking of DAO Treasury funds to the EASY1 pool.
Stake Key: stake17xurtz4d6vxxp6apdpsg440gw4vjaxmuhrrspqnum6rlngcp8emwq
The above Cardano stake key is attached to the Indigo Foundation multi-sig. The Indigo Foundation will work at the direction of the DAO to stake funds to the DAO-decided stake pool delegator. In addition, the Indigo Foundation will Abstain from all Cardano governance voting unless the DAO decides on a DRep to delegate to.
Process of Deployment
The deployment of Indigo Protocol V2.1 will commence with the creation of an on-chain deployment proposal. Following the successful conclusion of this proposal, at the direction of the Indigo DAO, the Indigo Labs team will execute the deployment. This will necessitate a planned downtime of several hours. During this period, access to CDPs, Stability Pool accounts, and Staking Positions via the web app will be temporarily unavailable. Communication regarding this downtime will be issued well in advance, ensuring users are adequately informed and prepared.
Code Review Report, Upgrade Policies, and V2.1 Contracts
As part of our continued effort towards security, MLabs was hired to do a review of the changes introduced in v2.1.
MLabs has provided a report of their review, which can be found here:
audit-v2.1-report.pdf (223.4 KB)
In the spirit of transparency as well as providing technical users the ability to confirm the validity of the V2.1 smart contracts and upgrades Indigo Labs has open sourced the Indigo Protocol Test Suite. This test suite has over 900 tests covering V1, V2, and the upgrades. In addition, attached is a script that generates the Mainnet V2.1 validator hashes as well as upgrade minting policies. You can find the test suite repository here: Indigo Upgrade Details repository.
V2.1 Validator Hashes
Script Name | V2.1 Validator Hash |
---|---|
CDP Creator | 0910f79461a71f74782dcd450f22b0c2cac31ab036b66c9219355d99 |
CDP | 0805d8541db33f4841585fed4c3a7e87e2ff7018243038f06ceb660c |
Collector | 0752abd65a0c983bfb1c9c3880cc632c099ba3adb2fe307afb4bbd9c |
Execute | e0612a2268eab843de10df4d02aaeafbc915b537dfe6ce1fc6e8d323 |
Governance | 578db3783ea967554812e837040e25fbd376ee61d24c024ccdc4c863 |
Poll Manager | 0b26e6c1a098434684f1028561705194b456ebbc8bd7e3e0e070a885 |
Poll Shard | 2b54b48d17c9689751d7c57d92b3daca98b28bf0b065dd4d49daa0c8 |
Stability Pool | 88e0299018563dd10c4860d9f34eda56fdb77f302da0e3980620535c |
Staking | a23793f529179e09cefb3c37fc6ae081e0e99e99be5cdb55a00941a5 |
Treasury | 3bd5f8ba0100f39952472619abfddb52d941a5347b88635e874a7b37 |
Version Record (Currency Symbol) | d626ddf398b0bca6e112cf0b78c8124b989a6ca4e7c0dfe8c18c7c2e |
Version Registry | ea84d625650d066e1645e3e81d9c70a73f9ed837bd96dc49850ae744 |
V2.1 Upgrade Minting Policies
Script to Upgrade | Minting Policy Hash |
---|---|
CDP Creator | 7b795e29f8fcc12e9d619832dd98d11716b47707957061f325b2c4d4 |
CDP | 5ccb32a97d14e074fc8d1db6e24b715f68e18d7167d2b1479dbc8914 |
Governance | ecf2b02535a1de46f024d6b04aa2160be405b3897a5fb2042d2777c4 |
Stability Pool | 9e9195fffb2a29538219f34008bbc945fb2b47f4d2d37b0641d7eaf7 |
Treasury | 6ad900d9b6a5bf1046b1e709907f653c296e138df8fa361a947bce03 |
Conclusion
This temp check is designed to provide a clear overview of the Indigo Protocol V2.1 deployment. We invite all stakeholders to review the details and contribute their feedback and suggestions. The Indigo Labs team remains committed to transparency, innovation, and the continuous improvement of the Indigo Protocol, and we look forward to your support in this significant step forward.
Update Sept 25th, 2024
The proposal has been updated to include the following:
- A copy of the review2 report from the MLabs Audit team.
- A repository with the V2, V2.1, and upgrade upgrade details and UPLC of smart contracts.
- The V2.1 smart contract validator hashes as well as the upgrade minting policies.