Hey folks - as I begin scoping out the cross-chain architecture in more detail, one feature remains somewhat of a thorn in my side - rebalancing.
Rebalancing could either have a complex cross-chain architecture (not ideal) or we could deploy the rebalancing contract on every network we integrate with (also not ideal). Both ideas would add much more complexity to the cross-chain effort and ongoing maintenance.
However, given the success of the Stability Fund in keeping bnUSD at its desired peg, I think an alternative system that’s simpler, safer and better fit for cross-chain architecture should be used. If we stick with rebalancing, the rebalancing contract and logic would need to be deployed on all target chains. We want to minimize the maintenance and logic of contracts on non-ICON chains.
Redemption Mechanism
I suggest a redemption mechanism, similar to the stability fund, but using borrower collateral. It’s quite similar to the original white paper of Balanced. The primary parameter would be redemptionCost, which controls the cost that redeemers must pay to borrowers in order to access their collateral. This is similar to the original rebalancing mechanism, where borrower collateral is sold for bnUSD to repay debt at favorable prices, but far easier to implement.
Additionally, this redemption mechanism would NOT have the same functionality as reverse rebalancing, which caused borrowers the most uncertainty regarding the leverage of their positions. The Stability Fund makes this mechanism obsolete, while the redemption mechanism provides supplementary value if the Stability Fund is ever emptied during a run on bnUSD. To be clear, the Stability Fund is still the most economical for arbitrageurs. The only time I expect this to be used is if the Stability Fund is empty and bnUSD holders are still trying to sell bnUSD.
This would be much easier for cross-chain development because we can process the redemption in an ICON-based smart contract, then authorize the release of funds on the target chain. For example, if somebody wanted to redeem bnUSD for BNB, they could burn the bnUSD on ICON, then ICON would send a message to BNB Smart Chain authorizing the release of the BNB tokens.
Considerations
One thing I’d like to consider is if there should be a fee that goes to the DAO Fund, or if the entire fee charged should go to the borrower who’s collateral is sold. My initial thought is to still maintain the same fee that the stability fund has (0.5%), but give the rest of the fee to the borrower since it’s not ideal to have some of your loan closed unexpectedly.
So, I propose the initial parameters be:
1.) redemptionCost = 9.5%
2.) daoFee = 0.5%
Example
redemptionCost = 9.5%
daoFee = 0.5%
- Bob has 10 bnUSD
- Bob wants to redeem his 10 bnUSD for as much value as possible, as he can’t hold it any longer - he is a forced seller of bnUSD for whatever reason.
- The stability fund has 0 assets in it, so Bob can’t convert 10 bnUSD to 9.95 IUSDC or USDS
- Therefore, Bob must use the redemption mechanism
- Bob sends 10 bnUSD to the Balanced Loans contract
- Bob receives $9 worth of ICX collateral
- 9.95 bnUSD is used to repay the debt of the borrowers who sold collateral to Bob
- 0.05 bnUSD is sent to the DAO Fund
Next Steps
Let me know your thoughts on the parameters and the proposal in general, all is open to discussion.