Fixed rates in DeFi

Kamel Aouane
Contango
Published in
6 min readAug 12, 2022

This article has been created following the conference presented at EthCC on fixed rate markets (video here). This analysis is complementary to the original research published by Multicoin capital in 2021.

In TradFi, fixed income markets are one of the largest asset classes in the world totalling $130T of outstanding debt across the globe (sources: Barclays, Sifma). Fixed rates are essential for individuals and businesses to bring some certainty in their financial planning. If you want to know exactly how much you’ll pay or how much you’ll receive, you need fixed rates.

In DeFi, the biggest money markets offer exclusively variable rates (e.g. Aave, Compound, Venus). They still rank at the top of borrowing and lending charts in terms of TVL, but over the past two years new fixed-rate protocols such as Notional Finance or Yield have climbed to the top positions too. At the time of writing, Notional and Yield are the 5th and 13th largest money markets on Ethereum L1 respectively (Defi Llama).

Lending TVL Rankings from Defi Llama

However, building fixed rates in DeFi is not easy. Different designs have been developed:

  • Zero coupon bonds
  • Yield stripping
  • Interest rate swaps
  • Perpetual interest rate swaps.

Let’s dive into each of these designs in the next sections!

Zero coupon bonds

Fig 1. Zero-coupon bond design

Let’s start with zero coupon bonds (ZCB). These financial instruments are used to borrow money and provide only one payment (principal + interest) at maturity. Fixed rate protocols use this mechanism to allow borrowing and lending at a fixed rate by having an Automated Market Maker (AMM) on zero coupon bond tokens (zcTokens):

  • Lending at a fixed rate is equivalent to buying a zero coupon bond. E.g. buying 100k tokens trading at 0.95 USDC/unit is equivalent to lend 95k USDC at 5.3%. The zcToken is redeemable at maturity for a value of 1, i.e. you would get 100k USDC.
  • Borrowing at a fixed rate is equivalent to minting and selling a zero coupon bond. To mint, you need to open an over-collateralized borrowing vault. If you want to borrow 95k USDC at 5.3% with a collateralization ratio of 140%, then you would need to put at least 95k*1.053*140%=140k USDC to mint 100k zcTokens and sell them at 0.95/unit to get 95k USDC.

While this design allows for both borrowing and lending at a fixed rate, traders cannot have a directional position on the rates in a capital efficient way.

Zero coupon bonds are used by protocols such as Yield, Notional or Hifi.

Yield stripping

Fig 2. Yield stripping design

Interest bearing tokens are received when lending at a variable rate on protocols such as Aave, Compound or Yearn. A user would deposit e.g. 100k USDC into a Yield Stripping protocol (YSP):

  • The YSP invests those 100k USDC into an interest bearing token (IBT)
  • The IBT is stripped into an equal number of principal tokens (pTokens) and yield tokens (yTokens)
  • The pToken is equivalent to a zero coupon bond. It could be sold and the buyer would buy it at a discount, e.g. at 94967 USDC, to receive 100k USDC at maturity. From the buyer perspective, this is equivalent to lending at a fixed rate of 5.3%.
  • The yToken represents the sum of the future variable rate payments to be received up to maturity. It could be sold now and the buyer would pay a fixed amount (e.g. 5k) and would receive the variable payments up to maturity. From the seller point of view, this is equivalent to an interest rate swap exchanging a 5% fixed rate against the variable rates from the interest bearing token.

To lend at a fixed rate, a trader simply needs to buy a pToken. To borrow at a fixed rate, a trader would need to borrow on a money market (e.g. on Aave to get aDAI) and buy the corresponding yToken (on aDAI), i.e. the cash flows received with the yToken would offset the payments to be made on the borrowing side. The price of the yToken hence represents the fixed cost of borrowing. However, yield stripping could be capital inefficient for fixed-rates as it requires the entire principal amount up front.

Yield stripping is used by protocols such as Element, APWine, Tempus, Sense, Swivel or 88mph.

Interest rate swaps

Fig 3. Interest rate swap design

Interest rate swaps are quite interesting, e.g. Voltz provides up to 15x leverage (Voltz’s litepaper). This mechanism allows people to swap variable interest rates for fixed ones and fixed interest rates for variable ones for a given maturity date. Let’s walk through two examples.

Fixed taker (FT):

  1. FT brings an interest bearing asset worth 10k DAI (e.g. cDAI) with a variable rate at 10% APY
  2. FT swaps the variable rate for a fixed rate of 6% and a maturity of 3 months.

Variable taker (VT):

  1. VT brings an initial margin of 10k DAI
  2. VT will receive the difference between the cash flows of the interest bearing asset (e.g. cDAI) and the fixed rate of 6% APY.

This design is capital efficient but fixed rate borrowing is not available yet as specific markets need to be created. Voltz went live a few months ago.

Interest rate swaps are used by protocols such as Voltz or IPOR, although the latter is not live yet and uses a specific index for the swaps.

Perpetual interest rate swaps

Fig 4. Perpetual interest rate swaps design

This mechanism allows a trader to go long or short on a specific fixed interest rate through a perpetual futures contract. This implies no expiry of the contract and up to 10x leverage (https://docs.strips.finance/). An interesting use case is the ability for a trader to swap a floating rate for a fixed rate, which would be equivalent to lend at a fixed rate:

  • First get an interest bearing token, e.g. deposit 10k USDC on Aave at 3.05% APY
  • Sell the perpetual futures contract to lock a specific fixed rate, e.g. 3.26%
  • Pay the periodic funding fees on the perpetual contract with the floating rate payments received from the interest bearing token.

This design is capital efficient but fixed rate borrowing is not available yet as specific markets need to be created. However, Strips announced the end of their v1 to focus on a second iteration (more details here).

Comparison

We have reviewed the four principal designs for fixed-rate markets in DeFi. The following table summarises our findings and the protocols involved in each category.

Fixed-rate designs comparison

Fixed rate markets are still in their infancy in DeFi. However, they are essential to bring more certainty around borrowing and lending. At Contango, we are excited to see how those protocols evolve and we are watching closely any new designs. Do not hesitate to reach out to !

About Contango

Contango is bringing expirables to DeFi. Buy or sell assets at a set price and date in the future without order books or liquidity pools. When a trader opens a position, the protocol borrows on the fixed-rate market, swaps on the spot market, then lends back on the fixed-rate market. Contango offers physical delivery and a minimal price impact for larger trades. Join us at contango.xyz.

Website | Twitter | Discord | Docs | Blog

--

--