A Bond Stabilized Stablecoin

Nibblerexpress
Icewater

--

Icewater has developed a stablecoin protocol that measures stability using interest rates and adjusts the supply of the stablecoin to counteract instability. The most recent version of the protocol as of this writing uses the Seigniorage Shares model to stabilize the protocol. I have previously noted that an uncollateralized Seigniorage Shares model is likely to death spiral when used without income. The death spiral of Terra’s UST stablecoin a few weeks before this writing is an example of a Seigniorage Shares model that failed due to insolvency. (The Terra example is slightly complicated because Anchor generated income for the protocol but behaved like an off balance sheet liability.) With the Terra failure, members of Icewater have discussed what lessons can be learned. Three of the important lessons were:

  1. Debt-like tokens may perform better than equity-like tokens for stabilization. During a Seigniorage Shares death spiral, users must buy equity-like tokens to restore stability. Continued issuance of tokens depresses prices. More tokens are needed to absorb the same number of stablecoins. The incentive to buy declines rapidly as prices drop driving the issuance of even more tokens. (Terra issued approximately six trillion equity-like tokens (LUNC) from a starting supply of 700 million and did so at an exponentially increasing rate.)
  2. Excessive liabilities should be collateralized. Stablecoin protocols often allow anyone to mint stablecoins and produce liabilities for the protocol. Indeed, the protocols need to allow users to produce liabilities to prevent depegging of the stablecoin above the target. Solvency of the protocol is not under the control of the protocol or its creators. If users are hyped about a project, the users may push liabilities above a sustainable level. (Terra had about $18B in stablecoin liabilities and about $3B in collateral when the death spiral started. The 20% yield offered by Anchor likely contributed to users creating the massive amount of liabilities.) When a protocol starts to approach insolvency, it should use the gains from additional token issuance to purchase collateral. (Terra provided the gains to holders of its equity-like token and Anchor. Reducing rewards to users and purchasing collateral instead could have provided better chances of surviving a shock at the cost of slower growth. Terra was able to remove approximately seven billion of 18 billion stablecoins from circulation using assets and the Seigniorage Shares model, but this feat was still not enough to restore the peg.)
  3. Protocols should have a graceful wind down. In a stablecoin death spiral, there is a race for the exits because the first users to exit lose the least money. This creates an incentive to exit the protocol, which makes it harder to exit a death spiral. Guaranteeing that users will receive a fair share of any assets reduces the incentive to flee. (Terra’s stablecoin experienced multiple rallies during the first couple days of the death spiral that brought it near but not quite to the peg. Sentiment soured the longer it stayed depegged.)
UST experiences multiple rallies during the beginning of the death spiral.

To modify the current Icewater protocol to incorporate these lessons, the following changes should be made:

Use of Fixed Duration Bonds: The protocol should no longer intervene in the market for the equity-like token to stabilize supply. Instead, the protocol should sell NFTs that allow the holder to redeem them for a value above the sale price after a fixed amount of time (with no payment before that time). Each NFT would store a sale or reward value (i.e., how many tokens were paid or should be received) and a timestamp specifying when it can be redeemed. I am leaning towards allowing redemption one month in the future. (I had been considering three months, but I suspect one month is sufficient. The goal is not to fix a solvency problem but rather to stabilize price by controlling liquidity. One month is likely long enough to allow income to catch up with temporary liquidity swings. Duration could be extended for high collateral, low income situations.) The PID controller (likely just a PI controller) should set a target for the supply of stablecoin outstanding and make available for sale (or available for purchase when the protocol is removing NFTs from circulation) NFTs with a value up to what is needed to reach that target. The protocol should also monitor the value of NFTs sold and slowly ramp the reward/redemption price until the desired value of NFTs is sold (ramping the price could be done but would mean adjusting the value available for sale correspondingly). The reward ramp could be based on the block timestamp (e.g., 0.05% percentage points per minute) so that users do not need to pay gas for complicated controller calculations of the next price.

Measure Income: Income may come in different forms, so there could be several solutions for measuring how much there is. The simplest way might be to burn stablecoins received as income and to measure the rate at which stablecoins are burned. To measure the rate, the protocol could include an array with a fixed number of slots corresponding to different time periods with each slot including the number of stablecoins burned during that period. The protocol could rotate among slots so that it overwrites the oldest slot during the current slot. I am leaning towards measuring income over two weeks. If each slot is a day, there would be 14 slots. The average income would be the sum of the slots divided by 13 plus how long the current slot has been counting. An alternative to burning all income may be to have a function that receives income and that burns some and distributes some based on how much burning is needed according to the stability measurement and PID controller.

Control Collateralization Based on Income: The income could be discounted based on the currently measured interest rate to determine the present value of the income. When new stablecoins need to be minted (or income distributed), the protocol could compute the minimum collateral as being equal to liabilities after minting plus a buffer (e.g., 5% of liabilities) minus the present value of the income. The protocol could buy enough collateral to exceed the minimum collateral and distribute the rest. The protocol could use an oracle to determine the value of collateral possessed and a DEX to purchase additional collateral. An alternative would be to allow NFT or equity-like token holders to swap collateral and an NFT or collateral and equity-like tokens to receive minted coins or income.

Prioritized Distribution: After any collateral has been purchased, the protocol should pay all NFT holders with amounts remaining to be distributed before paying holders of an equity-like token. The protocol could allow NFT holders to sell the NFTs back to the protocol when there is a need to increase supply. The simplest way might be to pay full redemption price early on a first come first serve basis. This could make it easier to launch attacks that manipulate the measured stability so as to cause issuance of NFTs and then manipulate the price the other direction to redeem the NFTs . The alternative would be to pay the sale price and a pro rata portion of the reward (or a slightly greater than pro rate portion of the reward). The protocol could also force redemption by sending tokens to an NFT holder and voiding their ability to redeem any additional tokens. Once all NFTs are paid, any residual could be turned into rewards claimable by holders of an equity-like token (e.g., using a Gauge contract). Because equity-like tokens are providing little stabilizing effect to the protocol (other than in a wind down as described below), there is little need to reward equity-like token holders. The residual scraps after paying all other holders should be sufficient. In the alternative where NFT or equity-like token holders swap collateral and their NFT or equity-like token for minted coins or income, the same priority order would apply. Equity-like token holders could not swap collateral and equity-like tokens for minted coins or income unless all NFT holders have been paid.

Wind Down: When the protocol detects that it is insolvent, it may start a wind down process. The protocol could allow any stablecoin holder to call a function to start the wind down process if the protocol is insolvent. The protocol could apply protections to make certain a wind down is appropriate, such as having an insolvency buffer (liabilities exceed assets by x%) or time buffer (multiple calls, such as all, a super majority, or a majority of calls, to the wind down function over a fixed time period, such as an hour, have resulted in a determination of insolvency). A straightforward way to wind down would be to burn all equity-like tokens in circulation (or otherwise eliminate the ability of holders to receive rewards), issue new equity-like tokens to NFT holders, and burn the NFTs (or otherwise void the ability of holders to redeem the NFTs). The protocol could burn enough of the value in NFTs (and potentially the measuring tokens) to return to solvency plus a buffer (e.g., burn enough that the collateral plus the present value of income minus stablecoin, measuring token, and residual NFT liabilities is more than a buffer. The buffer could be larger than the one used to compute minimum collateral during normal operations (e.g., a buffer of 10% during wind down). The protocol could then resume operation. If the buffer can’t be achieved by burning all the NFTs, the protocol could liquidate. The protocol could enable a function to redeem collateral on a pro rata basis with stablecoin holders being paid first and NFT holders (and potentially measuring token holders) only being paid pro rate if there is sufficient value to pay all stablecoin holders in full.

--

--