Proposal for rETH-cETH Zero-Liquidation Loans

I. Motivation

Over the last year, there has been a positive spread between ETH staking yields and ETH borrow rates on popular lending protocols [1]. This spurred great interest among traders on how to capitalize on this interest rate differential. Recently, Aave added support for stETH collateral, allowing users to gain leveraged stETH yield exposure by borrowing ETH and pledging stETH as collateral. While this strategy has been considered risk-free, it is, however, important to note there are in fact risks involved, such as depeg risk, slashing risk and borrow rate volatility.

Nonetheless, there remains strong interest in trading the ETH staking-yield-vs-borrow-rate spread (also from within the rocket community), and we can expect this to become more relevant as the Shangai upgrade comes closer. However, only few borrowing protocols accept rETH as collateral, partially also due to limited market depth which, however, is a pre-requisite for liquidation mechanics to work properly. For example, Gauntlet has recommended not enabling rETH as collateral on Aave due to its relatively low liquidity [2]. With its zero-liquidation loans, MYSO Finance is a natural candidate to provide a rETH-cETH pool in which:

  • Rocket users can get leveraged rETH yield exposure.
  • Compound users can boost their cETH yield.

II. Proposal

MYSO proposes to roll out a rETH-cETH pool with the following parameters:

  • loan tenor = 90 days
  • collateral currency = rETH ($1597.5)
  • loan currency = cETH ($30.7)
  • initial LTV = 90%
  • loan per collateral = 46.89 cETH ($1439.5) per rETH ($1597.5)
  • interest rate multiplier = 1.005
  • cETH repayment amount = cETH loan amount * interest rate multipler

II. Value-Add

  • Rocket users (Borrowers) : get leveraged yield on rETH without liquidation risk. For example, if rETH (temporarily) depegs, borrowers can still get their rETH back. Moreover, the applicable borrow cost depends on the Compound deposit rate, instead of the higher borrow rate.
  • Rocket community : rETH can be accepted as collateral regardless of secondary market liquidity. Create organic orderflow for rETH/ETH secondary market activity.
  • Compound users (LP) : can conservatively boost their cETH yield without taking on any directional view on the ETH staking-yield-vs-borrowing-rate spread. Moreover, users earn a minimum base rate even in the extreme case where the cETH deposit rate drops to zero.
  • Compound community : cETH liquidity can be retained within the Compound, enabling users to indirectly benefit from a positive interest rate differential without actively having to remove liquidity from the protocol.

III. Example

Assume:

  • PricerETH = $1597.5
  • PricecETH = $30.7
  • rETH/cETH = 52.1
  • liquidity provider adds 3’200 cETH ($98.11k) to the rETH-cETH pool

Then a borrower comes and:

  • pledges 10 rETH ($15.97k) as collateral
  • receives 468.93 cETH ($14.38k) as loan
  • sells 468.93 cETH ($14.38k) for 9 rETH ($14.38k)
  • owes 471.28 cETH (to be repaid in 90 days to reclaim 10 rETH collateral)
  • after loan, borrower is 1.9x long with 19 rETH ($30.35k) and short 471.28 cETH ($14.45k)

Note the example is also provided in the following spreadsheet: https://docs.google.com/spreadsheets/d/1WjJRN991td6A2SLHi_YrQeQ5XlMKvpkqn-kvHWVb1L4/edit#gid=6151250.

Scenario A (Good Case):

Assume after 90 days:

  • rETH/cETH = 52.7 (no depeg, didn’t fall below 46.89),
  • APYrETH = 5%
  • APYcETH = 0.24%

→ Borrower unwinds leveraged position, i.e.,:

  • borrower swaps 8.94 rETH ($14.46k) for 471.28 cETH ($14.46k)
  • borrower repays 471.28 cETH ($14.46k)
  • borrower reclaims 10 rETH ($16.17k)

→ Resulting positions and APYs:

Borrower LP
Position 10.06 rETH ($16.27k) 3’202 cETH ($98.24k
APY 7.67% (+2.67% opposed to 1x rETH) 0.54% (+0.3% opposed to simple cETH)

Scenario B (Depeg Case):

Assume after 90 days:

  • rETH/cETH = 44 (depeg case),
  • APYrETH = -16%
  • APYcETH = 0.24%

→ Borrower doesn’t repay and doesn’t reclaim his collateral

→ Resulting positions and APYs:

Borrower LP
Position 9 rETH ($12.15k) 10 rETH ($13.5k) and 2’731 cETH ($83.79k)
APY -67% -3.39%

IV. Market

*as of 28 Oct 2022 rETH cETH
Price* $1’629.17 $31.18
Total Supply* 147’481 19’744’091
Market Cap* $240’272 $615’620
Holders* 8’433 72’725
Top 100 holdings* 66.2% 89.7%
Transfers* 48’760 366’257
24h trading vol.* $3.48m $1.99m
cETH/rETH vol. p.a. 6% -
cETH/rETH Correlation 0.9976 -

V. Risks

  • Borrowers : may suffer a loss if the rETH yield is less than the cETH yield. While rather unlikely, in the extreme case where rETH’s value falls to zero the borrower may suffer a 100% loss. Moreover, borrowers need to be aware that the final repayment amount is in cToken terms.
  • Lenders : if borrowers don’t repay, lenders may receive rETH back instead of cETH. While rather unlikely, lenders should monitor for potential strong depegs (+5-10%) to ensure they don’t get arbitraged in case the loan amounts exceed the collateral value.

The $-denominated repayment amount is subject to the variable Compound supply rate.

VI. Pool Deployment Technicalities

cETH vs rETH exchange rate

The rETH token’s value is growing approx. 4% p.a. faster than cETH. Hence, we can expect rETH to become more valuable relative to cETH over time. This means that if we setup a pool with an initial LTV of 99%, then the LTV will decrease over time. I.e., if the rETH-cETH interest rate differential stays at around 4% p.a. then the pool’s LTV will drop to 91% in the next 2 years.

Interest Rate Model

The MYSO v1 core protocol allows parameterizing an interest rate curve that changes the applicable borrow rate depending on the pool’s available liquidity.

However, since the repayment amount for a rETH-cETH loan is denominated in cETH, there’s already an implicit yield component for pool lenders. The simplest way to account for the additional risk of lenders is to derive the repayment amount as the cETH denominated loan amount times some constant multiplier. This means, in the simplest parameterization the interest rate curve would be flat. However, other parameterizations are possible as well and need to be sounded with the Rocket and Compound community before launch.

4 Likes

Thank you Aetienne for presenting MYSO.

I think every Defi integration of rETH will help for growth and we need it definitely to compete with other liquid staking protocols.

From your proposal I’ve got the following questions:

  1. From the documentations, I understand that MYSO borrowing / lending is not based on any chainlink oracle or uniswap TWAP oracle. How does your oracle work? What are the risks involved and is there any fallback solution?
  2. In your proposal you mention explicitly Compounds cETH. Would MYSO money market also work with other collateral, e.g. native ETH or Aave?
  3. How much are the MYSO protocol fees for opening / closing the leveraged position? As the term are fixed to 90 days, I think it’s important. Or asked differnetly: How much $ does one need to put into MYSO so that it covers the fees (assuming no depeg)?
  4. The leverage level in your example is 1.9 - This is fexed by the pool, and user can’t change it?
  5. MYSO is currently live on testnet. What is the timeline for mainnet launch?
2 Likes

Hi Bagogel,

thank you for your kind feedback and taking the time to read through the proposal.
Happy to dive into your questions:

1. From the documentations, I understand that MYSO borrowing / lending is not based on any chainlink oracle or uniswap TWAP oracle. How does your oracle work? What are the risks involved and is there any fallback solution?

Exactly, the MYSO borrowing and lending pools are not based on any chainlink or uniswap TWAP oracles. In fact, we don’t use any oracles at all. The risk associated with this is that a pool might not get funded by liquidity providers if its loan terms are off. Allow me to explain this in two parts below (A and B).

A: How does your oracle work? → No oracles
MYSO doesn’t use oracles but instead the way our pools work is that at deployment we define how much loan tokens a user can borrow per one unit of pledged collateral token. This loan ratio is set as an immutable pool parameter (“maxLoanPerColl”).

As described in the proposal, we could for example set this value to 46.89, meaning that per pledged rETH collateral unit a user can borrow 46.89 cETH. At the time we wrote the proposal, the market exchange rate for 1 rETH was around 52.1 cETH.

So if we allow users to borrow 46.89 cETH per rETH this corresponds to a 90% LTV. Independent of what happens on the secondary market (depeg, flashcrash etc.) users can borrow at a rate of 45.89 cETH per pledged rETH unit in this pool. It is up to the liquidity providers to decide whether they want to provide cETH liquidity at this rate (see part B).

B: What are the risks involved and is there any fallback solution? → Liquidity providers need to monitor the price
Since there’s no oracle dependency, there’s also no risk of any oracle failure. Instead, liquidity providers need to decide if they feel comfortable providing cETH liquidity at the given loan ratio (e.g., 45.89 cETH as described before).

Generally, rETH is expected to increase in value faster than the cETH rate because the ETH staking yield currently exceeds the Compound deposit rate.

So in the good case (no depeg) we can expect that the rETH-cETH exchange rate will grow higher, i.e., over time 1 rETH should become worth more than 52.1 cETH. This naturally leads to a lower LTV over time because the collateral value is expected to become more valuable relative to the loan currency.

However, in the bad case (rETH depegs) it might happen that 1 rETH becomes worth less than 46.89 cETH. In this case, liquidity providers should remove their liquidity to not get arbitraged. Otherwise borrowers could come in an borrow 46.89 cETH per pledged rETH unit although rETH might be worth less on the secondary market. In the extreme case where rETH was worth 0 then a user could still pledge his rETH and receive 46.89 cETH per pledged rETH unit, in which case borrowers wouldn’t repay their loans and liquidity providers would be left with the rETH collateral. So liquidity providers need to actively monitor their position.

2. In your proposal you mention explicitly Compounds cETH. Would MYSO money market also work with other collateral, e.g. native ETH or Aave?

Yes absolutely, we could roll out pools for other asset pairs as well. So for example, we could also create a rETH-ETH pool in which liquidity providers can put in ETH and borrowers can borrow ETH after pledging rETH as collateral.

3. How much are the MYSO protocol fees for opening / closing the leveraged position? As the term are fixed to 90 days, I think it’s important. Or asked differnetly: How much $ does one need to put into MYSO so that it covers the fees (assuming no depeg)?

There’s a maximum pool fee of 30bps. This fee is configurable at deployment of the given pool and immutable. Naturally, for shorter loan tenors we would set this fee to be lower to make the overall annualized APR be reasonable. So, for example, if we set the pool fee at 20bps then the APR for a 90 day loan would be 0.8% p.a. + the applicable compound deposit rate (historically has been between 0.07-1.86% p.a.).

4. The leverage level in your example is 1.9 - This is fexed by the pool, and user can’t change it?

In the example we illustrated a 1.9x leverage a borrower can build up by borrowing cETH and then swapping it for rETH. If the user was to continue this indefinitely then the theoretical achievable leverage would be 10x (assuming a 90% LTV as described in the proposal). We could implement a peripheral contract to do this atomically in one transaction. But even without, a user could already obtain 1.9x leverage with just one borrow transaction.

5. MYSO is currently live on testnet. What is the timeline for mainnet launch?

Yes, we’re currently live on testnet and also running a giveaway campaign with cash prizes as well as a limited LP waitlist signup until 30th of Nov. Our plan is to launch on mainnet end of 2022 / early 2023.

Pls let me know in case the above helps answer your questions, otherwise also happy to dive deeper into any specifics. Moreover, also wanted to share the links to our audit report and whitepaper:

Thank you again for your feedback and look forward to continuing the discussion.

2 Likes

I’ll respond at a very high level:

  • Use as loan collateral is one of the most asked for uses for rETH
  • We expect Maker to on-board us before this proposal would launch, but their loan is a stable, so different in kind
  • The ability to hyperstake (get leveraged exposure to rETH) is brought up regularly. Maker won’t safely enable that, so you may be able to launch without competition for a bit

So all of that is pretty awesome.

The things that will really get us over the edge (feeling secure, good UX, marketing - especially word of mouth) will take some time. Our community is very very active, so you can expect to get feedback and exposure when there’s a product to play with (and you may be able to get folks to try it on testnet… people are partial to poaps, eg).

For launch, you may also want some material explaining the loan-to-collateral approach, as most folks will be much more familiar with oracle driven LTV.

1 Like

Hi Valdorff, many thx for taking the time to read through the proposal and providing feedback, much appreciated!

Cool, gotcha, just also read through the Maker proposal you were hinting too, very interesting. As you said we’d like to propose rETH as collateral and cETH as loan currency. Providing a pool where a stable like DAI would be the loan currency is currently not planned from our side such that these two developments seem independent/complementary to one another. Moreover, as you said given that we’d be looking into a rather stable collateral/loan token pair in conjunction with the non-liquidatable nature of our loans, we think there’s a natural and strong fit for hyperstaking and bringing together Rocket, Compound and MYSO.

Re security: fully agree, also wanted to use this opportunity to point to the audit we recently completed with ChainSecurity: audit

Also just wanted to quickly share the link to our testnet and invite the Rocket community to test it: testnet
We’re currently also running a giveaway campaign with different prices and again invite the Rocket community to participate: giveaway campaign

Re loan-to-collateral approach: thx for pointing out, makes sense, we’ll add that to our backlog and plan to prepare additional documentation/material on this.

All in all we’re very excited about this case and would love to continue the preparation work for this pool. For this, we were wondering if you think there are any particular preferences w.r.t. loan tenors (e.g., 30 days, 60 days…) and LTVs.

In any case, thank you again for your feedback and suggestions, and pls let me know if there are any further questions, or ideas/suggestions that come to mind.

1 Like