Debt Converter & Repayer
The DebtConverter contract lets users convert their stuck collateral denominated in YFI/ETH/wBTC to be DOLA denominated instead. It does this by letting affected users willingly transfer their anTokens to a converter, which issues them DOLA IOUs in exchange.
The motivation for the user is the ability to lock in a DOLA denominated value for their assets. The benefit for Inverse DAO is the ability to turn our debt from volatile tokens into stable coins. It also allows users, who are not quick to withdraw their funds, to gradually withdraw as InverseDAO repays its debt. DOLA IOUs will accrue interest with variable APY which is controlled by governance.
The contract allows users to convert their bad debt anTokens into an equal DOLA amount worth of DOLA IOUs. The anTokens will be valued at their current market price in dollars, which is fetched from ChainLink feeds. There is no discount for this debt conversion as there is for the Debt Repayer.
Governance can set a maxConvertPrice for each anToken which represents the maximum value this contract will pay per underlying token. For example, assume anETH has a maxConvertPrice of 1,500e18 & a market price of $1,600. A user that redeems 1 ETH worth of anETH will only receive 1500 DOLA worth of IOUs.
So what are the qualities we want to see in a good debt repayment? We want: As fair ordering of payouts as possible As speedy a repayment as possible Low transaction fees
The core idea of the Debt Repayer is to let people pull their money out before others, if they’re willing to take a haircut doing so. This may sound punitive, but as it is opt-in, it’s a fair ordering mechanism that reduces the total debt burden. This means that every time someone decides to exit early, the date of the last repayment comes a little bit closer. Essentially, users that exit early will push forward the date of the last user to exit.
This contract allows users to redeem bad debt anTokens for the native asset that they represent, but at a discount. The smart contract works on a reserve basis, where as long as there is 15% or more of liquidity stored in the contract compared to the total outstanding debt, users can exit without any cut.
As Inverse Finance adds assets to the market and the debt reserves of the contract increase, the discount is reduced using a linear model with parameters set by governance. Those wishing to redeem their anTokens early, before much reserves have had time to accumulate, will take a steeper discount than those redeeming later when reserves are higher. anTokens will eventually be redeemable at one-to-one value with their underlying, once a certain threshold of reserves are met.
The ETH/WBTC/YFI V1 market anToken is set to be redeemable at an initial discount of 55% when the debt repayment contract has a reserve ratio of 0%. The zero discount reserve threshold is 15%. As the Treasury Working Group dollar-cost average buys the bad debt assets, a proportion of these buys are sent to the debt repayment contract which causes the stores of YFI, Eth and wBTC in the contract to slowly fill, raising the reserve ratio for each asset. At 5% reserves, a user can redeem their Eth debt at a 36.6% discount. At 10% reserves, the discount falls to 18.3%. At 15% reserves or more, the discount will be at 0%. Reserve ratios are calculated separately for each debt asset. If there is 75 ETH stored in the debt repayment contract, and there is 1,000 ETH currently stuck in the ETH V1 market on Frontier then the reserve ratio will be 7.5%, meaning currently the available discount is 27.5%. If a user with 34.5 ETH stuck in V1 markets decides to withdraw all of their ETH in this moment, they’ll receive 25 ETH from the debt contract (27.5% discount). This reduces the debt contract’s ETH balance to 50 ETH, and the reserve ratio to 5%, meaning that the next available discount to a user will be 36.6%. At this point, the 34.5 ETH of anETH is sent to the TWG. The TWG can then use currently stored ETH in the Treasury to repay this full 34.5 ETH from the bad debt, meaning the new total of ETH in V1 markets becomes 965.5 ETH (1,000 - 34.5). The TWG will direct a proportion of ETH/WBTC/YFI assets for repayment to this contract. This proportion will be determined each time based on the current context of the repayment situation. The rest of the ETH/WBTC/YFI will be used for liquidations and adding liquidity to the V1 markets like before.
Reserve ratio is calculated for each asset by dividing the total amount in each V1 market by the borrow balance of the exploiter.
The debt repayer contract was deployed with the following parameters:
Max Discount: 55% Zero discount reserve threshold: 15%