Yield tokens

Speculate on future variable-rate yields and strengthen the solvency of 88mph protocol.

Overview

Yield tokens or YTs are fungible ERC-20/ERC-1155 tokens that allow speculators to profit from the rise in the variable yield rate of lending protocols (such as Compound or Aave) or hedge part of their borrowing costs of a loan (e.g. Dai borrower on Compound would purchase cDAI YTs on 88mph).

YTs can be purchased by users when a fixed yield rate deposit is made on 88mph, as each YT is tied to a deposit. YTs give holders the right to earn all the future variable-rate yields generated by the corresponding deposit + the purchase cost of the YTs.

Principle

YTs are more than an instrument for speculating on yields.

88mph by essence is highly dependent on market rate volatility. Let's say one depositor brings 1 WBTC with fixed terms (3.75%/1y maturity) and the variable rate of WBTC on the underlying lending protocol then decreases drastically (ie from 10% on avg to 1%). The protocol then needs to find 2.75% extra yield to ensure the redeemability of the 1.037 WBTC owed to the depositor at maturity.

Knowing the above, the protocol needs to insure itself against market rates' volatility. While surges in variable rates are beneficial to the protocol, drops, as in the example above, are less desirable.

For this reason, 88mph transfers this volatility to other actors looking to get exposure to market rate volatility with significantly smaller capital requirements than the deposit tied to the yield token. Therefore, the leverage available can be tremendous for Yield Token holders (pay 0.035 to earn a variable rate on 1.035).

So to summarize it, YT holders are the agents ensuring the protocol against drops in market rates, making sure that the protocol has always enough reserves alongside the net interest margin to stay solvent.

Another example, shall we? Let's imagine that the 30-day EMA for the DAI-Compound fixed APR asset is at 10%. So, for a 12-month 100 DAI deposit, the fixed APR offered would be 3.75% (37.5% of the 30-day EMA) before fees. Cf Fixed interest rate model section.

The corresponding 103.75 YTs would cost 3.75 DAI to purchase (learn more about YT token pricing below). The YTs entitle the holders to the variable-rate yield earned by the 100 DAI principal + 3.75 DAI over the deposit's term. If the average Compound variable APY stays at 10% over the deposit duration, then the YT delivers 10.375 DAI to its holders.

Suppose you bought all 103.75 YTs. Your final balance will be 10.375 DAI. Thus, you earn a 6.625 DAI profit on your investment of 3.75 DAI, a 176.67% return on investment.

Yield token pricing

Given a deposit with term length tt, deposit amount dd, and fixed yield rate yy, the yield tokens of this deposit are offered at a cost of dtyd⋅t⋅y which is the fixed yield amount offered to the user. This equality is expected, since the point of selling yield tokens is to generate enough funds to pay out the promised fixed yield.

The buyer of the yield tokens would be earning the floating rate yield generated by the deposit amount dd for the term length tt, so the price for the yield generated by 1 money unit ×1 time unit1 \text{ money unit } \times 1 \text{ time unit} is dtydt=y\frac{d \cdot t \cdot y}{d \cdot t} = y (whose unit is time unit1 \text{time unit}^{-1}). This price remains fixed even as time passes, though the actual implementation is more capital efficient as it deducts the floating rate yield generated so far from the cost of the yield tokens.

This means that whenever a user makes a deposit, 88mph is essentially creating a sell order for the tokenized yield at a fixed price, which is equal to the fixed yield rate yy offered by the oracle. Suppose that there exists a market price for future yield yy'. If yy y' \gg y , then the sell order will be completely filled, ensuring 88mph’s ability to give the user the promised fixed yield upon maturity date. If yyy' \ll y, then the sell order will not be filled at all, meaning 88mph will be offering a kind of “naked” fixed yield on this deposit, which can only be realized by increased floating rate yield offered by the underlying yield protocol. From this, we can see that it’s better for 88mph to err on the side of security and offer a lower fixed yield rate than the expected market price for future yield, which is what 88mph currently does.

Yield payment

The yield payment to yield token holders is automatically triggered whenever part or all of the corresponding deposit is withdrawn, and it is also possible to manually trigger it via the Claim Button in the user interface or by calling the contract functionDInterest.payInterestToFunders().

Yield token holder refund

When the underlying deposit of a set of yield tokens is withdrawn before maturity, the token holders will receive a refund, the amount of which is the minimum of an estimated lost yield calculated using the average floating yield rate and the fixed-rate yield offered on the withdrawn funds. If the deposit is withdrawn completely, the yield token holders will no longer receive interest payments, and a new yield token contract will be created when the user tops up the deposit in the future. The possibility of early withdrawal makes the return on yield tokens less certain, making it more difficult to price them.

Why ERC-20/ERC-1155?

As 88mph has multiple YTs tied to a single pool, ERC-1155 standard allows the protocol to easily map to a single 1155 contract with multiple token IDs each representing a YT.

YTs are also an ERC-20 because when a YT is minted for the first time, 88mph deploys a wrapper contract allowing users to interact with the YT through the ERC-20 interface, which makes it easy to trade it on DEXes, etc; since no major DEX supports trading 1155 tokens.

Last updated