Introducing fyDai
(This article was originally published as “Introducing yDai.” See the Prefix Change section for further detail.)
The goal of the Yield Protocol is to bring fixed-term, fixed-rate lending and interest rate markets to decentralized finance using a new kind of token we call “fyTokens.” (You can read our whitepaper on fyTokens here.) Version 1 of the Yield protocol will include fyTokens for the Dai stablecoin. Called “fyDai”, this new class of tokens will enable fully collateralized fixed-rate borrowing and lending in Dai.
Why Fixed-Rate?
Today, most of the popular decentralized finance protocols are floating-rate. Two prime examples are Maker and Compound. While floating-rate lending is a powerful tool, it comes with significant drawbacks. Interest rate volatility can make it difficult for borrowers and lenders to plan for the future, make investment decisions, and properly hedge risk.
For this reason, fixed-rate lending is the dominant form of lending in the traditional financial world. Around 90% of U.S. mortgages are fixed-rate. Many of the largest financial products are either fixed-rate, such as the bond market (over $100T), or are derivative products with a fixed-rate component, such as the interest rate swap market (over $500T notional).
Decentralized finance has several use cases that would be greatly improved with fixed-rate, fixed-term borrowing and lending. For example, users may want to unlock the value of their crypto, but fear that interest rates will rise, requiring them to pay hefty interest rates or sell crypto (and pay taxes) to pay off high-interest floating rates. Traders and liquidity farmers may use fixed-rate, fixed-term borrowing to lock in secure funding for long periods of time to ensure that strategies can be pursued long enough to pay off.
For all these reasons, we at Yield believe the time has come for fixed-rate borrowing and lending in decentralized finance.
The fyDai Solution
fyDai tokens are Ethereum-based tokens (ERC20) that may be redeemed one-for-one for Dai after a predetermined maturity date. fyDai are analogous to zero-coupon, or discount, bonds. The fungibility of these tokens is expected to encourage the liquidity of the tokens, due to their ease of transfer and their ability to take advantage of the financial infrastructure for tokens, such as decentralized exchanges.
Borrowers mint and sell fyDai, and lenders buy fyDai. fyDai trade freely and will typically be priced at a discount to Dai. The difference between the discounted value and 1 Dai (the maturity value) represents the interest earned by the lender. Since the market determines the price of fyDai, it also determines the interest rate.
For example, suppose you buy 1 fyDai that settles exactly a year from today for 0.95 Dai. Your yield is fixed because you have a fixed amount of invested capital (0.95 Dai) and a known amount of future return (1 Dai, a year from now). You can calculate the yield-to-maturity of the fyDai and find that it is 5.3%.
There are several “series” of fyDai, each with a different maturity date. Yield plans to launch with a small number of series to give users options when deciding how long to borrow or lend their Dai while preserving liquidity in a few concentrated maturities.
The system is tightly integrated with — and complementary to — Maker. Maker users will be able to “migrate” their Dai vaults into fyDai vaults, locking in a fixed interest rate for a period and converting back to a Maker vault after maturity.
Borrowing
You can use fyDai to borrow Dai at a fixed rate against ETH:
Here’s an example of using the fyDai protocol to borrow Dai. You deposit 0.5 ETH of collateral (worth $200) in a vault. This allows you to borrow up to 132 fyDai (since fyDai uses the same collateralization ratio for ETH as Maker, which is currently 150%). You decide on Sept. 31, 2020 to take out 100 fyDai-DEC20 (yDai expiring on December 31, 2020), and your debt records the debt, leaving it collateralized at 200%. You receive the 100 fyDai, which you can then sell for Dai, receiving 98.8 Dai. Since you have borrowed 98.8 Dai and owe 100 Dai in three months, you have effectively borrowed Dai at 5% APR.
After maturity is reached on Dec. 31st, 2020, you may return and pay the 100 Dai debt. If you fail to repay after maturity, your vault will be charged the Maker stability fee until the debt is repaid, or your account is liquidated.
You can repay fyDai debt early to withdraw your collateral. Because fyDai is traded freely, changes in interest rates may affect the amount of Dai you need to spend when repaying early.
Lending
Buying fyDai is akin to lending Dai at a fixed rate. Typically, you can buy 1 fyDai for less than 1 Dai. The discount you receive from the face value of the fyDai locks in a fixed return that can be calculated based on the time to maturity. For example, if you buy 100 fyDAI-DEC-20 for 98.8 Dai on September 31, 2020, you will earn an implied rate of interest of 5% APR.
You can redeem fyDai for Dai after expiration, as described in the next section.
You can exit your position early by selling your fyDai for Dai. Because fyDai is traded freely, changes in interest rates may affect the amount of Dai you receive when redeeming early.
Repayment and redemption
When a particular fyDai series matures, it begins to act like Dai. If you own fyDai after maturity, you will start to earn the Dai Savings Rate on your fyDai, until you decide to redeem it for Dai. If you have borrowed fyDai, you will start to owe the Maker stability fee on your debt, until you repay it using fyDai or Dai. This feature permits users to hold open their position after maturity while incurring as little inconvenience as possible compared to having a position with Maker.
Returning to the example, if you borrowed 100 fyDai (Dec 2020) with ETH, you will owe 100 Dai when the maturity date arrives on December 31, 2020. The fyDai protocol does not require that you pay back the 100 Dai debt at that time, but you will be charged the stability fee as if you were holding a position in a Maker vault. If the Maker stability fee for ETH is a 5% APR, then your Yield ETH vault will also accrue stability fees at a 5% APR.
Likewise, if Alice has bought 100 fyDai (Dec 2020) then, when the maturity date arrives on December 31, 2020, Alice will be entitled to redeem her 100 fyDai for 100 Dai. Until she does so, she will earn interest via appreciation of her fyDai tokes at the same rate as the Dai Savings Rate (DSR). Thus, if the DSR is 4%, Alice will earn 4% on the 100 Dai she is owed from the time the fyDai matures until Alice redeems them for Dai.
Liquidations
Borrowers must maintain a minimum amount of collateral in their vault to secure the debt they owe. If a borrower fails to do so, their vault may be liquidated: their collateral will be seized and auctioned off to repay their debts. For ETH collateral, fyDai uses the same collateralization ratio as Maker, which is currently 150%.
Governance
The Yield Protocol v1 solves governance by not having any governance at all. We believe in decentralization, censorship-resistance, and security. The easiest way to stay true to those principles for v1 is to make a protocol that is simple, robust, and removes us from the equation. As soon as the contracts are deployed, they will run autonomously, with no administrator privileges for anyone.
However, the protocol is affected by Maker governance. The collateralization ratio on Yield vaults, as well as the fyDai borrowing and lending rates after maturity, are determined by Maker’s parameters, and can be changed by their governance system. Additionally, when checking the value of ETH collateral in Yield vaults, Yield uses Maker’s ETH oracle.
Furthermore, if Maker governance triggers emergency shutdown of the Maker protocol, fyDai borrowers and lenders would be affected. The Yield Protocol aims to handle this case as gracefully as possible, initiating its own shutdown procedure in response to a Maker shutdown.
Pooling
While fyDai is an ERC-20 and can be traded using existing protocols like Uniswap, those protocols are not optimized for fyDai. To improve the liquidity of fyDai, Yield has designed a new protocol for automated liquidity provision that is designed to enable efficient trading between Dai and fyDai. We call this new protocol the Yield Pool. Each series of fyDai has its own Pool with Dai. For convenience, we are integrating this new protocol with our user interface, but users are not required to use it to buy or sell fyDai.
The Yield Pool improves on existing solutions by providing for a market that quotes at a consistent interest rate over time, in the absence of trades. By quoting at a consistent interest rate, the Yield Pool minimizes losses from arbitrage. Whereas in Uniswap, arbitrage trades are expected whenever prices change, arbitrage trades in the Yield Pool are expected to occur only when interest rates change. This should tend to reduce the “impermanent loss” suffered by market makers.
The Yield Pool formula also reduces the market impact suffered by traders of fyDai, especially for fyDai that is closer to maturity. The chart below illustrates the market impact that trades of equivalent size would cause on Uniswap versus the Yield Pool, assuming both are initialized with reserves of 1000 Dai and 1000 fyDai. The x-axis is the amount of fyDai sold. The y-axis is the implicit interest rate achieved by a borrower who is selling that amount of fyDai at one year to maturity. Borrowers obtain considerably better fyDai/Dai quotes (with better implied interest rates) by using the Yield Pool.
Additionally, the Yield Pool uses a custom fee model that is optimized for fyDai. Rather than charge a fee that is a percentage of the amount of the asset bought or sold, the Yield Pool charges a fee that is proportional to both interest rate and time to maturity. This fee model ensures that fees never result in an unreasonably wide spread on interest rates paid by borrowers (yDai sellers) and earned by lenders (yDai borrowers).
All borrowing and lending through the Yield user interface is routed through the Yield Pool, and we would not be surprised if most trading between Dai and fyDai uses the Pool.
Chai Collateral and Interest Rate Speculation
In addition to borrowing fyDai using ETH collateral, users may also borrow fyDai by posting Chai (a wrapped version of Dai that earns the Dai Savings Rate). Borrowing fyDai against Chai is roughly equivalent to receiving floating rates and paying fixed rates. Sophisticated users can use this property to speculate on future changes in interest rates.
For every 1 Dai worth of Chai collateral, a user may borrow up to 1 fyDai. Because the Dai redemption value of Chai never goes down, fyDai borrowed with Chai is fully collateralized and there are no liquidations of fyDai backed by Chai collateral. There is also no requirement to maintain a collateralization ratio of 150% as there is with ETH.
Users can obtain significant leverage by repeatedly borrowing fyDai against Chai, selling it for Chai, depositing it as collateral, and borrowing fyDai. The achievable amount of leverage increases the closer the fyDai series is to maturity and the lower the interest rate achieved when selling the fyDai.
Prefix Change
When we released our Yield Protocol whitepaper, we called the tokens representing borrowing and lending “yTokens,” after the name of the protocol. Since then, the YFI community has adopted the name yTokens for tokens with completely different purposes. Out of respect for their usage and to avoid any user confusion, we renamed our tokens to “fyTokens.”