BIP-000X: Adding ZUSD to the XUSD aggregator

BIP-000X: Adding ZUSD to the XUSD aggregator

Introduction

Zero is a decentralized stablecoin and borrowing protocol, originating as a fork of Liquity.[1] Users put up collateral to receive a 0% interest loan denominated in stablecoins issued on-demand by the Zero protocol. The stablecoin issued by the Zero protocol is ZUSD, a USD-pegged stablecoin backed by RBTC with a minimum 110% collateralization ratio.

Proposal

We propose to add ZUSD to the BabelFish XUSD aggregator. This will enable users to deposit ZUSD in exchange for XUSD and vice versa. ZUSD will be added with the same target weight as every other asset in the aggregator.

Motivation

We believe that adding ZUSD to the XUSD aggregator has its benefits for both BabelFish and Sovryn:

  • Being overcollateralized by BTC, ZUSD can provide a strong, censorship-resistant backing that fiat stablecoins are unable to offer. ZUSD presents a compelling, differentiated source of USD-pegged stability for XUSD.
  • The BabelFish and Sovryn communities have together spent the last year building liquidity and utility for XUSD, including spot and margin trading, borrowing, and lending capabilities. By adding ZUSD to the XUSD aggregator we can give ZUSD holders access to all of these capabilities without having to build them up for ZUSD in parallel. Rather than competing with XUSD for liquidity, ZUSD becomes part of XUSD liquidity.

Zero parameterization

There are several configurable parameters that Zero inherits from Liquity. The initial parameterization of Zero is identical to Liquity, except for the following:

  • Changed the minimum debt per Line of Credit from 2000 LUSD to 200 ZUSD
  • Changed the liquidation reserve amount from 200 LUSD to 20 ZUSD
  • Changed the primary oracle to the MoC Oracle and the secondary oracle to the RSK Oracle
  • Changed the smart contracts to be upgradeable via the Sovryn TimelockOwner contract [2]
  • Integrated Zero with Sovryn Mynt, enabling seamless ZUSD <> Mynt stablecoin conversion when opening/repaying a Zero Line of Credit
  • Disabled community issuance (no native token)
  • Diverted 100% of fee revenues to SOV stakers

Stability

Zero uses two “hard peg” to ensure relative stability of the ZUSD peg:

  • Redemptions: Zero has a redemption mechanism that allows any ZUSD holder to redeem 1 ZUSD for 1 USD worth of RBTC, minus a variable fee. The net effect is that if the price of 1 ZUSD ever drops below 1 USD, it becomes profitable to redeem the ZUSD for the underlying RBTC collateral. This creates a price floor for ZUSD of approximately 1 USD.

  • Minimum collateral ratio: Zero has a minimum collateral ratio of 110%. This means that if the price of ZUSD is ever above 1.10 USD, it becomes profitable to use a Zero Line of Credit to mint ZUSD and sell it for USD. For example, if 1 ZUSD is worth 1.11 USD, a user could mint 100 ZUSD and sell it for 111 USD. Even if they get liquidated, losing 110 USD worth of RBTC, they have made 1 USD profit.

You can learn more about the “hard” and “soft” peg mechanisms the Zero has in the blog post “On Price Stability of Liquity”.[3]

Risk

There are several risks associated with ZUSD that FISH and XUSD holders should be aware of:

  • Smart contract risk: If there is a vulnerability in the Zero smart contracts that enables an attacker to steal the collateral backing ZUSD or mint ZUSD without providing the proper backing collateral, and this vulnerability gets exploited, it could lead to the value of 1 ZUSD falling below its price target of 1 USD.

  • Oracle risk: Zero relies on the use of an oracle to provide an accurate BTC/USD price feed, which is necessary for the accurate issuance and redemption of ZUSD and liquidation of RBTC collateral. The system designates a primary oracle (the MOC oracle) and a secondary oracle (the RSK oracle). If the primary fails to report prices in a timely manner, the system falls back to the secondary oracle. Both the primary and secondary oracles can be replaced by SOV stakers via smart contract update if needed. Despite these backup mechanisms, it could be the case that the oracles either fail or become compromised for an extended period of time, resulting in inaccurate prices being reported and leading to the value of 1 ZUSD falling below its price target of 1 USD.

  • Governance risk: Zero smart contracts are now upgradeable via Sovryn Bitocracy. This means the logic of the smart contracts could be changed by passing a proposal via the TimelockOwner (and by proxy, the GovernorOwner) contract. If Sovryn Bitocracy approved a smart contract upgrade that leads to ZUSD being undercollateralized, then this could lead to the value of 1 ZUSD falling below its price target of 1 USD.

The implication of these risks for FISH and XUSD holders is that if the value of 1 ZUSD falls below 1 USD for an extended period of time, then XUSD effectively becomes partially-collateralized, potentially leading to a bank run as people flee out of XUSD into the still-stable underlying stablecoins that are part of the XUSD aggregator. The Zero developers have taken multiple precautions to avoid this scenario from happening, such as the aforementioned oracle backups as well as using a battle-hardened codebase that has gone through multiple audits from multiple security firms. While the risk to XUSD is not zero we believe that ZUSD offers one of the least-risky stability mechanisms in the entire stablecoin industry.

To better assess these risks, we invite the BabelFish community to explore the Zero source code repository.[4]

Resolved

  • If this proposal is approved, ZUSD will be added to the XUSD aggregator at the same target weight as every other stablecoin currently part of the aggregator.
    • TODO: Add ZUSD token contract address here once the token has been deployed on mainnet
3 Likes

Adding more links here because I get an error “New members cannot add more than two links in a post.”

[1] https://liquity.org
[2] About Sovryn Governance | S O V R Y N

[3] On Price Stability of Liquity
[4] GitHub - DistributedCollective/zero: Zero

Interesting protocol! to the risks:
there will always be a risk, if we expand our ecosystem.
we are still in our home universe, the RSK. and the bonds to SOV are strong, so i have faith in what they code and develop. we can sit it out until beta phase is over. will there be another audit afterwards?

Q: how does the RBTC insurance pool grow in relation to new protocols?

thats all, thanks for all the fish!

We propose to add ZUSD to the XUSD aggregator prior to beta launch so that ZUSD does not need to build up its own liquidity pools and fiat offramps (both of which XUSD already have). If we have to build liquidity pools and offramps for ZUSD directly then this will dilute liquidity and put ZUSD into a competitive, rather than collaborative, position with XUSD, which I don’t think would be beneficial for either of our communities.

There is no additional audit planned at this time. The Zero contracts will be eligible for the Sovryn bug bounty program.

What RBTC insurance pool?

I believe that it is about rBTC insurance pool for XUSD.

When the XUSD MC grows, that means we have more aggregated stablecoins. We are about to jumpstart the additional rBTC insurance pool for the XUSD so it would be overcollateralized. Once the vote on balancing the stablecoin basket will be conducted and the other one about lending out the collateral - we use it to earn yield and share it among FISH stakers and use it for buying rBTC for the insurance pool.

Long story short - we have to balance the basket, determine what amount in % of each stables we want to have in the pool and start lending out periodically.

@light 110% of collateral for ZUSD seems a bit low IMO. In volatile crypto environment it might be not enough.

So what is the purpose of Mynt then?

Got it. Thanks for explaining. So the answer to the other question is then:

It seems to depend on how the pool is implemented. I don’t think I can answer this question, or that it is even relevant for this proposal. I could be wrong about that last part though :slight_smile:

Zero is a fork of Liquity, a protocol on Ethereum (and therefore operating in a highly competitive gas market) that has gone through several major price crashes without yet becoming under-collateralized. The possibility is not zero (there’s always risk) but it seems to be low, especially given the protocol’s capital- and gas-efficient liquidation txs. You can explore historical Liquity data here: https://dune.xyz/dani/Liquity

Sovryn Mynt is an aggregator exclusively for bitcoin-backed stablecoins. Bitcoin is the hardest, most liquid and censorship-resistant collateral, which provides a better risk profile than fiat-backed stablecoins (at the cost of slightly worse capital efficiency, given the 110% overcollateralization requirement of Zero).

1 Like

Thanks for clarification @light

1 Like

In case you missed the Q&A yesterday by Light, it mentions this forum’s discussion to add ZUSD to XUSD’s aggregator around the 15:45, 34:45 and 40:45 marks. Here is the recording link: https://twitter.com/SovrynBTC/status/1534419000389685248

IMHO, ZUSD is one of the best products in DeFi (credits to Liquity) and the symbiotic integration with BabelFish will accelerate the demand for both products.

Accordingly, we should prioritize and proceed with the governance vote this Monday June 13th.

3 Likes

After yesterdays Q&A on Twitter Spaces and clarification made by @light I do think that ZUDS will be a great add-on to XUSD. The only thing that remains open is setting desired basket sizes for all the stables, but this is something to be voted in another BIP.

2 Likes

I had a similar intial response to some other people to let Zero (ZUSD) run for a while and then add it to the XUSD aggregator but on second thought that might create unnecessary competition and since Liquity has been running for a while so I believe the risk is low.

Hyde, would it be possible, just in case, to keep ZUSD under close monitoring after being added to the aggregator?

Maybe the past experience from when the other stablecoins were added to the aggregator could be used to prepare for any potential issues.

We monitor all the aggregated stables constantly.

I do believe that initially there is nothing to worry when it comes to ZERO or BDUS, but what should be voted next is Basket Balancing - even before (or parallel) Jumpstarting the BTC Insurance.

@light - would You post a final BIP (it would have number BIP-0003) in the #governance:final-bip category? I believe it is ready to be voted. Maybe Final BIP should be a bit more brief with links pointing out Zero parametrization, stability and risks.