The Element Protocol Construction Paper

Note: This paper is not final, hence the title “construction paper” and will be updated over time. The opinions and analysis reflected herein are subject to change or updates over time.

Contents


1. Introduction

1.1 Overview

Element Finance is a protocol which enables users to seek high fixed yield income in the DeFi market, initially focused on ETH, BTC, USDC, and DAI. Users can access, via the ecosystem and existing AMMs, ETH, BTC, USDC, and DAI at a discount without being locked into a term, allowing the exchange of the discounted asset and the base asset at any time. The fixed rate income can be secured with the exchange of any major base asset. For active DeFi users, the Element Protocol enables capital efficiency on yield positions they are already depositing into, such as Yearn or ETH2 staking. Users can sell their deposited principal at a discount as fixed yield income, leveraging or increasing exposure to yield without liquidation risk. This competitive activity is what drives the high fixed yield markets. This construction paper breaks down the Element Protocol and discusses how it can open the door to a number of new primitives and innovations. When users sell their principal or yield, risk is not transferred to another asset. The assets are redeemable for the underlying position directly and denominated in the original position.

1.2 The Current State of Yield Markets in DeFi

Today, in the decentralized finance (DeFi) space, the variable yield market can be both difficult and overwhelming for casual users to navigate. Yield rates constantly fluctuate, resulting in users needing to move their funds regularly in order to meet their target APY, and depositing or shifting between positions regularly incurs high transaction fees.

Securing fixed rate yield can resolve these issues. However, the current fixed rate yield products on the market offer low rates and do not have enough liquidity to enter in and out of the position easily. This lack of liquidity causes slippage problems or the inability to exit from a position until after a defined term. In other cases, depositing into a fixed rate position requires multiple transactions and the associated high transaction fees that come with it.

Capital efficiency is an underserved feature for DeFi users. When users are required to have their principal locked in a yield generating position, such as a Yearn vault or ETH2 staking, they cannot access further opportunities, incur significant costs if they decide to move their position, and the market often lacks liquidity.

1.3 The Element Approach

The Element Protocol, at its core, works by enabling users via the Ethereum contracts to split the base asset (ETH, BTC, USDC, DAI) of yield generating positions, such as a Yearn vault or an ETH2 validator, into two separate, fungible tokens: the Principal Token (PT), and the Yield Token (YT).

The splitting mechanism allows users to sell their principal at a discount, thus giving users the ability to create a marketplace for fixed rate income positions. Their principal is no longer locked up and they may use their newly freed funds to leverage at high multiples, gaining increased exposure to yield without the typical liquidation risk. Users may also gain additional trading fees or APY on their yield positions by using their new tokens to provide liquidity into an AMM. The casual user subsidizes the DeFi user’s active strategies by securing fixed rate yield at a discount on what the DeFi user earns. The DeFi user’s participation subsidizes the value of the fixed rate yield.

Element's approach takes an alternative approach to tranching products, instead enabling users in the market to set the price of fixed vs. variable yield rates. This competitive activity along with the custom curve built on Balancer V2 to support the PTs is what drives the high fixed yield markets. Furthermore, it promotes liquidity in the fixed yield income market while minimizing slippage, fees, and impermanent loss, ultimately opening the door to a number of new DeFi primitives.

1.4 Glossary Definitions

2. Principal Tokens

A Principal Token (PT) offers an asset such as BTC, ETH, USDC, or DAI that is locked for a fixed term. At the end of the term, it can be redeemed for its full value.

Figure 1

For example, if 10 ETH is used to purchase discounted ETH at a 10% APY for a one-year lockup, 11 eP:ETH or PTs will be issued. Upon expiry of the fixed term, one year later, the 11 eP:ETH is redeemable for 11 ETH. A fixed rate of yield was secured.

The locked ETH will always be worth less than readily available ETH. Readily available ETH can be staked in a yield position, gaining active yield. For this lost opportunity, these PTs or locked ETH will be priced at a discount, likely relative to the current yield rates in the market. Purchasing this discounted ETH is akin to securing a fixed rate yield. At the time of purchase, the discount and yield are already known.

As a further example, if the current rate for providing liquidity for ETH is 15% annualized variable yield, a user may sell the PTs at a slightly lower rate. This gives a guaranteed stable yield rate to the purchaser and prevents them from having to shift their assets between DeFi protocols in the situation where the variable yield decreases. Additionally, it allows users to avoid costly transaction fees and other inconvenient complexities.

Although the terminology "locked" is used to describe the process of entering a fixed yield position, it is important to note that the Element Protocol is designed to optimize for liquidity allowing users to exit their position at any time, while still enabling users to gain yield until they decide to exit.

Note: The use of 1-year terms in the examples of this paper is purely for simplicity. The Element protocol will initially allow users to mint both 6-month and 3-month terms.

2.1. Initial Use Cases of Principal Tokens

Purchasing PTs can provide a wide variety of utility depending on a user's market strategy. This section provides an in-depth look into some of those utilities. Additionally, Section 5 of this paper covers the possible use cases surrounding the minting and selling of PTs in an active market.

Yield, Fixed Yield, and Stability

In today's market, the current variable yield positions available fluctuate constantly, frequently changing day-to-day. In a single week, a variable position that may have carried 20% APY on Tuesday may only carry 5% on Thursday. This constant fluctuation forces current DeFi users to constantly monitor the market and move their capital to different yield positions in order to maintain their desired APY.

Casual users or institutions managing large amounts of capital may not have the bandwidth or the understanding of the space and its associated risks to constantly manage and monitor their capital. Additionally, these users may not want to deal with the complexities surrounding taxes or the risks associated with new protocols being released. For these users, securing a fixed rate of income is both helpful and more appealing, allowing them to not have to actively manage their positions.

AMM Liquidity Provision

If a user is already looking to gain exposure to BTC or ETH for a period of time, it makes sense to gain that exposure at a discount. During the period of holding the discounted ETH, the user may provide liquidity for the PTs on an AMM, gaining a significant boost on their fixed rate yield via trading fees. The mechanism behind providing liquidity for PTs and their profitability is described in further detail in Section 4.

Bearish on Variable Yield

A DeFi user may believe that the current yield rates offered in the market are high and suspects that rates will begin to decrease over the next 3-6 months. As a result, the user decides to secure a high fixed rate yield and thus, hedges against a yield downturn in the market.

Principal Tokens as a Trading Instrument

From the perspective of a swing trader who enters positions ranging from periods of 1-2 weeks up to a calendar month, PTs make for a better form of trading instrument generating a higher rate of return without incurring added trading risks.

Spot Trading

Assuming the following parameters:

A spot trader, Anna, may choose to take a trading position between 2 to 4 weeks. Her analysis leads her to believe that BTC will increase in value by 10% at the end of the calendar month. She made the right call and hits her price target of $55,000, redeeming her PT for 4.033 BTC at a price of $55,000 per BTC.

In concluding the trade, her total assets sum up to $221,815. If she had taken a BTC position instead of an eP:BTC position, her total asset sum would be a total of $220,000. By using PTs as her primary trading instrument, she gained an additional component of profitability in the form of fixed yield on top of her typical trading profits.

2.2 Future Use Cases of Principal Tokens

After the Element protocol has been released, a number of future structured products can be built by third parties on top of its foundation which may further drive demand for purchasing PTs. Section 6 provides an in-depth look at some of the potential structured products that could be built on top of the Element Protocol:

  1. 1:1 Collateralized Loans
  2. Fixed Term Lending
  3. Yield Ladders

3. Yield Tokens

The redemption value for a YT at the end of the defined term will be the average yield it has earned over the course of the term on the principal it represents.

Example:

Figure 2

However, by definition, no variable yield position on the market maintains its listed yield rate (APY). The APYs constantly fluctuate. This implies that the real redeemable yield at the end of the year is unknown.

The combined yield token and principal token redemption at maturity will not exceed the value of the yield asset in the Ethereum contracts. The yield token is only redeemable for the differential in value of the underlying yield asset from the original principal. It does not transfer financial risk associated with a future change in any such value or level without also conveying a current or future direct or indirect ownership interest in an asset (including any enterprise or investment pool) or liability that incorporates the financial risk so transferred. All growth or changes are denominated in the original asset.

3.1 Yield Token Pricing

How would a YT be priced? This is an extremely difficult question to answer. In an ideal world, YTs would be priced at the market's speculated average APY with an added opportunity discount.

For example, if the market speculates that the yETH position would hold an average of 15% APY over the next year, the assumed redemption price of 1 eY:yETH would be equal to 0.15 ETH. As discussed in the PTs Section, the locked 0.15 ETH will sell at a discount, however, the discount on the eY:yETH would likely be higher than simply the opportunity lost due to the intrinsic risk of speculating its average yield. There is no way of knowing what this average yield will end up truly being. It could be less than 0.15 ETH.

However, this pricing structure is naive. Other forces will impact the price. This paper will cover these details but not yet, as a better understanding of the protocol is needed first. To read about the details of the market forces that could impact the price of a YT, reference Sections 5 and 6.

Element does not in any way determine the pricing of yield tokens in the market. Users who choose to sell or buy their yield tokens on decentralized exchanges adjust the price based on automated market making curves. Any user enacting in a trade should be aware of how the curves operate. Additionally, the underlying trading vehicles or AMMs are not owned or property of Element.

3.2 Buying and Selling Opportunities for Yield Tokens

YTs can be used as a way to buy or sell the yield rate of a position.

A sophisticated DeFi user may evaluate the market’s pricing of a YT and consider it to be too aggressive or even conservative. For example, in a one-year term, the user believes the yETH vault will have an average APY of 10%. This would imply that the user thinks 1 eY:yETH will be redeemable for 0.1 ETH at the end of the term. If the YT is selling for more than a 10% discount on 0.1 ETH, then it would be considered a strong buy. In this case, the user would be taking a buy position on the YT. If it is less, then it would be considered a strong sell. In this case, the user would want to sell the YT.

4. Minting and Providing Liquidity

Minting and providing liquidity for PTs and YTs may be a very profitable endeavor for DeFi users. This section begins by covering how the minting process works and ends with a detailed look at the simulations and analysis of the potential profitability as well the liquidity providing process, such as how the trading curve and parameterization are used.

4.1 Terms

A term indicates the redemption date of a set of PTs or YTs. The principal or yield cannot be redeemed through the Element Protocol's contracts until the term date has been reached.

Although the Element Protocol smart contracts allow for any term to be created, it is expected that users and openly available frontends will encourage certain term conventions in order to concentrate liquidity. For example, users may collectively decide to actively support both 3 and 6-month terms released every month and a half. The contracts are open for anyone to integrate or launch a term with. This means the community of users will ultimately decide which terms they would like to support. This could be through a DAO or through other products that are built.

Terms are indicated by the token name and are marked with a date stamp. For example:

4.2 Minting in Depth

When minting, a user must first choose the backing collateral and the specific term to mint into. Element's initial positions will be collateralized by Yearn Vaults. The token naming conventions are reflected in the parameters. For example:

The e represents Element, while the P and Y indicate whether it is a principal or yield token. The second part indicates the backing collateral, such as a Yearn ETH vault, yETH. The third and final part indicates the term or redemption date in GMT or UTC+0 time. It's important to note that tokens with identical names are fungible with each other and can be staked or traded together in an AMM.

For example, today is 01/01/2021. Minting into a term with a 3-month expiration date (04/01/2021), collateralized by the Yearn wBTC vault, produces the following tokens:

A token with a different date or any sort of modification would not be fungible. For example, the following PT would not be fungible with the example token above since it has a different date:

Minting Retroactively

One area of complexity that the Element Protocol handles is with the action of minting into an existing term. YTs accumulate value over time, essentially introducing their own principal. To give a simple example, if Yearn compounds daily, the YT's accumulated value looks as follows:

Input Minted Asset
1 BTC 1 eY:ywBTC
Day Average APY Total Accumulated
0 8% 0.000219178
1 7% 0.000411001
2 6% 0.000575452
3 9% 0.000822169
4 5% 0.000959268
5 10% 0.0012335
6 8% 0.00145295

Table 1

As displayed in the above table, once day 6 has been reached, the YT has accumulated its own principal of 0.00145 BTC.

Why does this introduce complexity? In order to mint into a term that has already compounded yield, the minter must supply that accumulated yield, otherwise, the YTs would not be fungible with each other. They would have a different market value.

The Element Protocol is optimized for users accumulating YTs, and therefore reduces the balance of the user's principal in order to cover the accumulated yield when minting. In this example, if a user chooses to mint on day 6, then 0.00145 BTC must be accounted for. As a result, 0.00145 fewer PTs are issued. The user's minted tokens would look as follows:

Input Minted Asset
1 BTC 1 eY:ywBTC

User Balance:

4.3 Providing Liquidity for Principal Tokens

If a user is already depositing into Yearn, they can boost their APY even further by minting PTs and YTs. After minting both the PTs and YTs, the user may provide liquidity to the market on fixed rate or variable yield. The user now earns additional APY via trading fees from the AMM.

LP Profitability Analysis

Although future trading volume and liquidity are difficult to predict, the following analysis attempts to simulate the different scenarios. Due to market forces such as Yield Token Compounding, covered in a later section (5.2), it is predicted that trading activity may be high. These simulations predict purchasing activity to decline as the maturity period of the term comes closer. However, this prediction may not be correct, since Yield Token Compounding (discussed in Section 5) and other market activities increase profit as the maturity period comes to an end. In the scenario where the maturity period is converging, purchasing activity could also be automated via vaults or tools such as Yearn. However, with these assumptions in mind, the simulation results of a \(log(\frac{1}{term\_length})\) show a spike in activity at the beginning of a term and then decay.

The following represents a yCRVSTETH position, at 20% APY, with PTs trading at 10%:

Figure 3

Order sizes are distributed as follows:


Figure 4

The following table shows the various scenarios at different trading volumes. The final column shows the resulting output APR.

target_liquidity trade_volume_sum mean_daily_volume apr
10,000,000 140,113,083 1,556,812 11.76
10,000,000 276,382,190 3,070,913 20.34

Table 2

If these target volumes are maintained, providing liquidity in a 20% APY position on yCRVSTETH or a 10% PT purchase may boost to 11.76-20.34% APY, depending on parameters and time-stretches used in the curve. This boost in APY appears to be extremely high for providing liquidity on a curve that suffers virtually no impermanent loss and acts more like a stable pair.

This notebook can be used to generate these tables with different parameters, term lengths, and APYs.

Trading Curve

For liquidity provision of PTs, Element has developed a custom trading curve algorithm that can be deployed on Balancer V2 that reduces slippage and impermanent loss. Since the PTs inevitably merge in value to their underlying asset along with this behavior having many degrees of predictability, a curve can be used that operates in yield space and supports this predictability.

Element uses the curve originally presented in the yield space paper. It introduces the constant power sum invariant, which accounts for the time until maturity to ensure stable yield rates on PTs.

\begin{equation} x^{1-t}+y^{1-t}=k\qquad(1) \end{equation}

\(x\) is the reserves of the base asset, \(y\) is the reserves of the PT, \(t\) is the time to maturity and \(k\) is a constant. In the implementation, adjustments were made to the fee logic and parameterization. For a deep dive and analysis on the invariant and adjustments, reference Appendix A and B.

Summarizing the Constant Power Sum Invariant

The Constant Power Sum Invariant has a time component to it. The curve changes its behavior as the PTs reach their term's maturity. At the beginning of a term period, the invariant allows for more price discovery and slippage, essentially adding in aspects of the constant product formula used by Uniswap. At the end of the term period, the invariant operates more akin to a stable pair. It treats the base asset and the PTs more in line with how products like Curve treat stable pair trades. It removes the additions of the constant product formula and increases the effect of the constant sum formula (used for 1:1 stable trades).

Parameterization

This section is fairly advanced but it's important for users who are providing liquidity to understand. Before the liquidity pool for PTs initializes, certain parameters of the trading curve need to be agreed on by the liquidity providers. Based on these parameters, it can affect the following areas:

  1. Price Discoverability
  2. LP Liquidity Ratios
  3. Trading Fees
Price Discoverability

Price discoverability is another way to say "slippage". In Uniswap, for example, the slippage from a trade changes the price of both assets. A higher volume trade causes the price to shift more than a lower volume trade. This is true for all exchange types. There are cases where having too much price discoverability is sub-optimal, such as for stable pairs. In Element's case, the PTs converge in value to their base asset. Having high price discoverability as their value converges is not optimal. This assumes that lower APY positions should not see as much price discoverability.

For example, a 20% APY position may tolerate higher shifts in its price than a 1% APY position. If sufficient volume purchases PTs going for 20% fixed APY, a 1% shift is not unreasonable. Alternatively, if a PT going for 1% fixed APY shifts by 1%, then its price impact could be unreasonable.

LP Liquidity Ratios

When providing liquidity for PTs, a ratio with the base asset must be set. This ratio depends on the APY of the position and time left until maturity. For example, Uniswap sets the ratio purely based on price. If ETH is $2000 and DAI is $1, then someone providing liquidity on Uniswap must provide 2000 DAI for the 1 ETH provided. In the case of PTs, supporting a 1:1 ratio or less is optimal in order to keep higher exposure to PTs and the fixed yield it provides. Thus, providing 1 ETH for 1 eP:yETH seems reasonable. Providing 3 ETH for 1 eP:yETH seems less reasonable, and providing 1 ETH for 2 eP:yETH seems the most reasonable.

Trading Fees

With higher slippage, the curve will incur higher trading fees. For lower slippage, the curve will incur lower trading fees. This means more price discoverability can be beneficial for stakers unless that price discoverability disincentivizes users from trading. As discussed above, lower APY positions should likely see less price discoverability, resulting in lower fees. Higher APY positions should see higher price discoverability, resulting in higher fees. At first glance, it appears that this would incentivize stakers to provide liquidity on higher APY positions. However, it is asserted that this is not necessarily true. BTC positions will likely see lower APY values in the long run rather than stable positions such as USDC or DAI. Users who prefer exposure to BTC and its positive growth in the future, would likely still want to maintain exposure to BTC vs. maintaining their exposure to stablecoins.

Parameters

The main parameter for initializing the liquidity pool is the time stretch factor. As discussed previously, the constant power sum invariant begins to act more like the curve supporting stable pairs as the term maturity approaches. In equation (1), t starts at 1 and approaches 0. Originally, it is set to represent a time period of one year.

When the time factor is stretched to 10, 15, or 20 years, it indicates that the curve is initialized with a t value closer to 0 and acts more like a stable pair. The more the time factor is stretched, the less price discoverability there is. It also impacts the LP liquidity ratio and fees gained by those providing liquidity. Before launching a pool with the constant power sum invariant, the APY and stability of the position must be considered carefully. The desirable time stretch factor should have a favorable impact but also allow for proper price movements.

There is a worst-case scenario where the parameterization chosen no longer becomes optimal for the liquidity pool. In this case, stakers should migrate to a new pool that provides more optimal settings. For example, the parameterization that serves a 20% APY position may no longer serve that position favorably if its APY drops to 1%. In such drastic cases, stakers would likely need to migrate. If they do not, LP ratios or trading volumes may decrease but it's important to note that there would be no risk of loss.

For a more advanced read, reference Appendix, Section B. This section goes deeper into this process and analyzes the curve parameterization for the constant constant power sum invariant.

4.4 Providing Liquidity for Yield Tokens

YTs are a bit harder to predict and do not have a known output value. They do, however, track their base asset proportionally, which means impermanent loss and other side effects are less likely. For YTs, Element will initially use the regular constant product formula and in future R&D, possibly pursue an alternative curve.

YTs will have less liquidity since the yield held on a position will always be less than the principal. However, due to shifting APYs, Yield token compounding, and other structured products, it is expected that there will be significant volume and profitability in providing liquidity for YTs on an AMM.

5. Market Forces

High fixed rate yield is subsidized by the market forces described in this section. The casual user subsidizes the active DeFi user's strategies by securing a fixed rate yield at a discount on what the DeFi user earns. The active DeFi user’s participation subsidizes the value of the fixed rate yield. The below sections dive deeper into the various market forces.

5.1 Freeing Locked Principal, Capital Efficiency

An active DeFi user now has a new avenue to increase capital efficiency in their market strategies. Currently, staking in a Yearn vault, ETH2 position, or other lending protocols lacks capital efficiency. The principal is locked up and they do not have additional avenues to profit off that principal.

If a user deposits 10 ETH into a Yearn position receiving 20% APY, that user gains exposure to the 20% yield, but their principal of 10 ETH is locked up. They have no further avenues to use that principal and they cannot access it unless they want to withdraw from the position and lose access to the 20% yield exposure.

With the Element Protocol, that user can now free up their principal, allowing for additional paths of revenue. The user can simply sell their principal at a discount and use their new liquidity to enter other positions in the market. The user holds onto the YTs but sells their PTs.

Example

Jonny decides he wants to gain more exposure to yield. His initial capital of 10 ETH can enable him, through the Element Protocol, to free up his locked capital. For the sake of simplicity, this example uses a one-year lockup.

  1. Jonny mints YTs and PTs into the Yearn yETH vault providing 20% APY.
  2. Jonny now has 10 eP:yETH representing his principal and 10 eY:yETH representing the yield to be accumulated over the next year.
  3. Due to people minting and providing liquidity for YTs and an active market, Jonny may now sell his principal of 10 eP:yETH to reinvest.
  4. PTs are going for a 10% fixed rate yield on ETH. He sells his principal at a discount for ETH, receiving 9 ETH.
  5. Jonny now has 9 ETH and full exposure to 20% APY on 10 ETH. He is now free to reinvest the 9 ETH into any other position or mint and leverage further.

5.2 Leveraging and Yield Token Compounding

Leveraging or yield token compounding follows in step from the previous section covering capital efficiency. By continuing to repeat the steps detailed above, this introduces a process called Yield Token Compounding, which increases a user's leverage recursively. Yield token compounding is the process of repeatedly selling the principal to re-deposit and gain further exposure to the yield.

Capital efficiency has been introduced to the user's position. The user no longer gains exposure to a yield position without efficacy or use of the principal. The principal is in turn, freed up.

Element Finance does not loan or provide leverage. If a user wishes to gain leverage, they do so with their own funds

Example

As a simple example, multiple compounds may result in the following:

Collateral Position Variable Yield Rate Principal Discount (Fixed Yield Rate)
yETH 20% 10%


n Balance (ETH)\begin{aligned}10\cdot\left(1-0.1\right)^{n}\end{aligned} Yield Exposure (ETH)\begin{aligned}\frac{10\cdot\left(1-\left(1-0.1\right)^{n+1}\right)}{0.1}\end{aligned}
0 10 10
1 9 19
2 8.1 27.1
3 7.29 34.39
4 6.561 40.951
5 5.9049 46.8559
6 5.31441 52.1703
7 4.78297 56.9533
8 4.30467 61.258
9 3.8742 65.1322

Table 3

* Calculations in this example do not take into account gas fees, slippage, or trading fees to maintain simplicity. View Appendix C to see how the equations used to generate the data in Table 3 are derived and for further analysis on compounding with real-world values.

Final Redeemed Balance Net Gain Adjusted APY
16.9 ETH 4.9 ETH 69%

After 10 cycles of yield token compounding, Jonny gains exposure to 6.5x as much yield of his initial balance. Jonny has essentially gained 6.5x leverage. The 65.13 ETH of exposure at 20% APY yields 13.02 ETH. He has 3.87 ETH in principal, giving him a total of 16.9 ETH. If he had invested his 10 ETH traditionally, without capital efficiency, he would have 12 ETH at the end of the year. Through yield token compounding, Jonny has netted 4.9 ETH and increased his yield from 20% APY to 69% APY. Jonny could continue the cycles of yield token compounding to boost his APY further.

Flash Loans to Further Leverage

Yield token compounding can be achieved more efficiently via flash loans as offered on Aave or other protocols. In the table above, the 10th cycle of compounding leaves 3.87 ETH in available capital. This means the total capital expended was the difference, 6.13 ETH. The 10 compounding operations could be achieved via a flash loan with 6.13 ETH of capital. In the example above, it would take 6.13 ETH to gain exposure to 65.1 ETH in yield, effectively providing 10.6x leverage without liquidation risk.

The element platform does not offer flash loans.

Market Effects

Yield token compounding will be a significant force in the Element ecosystem. It produces sell pressure and increases the APY of the PTs. In the example above, the compounder received 69% APY on ETH. In a competitive market, a compounder may be satisfied with 30% APY. In this case, the compounder would now be able to sell their principal for a higher discount, driving the fixed rate yield higher.

Deeper Discussion

Before going deeper into yield token compounding, read through the Appendix, Section C and Section D, which provides an in-depth look into the analysis of its profitability and market effects. The analysis takes into account the effects of gas fees, slippage, term length, and liquidity in the compounding process. It also analyzes some of the risks not covered in this general writeup. Further, Section D explores a closed-form solution that can enable bots to partake in yield token compounding.

5.3 Sell Yield Tokens and Principal Tokens for Profit

To illustrate leveraging or yield token compounding from a different perspective, the following graph shows the profitability of one leverage or compound operation depending on the current fixed rate of the PTs. The compound operation illustrated in the table below takes 10 ETH as input. The expenditure column is the total ETH lost by the user selling the minted YTs at a discount, aka the expenditure.

ETH Input Lockup Period Yield Position Yield
10 30 days 20%
Yield Position Yield PT Yield Total Expenditure Received at Maturity APY
20 14 0.345205 0.493151 173.81
20 15 0.369863 0.493151 135.19
20 16 0.394521 0.493151 101.39
20 17 0.419178 0.493151 71.57
20 18 0.443836 0.493151 45.06
20 19 0.468493 0.493151 21.35
20 20 0.493151 0.493151 -0

Table 4

* Calculations in this example do not take into account gas fees, slippage, or trading fees to maintain simplicity. View Appendix C for analysis on compounding with real-world values.

Due to market competitiveness, the act of yield token compounding appears to push the PT yield rates to increase. If PTs are going for 17% yield, one leverage or compounding operation yields 71.57% APY. In a competitive market, compounders should be okay with decreasing this margin.

Yield Token Pricing

Yield Position Yield PT Yield Total Expenditure Received at Maturity APY
20 17 0.419178 0.493151 71.57

When evaluating the row in the table representing PTs going for 17% yield, there is a fascinating market effect present. If the aggregate price of the YTs exceeds the total expenditure, then it is immediately profitable to mint and sell PTs and YTs. This effect keeps the price of the YTs down and can be maneuvered via flash loans. When the YT price perfectly matches the expenditure, anyone may buy the YT on the market and will receive 71.57% APY by holding it until redemption. If the price of the YT dips below the expenditure value, it would yield higher than 71.57%. Keep in mind, the YT position's yield value in the table is speculated since it is impossible to know what the average yield will end up being at the end of the term.

5.4 Minting Instead of Using Lending Protocols

The ability to maintain exposure to the growth of a base asset while also generating yield is one of the main forces currently driving lending protocols. Many DeFi users take out loans in order to maintain exposure to ETH but also to grow their portfolio through the high APYs provided by stable pairs or other tokens. The following gives a more detailed example.

Example

As an example, Jonny likes ETH a lot. He believes ETH will grow significantly over the next year. However, Jonny also sees that he can receive 30% APY by providing liquidity for stablecoins such as DAI. Jonny does not want to trade his ETH for DAI to obtain the yield because he misses out on ETH's increase in price, which he believes will exceed the APY he obtains through providing liquidity for DAI. Currently, the solution is simple. Jonny will do the following:

Method Via Lending or Collateralization

  1. Jonny opens an over collateralized vault on Maker and borrows DAI.
  2. He stakes his borrowed DAI in a yield position giving him 30% APY.
  3. If the price of ETH rises, Jonny can borrow more DAI and gain more exposure to yield. He also realizes the gains on the price of ETH.
  4. If the price of ETH drops, Jonny adds additional collateral to avoid liquidation of his loan and losing his 150 ETH.

Figure 6

Jonny now keeps his ETH and also gains yield on DAI. However, this process does carry some risk. If the price of ETH drops significantly, Jonny can be liquidated and lose his precious ETH. Additionally, due to the need for over-collateralization, he only receives exposure to the yield for 200,000 DAI while collateralizing 300,000 worth of DAI. Lastly, Jonny lacks capital efficiency as he cannot use his 150 ETH or stake it to gain any additional yield.

The Element Alternative

Using the Element Protocol, there comes a new alternative. If the market conditions are right, a user can still maintain exposure to ETH or their preferred base asset, but without liquidation risks or needing to over collateralize. Users can also obtain capital efficiency and can use the majority of their preferred asset freely.

Instead of taking out a loan to maintain exposure, it is now possible to mint PTs and YTs for an asset and trade the PTs back for the preferred base asset. In this case, the YTs represent yield gained on the preferred yield position, but the user now holds a balance on their preferred base asset.

Example
Yield Position PT Yield Lockup Period
7% 4% 3 Month
  1. Jonny has 150 ETH. He trades the 150 ETH for 300,000 DAI.
  2. Jonny mints via the Element Protocol into a DAI-backed yield position, yDAI.
  3. Jonny holds 300,000 eP:yDAI and 300,000 eY:yDAI.
  4. Jonny sells his 300,000 eP:yDAI for Eth (at a 4% yearly discount, reduced due to the 3-month term), receiving 148.5 ETH.

Jonny now holds 148.5 Eth and maintains exposure to the yield of 300,000 DAI. Jonny has capital efficiency since he can now utilize his 148.5 ETH any way he wants. It is not locked up. He also has no liquidation risk and can now stake his 148.5 ETH on any platform, gaining yield to recoup the decrease. He has yield exposure to 100,000 additional DAI he would not have had if he had followed the traditional route.

5.5 Yield Tokens in Depth

YTs are speculative instruments and the various market forces surrounding them can therefore only be hypothesized.

The following sections share the different forces that could affect the price of YTs. However, it is uncertain of what will be the dominating force.

Market Speculated Average Yield

Market Speculated Average Yield was covered in Section 4. Assuming this is the only factor in the price or value of a YT is naive. The other possible contributing factors are listed below.

Accumulated Value

As discussed in depth in Section 4.2, YTs accumulate a base value or principal over time. Each time the backing yield position compounds its yield, the YT grows in its intrinsic value. If a YT has accumulated 0.05 ETH in value and negative yield rates are impossible, the YT should have a minimum price of 0.05 ETH.

Yield Position Fluctuating Yield

If a yield position experiences a significant increase or decrease in its offered yield that significantly deviates from its market expected average value, the YTs may see market activity adjusting its price accordingly. People in the market would likely start buying or selling the position in response, ultimately changing its price.

Principal Token Pricing

As discussed in Section 3.2, YTs may be sold alongside PTs after minting for immediate profit. If the price of a PT rises or the price of a YT rises, the total sell value may be > 1.

Due to yield token compounding and PT pricing, YTs may result in extremely high APYs. This discussion covers the explanation in-depth. Essentially, PTs are likely to be more of a dominating force in the market since they have more backing liquidity. As an example, minting 10ETH into a 20% APY position for a 3-month term produces 10 eP:ETH redeemable for 10ETH and 10 eY:ETH redeemable for 0.5 ETH. Since there is significantly more liquidity in the PT market, the price of PTs will be more difficult to shift than the price of YTs. The pricing of both are correlated, however, it appears the pricing of PTs will drag along the price of YTs.

Consequently, the dominating effect on the price of YTs is uncertain. The market will find equilibrium somewhere. If their value reaches the equilibrium where both a PT and YT sell for 1, YTs will be a good buy, offering high APYs. These high APYs will likely cause purchasing activity, increasing their price. When their price increases, the combined value of both the PT and YT sell for > 1, which incentivizes users to mint and sell both their YT and PT for profit. Once the Element Protocol launches, it will be interesting to see how these market forces end up pricing YTs.

A deeper analysis of this effect can be found in Appendix C.

5.6 Summarizing the Market Forces

To conclude this section, the diagram below provides a good visualization of all the market forces involved in both YTs and PTs:

Figure 7

It is expected that sophisticated strategies will use knowledge of the various market forces represented in the above diagram to realize higher profits.

Automated Strategies

The following is essentially a state machine diagram that represents the decisions that automated strategies or bots will analyze:

Figure 8

6. Building on top of the Element Protocol

The Element Protocol opens the door to a number of new primitives and structured financial products. This section explores a few of the future concepts that could be built with the Element Protocol.

Element's code and products are open source and enable third parties to integrate or build on top of the platform on their own fruition.

6.1 Yield Ladders

Yield Ladders are a way to gain exposure to a diversity of yield positions via YTs or PTs. They also act in a perpetual manner where expiries become irrelevant since a yield ladder consistently exposes itself to new terms and phases out the expiring terms automatically.

Actively Maximizing Yield Without Yield Ladders

The analysis on yield token compounding reveals shorter-term periods will likely allow for higher APYs on PTs. During shorter-term periods, yield token compounders can afford to sell their principal at a higher yield rate. This has to do with reduced slippage on the custom trading curve used as maturity periods are shortened.

Additionally, it is likely the market will be more aggressive in pricing PTs during a shorter period. If a yield position is listed at 20% APY for ETH, it is likely the market will speculate the average accumulated yield during one month will be closer to 20% than during one year.

Due to market forces such as yield token compounding and minting for instant profit, the price of PTs appears to be coupled to the speculated average value as discussed earlier in this document. This means PTs would likely have higher APYs during shorter-term periods.

If 1-month terms secure the highest fixed rates, casual users who are looking to achieve the highest fixed rate yield would need to secure a new fixed rate term every month. This is less than ideal for those casual users who are not interested in actively managing their capital. It also can introduce additional tax burdens. Yield ladders solve this concern and also unlock many other interesting opportunities.

Passively Maximizing Yield With Yield Ladders

A yield ladder is a system that gives exposure to multiple different PT or YT types. With respect to AMMs, a perpetual rolling pool could be introduced which optimizes for an average maturity period. Essentially, the AMM would automatically phase out expiring PTs and YTs while introducing new PTs and YTs with a target average maturity and APY.

Imagine a Balancer pool that holds an average maturity of 2 weeks and only accepts the highest yield PTs and YTs. This pool would consistently introduce new terms and phase out old terms. The curve would weigh the pool's exposure by this average maturity date. Additionally, the pool could optimize to only introduce the highest yield PTs or YTs targeting the average maturity period. With both sets of criteria, this pool, exposed to multiple different terms, would maximize user's exposure to high APY without having to redeem and secure new rates every month. Users can also gain LP shares in the pool and diversify their exposure to many different positions or assets. The process of rolling new assets in and phasing old assets out is akin to Balancer's use of perpetual pools.

Figure 9

In the example above, a Yield Ladder is strategized to take different terms of PTs and compound the redeemed value into the new terms. Half of the PTs deposited are allocated into the 6-Month term and half of the PTs are allocated into the 2-Week term redemptions.

This extends the functionality of PTs into a form of a Fixed Yield Fund or a Ladder of different expiries that facilitate continual liquidity.

Varieties of Complexion with LP Provision

A buy and stake type of ladder could be used for users who do not want to speculate on variable yield and would rather accrue fees from simply providing liquidity. As opposed to a basic compounding Yield Ladder, this specific ladder would be a compounding Fixed Rate LP Yield Ladder.

Figure 10

Assuming the parameters:

The laddering mechanism still provides continual liquidity but now also allows users to earn additional yield by providing liquidity until the maturity of the PTs. Any withdrawals of LP tokens at maturity bear no impermanent loss due to the convergence of value between the PT and its corresponding pair.

Other Examples

Yield Ladders do not only need to target the average maturity periods or high APY PTs. They can also target other areas such as:

6.2 Principal Protected Product

A much more risk-averse structured product that could be designed on top of the Element Protocol is one that guarantees a rate of return of at least the principal amount deposited, given that the deposit is held until maturity.

Such designs are typically suited to protect investors from unfavorable market cycles but for short enough compounding terms that allow users to exit the strategy and take on a different position if the market turns favorable.

Figure 11

In the example above, the user automatically enters a 3-month term of fixed rate purchases and the remaining balance carries into a leveraged variable yield position. Every 3 months, as the fixed rate yield matures, a new fixed rate position is taken with the surplus carried over to an additional leveraged variable yield position.

This mechanism combines both characteristics of a principal protected product and a compounding ladder. It provides users with continual liquidity while both components of the product (the PT and variable yield) remain fungible to allow the user to exit.

6.3 Ethereum 2.0

Staking positions outside the DeFi space are pivotal and should be integrated into the Element Protocol. ETH2 is a prime example. As ETH2 staking positions are tokenized, the Element Protocol could issue fixed rate income collateralized by ETH2 validators. These positions not only bridge the protocol and DeFi space, but they also produce fixed rate yield with a respected collateral type, likely more friendly to institutions or risk-averse users.

Additionally, yield token compounding and other market effects become optimized. With ETH2, there is a known lower bound on future yield accumulated. This makes for more predictable and stable pricing on PTs and YTs and offers users more clarity on their future upside. As the Element Protocol expands, Layer 1 and Layer 2 collateralized fixed yield could become a core part of the Element ecosystem.

6.4 Principal Tokens as Collateral for Borrowing

Yield Token Compounding becomes more efficient if a lending market is introduced using the PTs as collateral. Current lending protocols require over-collateralization.

To be safe, one needs to over-collateralize to avoid liquidation. In flash crashes or other cases, even significant over-collateralization can initiate a liquidation.

In the case of PTs, a close to 1:1 collateralization ratio can be utilized since the assets converge in price. For example, 1 eP:ETH will always be 1 ETH after its lockup or term ends.

As a complement to the yield token compounding or leveraging flow, one can collateralize eP:ETH at a close to 1:1 ratio for a fixed rate term to receive ETH instead of selling PTs on an AMM, incurring slippage. If the PT maintains a 1-month lockup or term, then the collateralization only needs to cover the yield and loan amount for the fixed period.

If fixed rate terms are not offered, there is a small delta on over-collateralization to cover the unknown yield payments. Users could also buy eP:ETH on the market, use it as collateral for an ETH-backed loan while earning the fixed rate yield it provides. The user's fixed rate yield may end up exceeding the borrowing yield, ultimately gaining a profit.

7. Summary

Element Finance is an open, self-sustaining, community-governed protocol that initially allows users to access, via the ecosystem and existing AMMs, BTC, ETH, USDC, DAI at a discount. Element introduces further avenues of capital efficiency to DeFi users and is dedicated to continued innovation. The team is protocol first, focused on introducing new primitives as the foundation for more products to be built in the DeFi space.

For more information, visit the Element Finance Website.

Note: This paper is not final, hence the title "construction paper" and will be updated over time. The opinions and analysis reflected herein are subject to change or update over time.

Element interacts with Balancer, Curve, Yearn and other protocols but is an independent entity from each of these. These are open source products and contracts on the Ethereum blockchain

Examples provided in the paper are examples only. Actual results may differ and could result in losses.

8. Appendix

A. Pricing Principal Tokens

To calculate the present value of a PT, the annualized yield formula referenced in the Yield Protocol's paper can be used:

\begin{equation} Y=\left(\frac{F}{P}\right)^{\frac{1}{T}}-1\qquad(2) \end{equation}

where \(Y\) is the annualized yield, \(F\) is the face value, \(P\) is the present value and \(T\) is the time until maturity. The terms can be rearranged to solve for present value:

\begin{equation} P=\frac{F}{(Y+1)^{T}}\qquad(3) \end{equation}

In the next section, the present value is used to calculate what the market will pay, in terms of the base asset, for a PT at time \(T\).

Pricing PTs with Different Maturities

Pricing a PT so that it can be swapped for it's base asset is fairly intuitive. The same intuition can be used to get a sense of how PTs can be priced of different maturities/terms. If you want to swap a \(PT_{1}\) for a \(PT_{2}\), the question you truly want to answer is:

                   How many \(PT_{2}\)s is one \(PT_{1}\) worth?

which is equivalent to the following equation:

\begin{equation} \frac{F_1}{(Y_1+1)^{T_1}}=n \cdot \frac{F_2}{(Y_2+1)^{T_2}}\qquad(4) \end{equation}

Solving for \(n\):

\begin{equation} n=\frac{F_1\left(Y_2+1\right)^{T_{2}}}{F_2\left(Y_1+1\right)^{T_{1}}}\qquad(5) \end{equation}

Since the present value formula (3) gives the price of a \(PT\) in terms of \(ETH\), you can substitute the \(PT\) present value in equation (4) with the price in terms of \(ETH\) in order to confirm that you end up with the correct units:

\begin{aligned} \require{cancel} \frac{PT_1}{ETH}&=n \cdot \frac{PT_2}{ETH}\ \end{aligned}

solving for \(n\):

\begin{aligned} \require{cancel} n&=\frac{PT_1}{\bcancel{ETH}} \cdot\frac{\bcancel{ETH}}{PT_2}\ &=\frac{PT_1}{PT_2}\qquad{\unicode{x2714}} \end{aligned}

Implementing a Principal Token (PT) Market

Recalling the brief introduction to the constant power sum invariant from earlier a small modification can be made to equation (1) to demonstrate how it can be used to calculate the price of outgoing assets in terms of incoming assets:

\begin{equation} (out_r-out_q)^{1-t}+(in_r+in_q)^{1-t}=k\qquad(6) \end{equation}

where \(out_r\) is the reserves of the outgoing asset, \(out_q\) is the quantity of the outgoing asset, \(in_r\) is the reserves of the incoming asset, \(in_q\) is the quantity of the incoming asset, \(t\) is the time to maturity and \(k\) is a constant.

Calculate Out Given In

If a user wants to know how much of an asset they will receive for some input quantity, you solve (6) for \(out_q\):

\begin{equation} CalcOutGivenIn(out_r,in_r,in_q,k,t)=out_r-\left(k-\left(in_r+in_q\right)^{\left(1-t\right)}\right)^{\frac{1}{1-t}}\qquad(7) \end{equation}

If the output is base tokens, the fee earned by LPs is calculated as follows:

\begin{equation} fee = (in_q - CalcOutGivenIn(out_r,in_r,in_q,k,t)) \times \phi \end{equation}

where \(\phi\) represents the percent fee charged on the price spread.

If the output is PTs, the fee earned by LPs is calculated as follows:

\begin{equation} fee = (CalcOutGivenIn(out_r,in_r,in_q,k,t) - in_q) \times \phi \end{equation}

where \(\phi\) represents the percent fee charged on the price spread.

Calculate In Given Out

If a user whats to know how much of an asset to input for the desired amount of output, you solve (6) for \(in_q\):

\begin{equation} CalcInGivenOut(out_r,in_r,out_q,k,t)=\left(k-\left(out_r-out_q\right)^{\left(1-t\right)}\right)^{\frac{1}{1-t}}-in_r\qquad(8) \end{equation}

If the input is base tokens, the fee earned by LPs is calculated as follows:

\begin{equation} fee = (out_q - CalcInGivenOut(out_r,in_r,out_q,k,t)) \times \phi \end{equation}

where \(\phi\) represents the percent fee charged on the price spread.

If the input is PTs, the fee earned by LPs is calculated as follows:

\begin{equation} fee = (CalcOutGivenIn(out_r,in_r,out_q,k,t) - out_q) \times \phi \end{equation}

where \(\phi\) represents the percent fee charged on the price spread.

Virtual Reserve logic

Equation (5) allocates some portion of the reserves for PT prices greater than 1 and since our pool has logic preventing this from happening, these reserves are essentially wasted on a price that isn't discoverable. As a result, the virtual reserve logic is used described in Section 6.3 of the yield space paper to increase the capital efficiency of the pool. Implementing this logic to price PTs in terms of base assets (and vice versa) is just a matter of calling (7) or (8) with additional reserves added to the parameter representing the PT.

For example, to calculate the number of base tokens that 100 PTs is worth, you would invoke (7) as follows:

\begin{equation} CalcOutGivenIn(out_r,in_r,in_q,k,t) \end{equation}

where

\begin{aligned} out_r&= Base reserves\ \newline in_r&= PT reserves + Pool Liquidity Shares\ \newline in_q&= PT input quantity\ \newline \end{aligned}

B. Convergent Curve Parameter Configuration

When configuring a pool to price PTs, it is important to consider the effect of the underlying vault APY on the reserves required to price the PT appropriately. One unfortunate side effect of the virtual reserve logic is that it forces stakers to supply more of the base asset in relation to the PT in order to meet a particular APY; however, this can be mitigated by introducing a \(time\ stretch\) parameter. This writeup will analyze how this \(time\ stretch\) should be configured.

Calculating Required Base Reserves

To begin, you must be able to calculate the base asset reserves (\(x_r\)) in terms of the PT reserves (\(y_r\)) APY, and term length.

For convenience, \(t\) is defined as follows:

\begin{aligned} \require{cancel} t &= \frac{term length}{365} \end{aligned}

Next, you define a formula for unit price of a PT in terms of \(APY_{PT}\):

\begin{aligned} \require{cancel} Unit Price_{PT} = 1- \frac{APY_{PT}}{100} \times t \qquad(9) \end{aligned}

Additionally, a \(Unit\ Price_{PT}\) of a PT is defined in terms of \(x_r\), \(y_r\), \(l_{shares}\) and \(t\):

\begin{aligned} \require{cancel} Unit Price_{PT} &= \left(\frac{y_{r}+l_{shares}}{x_{r}}\right)^{-t} \qquad(10) \end{aligned}

where \(l_{shares}\) is the total supply of pool liquidity shares. Combining (9) & (10):

\begin{aligned} \require{cancel} \left(\frac{y_{r}+l_{shares}}{x_{r}}\right)^{-t} &= 1- \frac{APY_{PT}}{100} \times t \end{aligned}

and assuming that \(l_{shares}\) = \(x_r\) + \(y_r\) (eliminating the only other unknown) allows us to solve for \(x_r\):

\begin{aligned} \require{cancel} x_{r}=y_{r}\cdot\left(\frac{-2}{\left(1-t\cdot\left(\frac{APY_{PT}}{100}\right)\right)^{\left(\frac{1}{t}\right)}-1}-2\right)\qquad(11) \end{aligned}

Equation (11) allows us to define the base asset reserves needed for a particular \(APY_{PT}\); however, it is dependent on other factors such as term length and PT reserves that make it more difficult to analyze. You can eliminate PT reserves as a factor by dividing both sides of equation (11) and focusing on the ratio of these reserves:

\begin{aligned} \require{cancel} \frac{x_{r}}{y_r}=\cdot\left(\frac{-2}{\left(1-t\cdot\left(\frac{APY_{PT}}{100}\right)\right)^{\left(\frac{1}{t}\right)}-1}-2\right)\qquad\qquad(12) \end{aligned}

You can now plot equation (12) by sweeping \(APY_{PT}\)'s for several different term lengths:

Figure 12

There are two major takeaways from this plot. One, term (or tranche) length does not have a significant affect on the reserve ratios for \(APY_{PT}\)'s < 50%. The second takeaway is that even at a 20% \(APY_{PT}\), for every 1 PT staked, ~9 base asset tokens will be required by LPs. Fortunately, a new parameter can be introduced to the curve to stretch time and reduce the burden on LPs.

Time Stretch

Intuitively, this parameter can be thought of like this:

\begin{aligned} \require{cancel} t &= \frac{term length}{365 \times t_{stretch}} \end{aligned}

where \(t_{stretch}\) is the time stretch parameter. However, since this ONLY applies to the time parameter in the exponent of the pricing invariant (NOT the ratio used to caclulate the APY), the time stretch parameter will be kept separate from the t param for this analysis to avoid confusion. Updating equation (12) to include time stretch:

\begin{aligned} \require{cancel} \frac{x_{r}}{y_r}=\cdot\left(\frac{-2}{\left(1-t\cdot\left(\frac{APY_{PT}}{100}\right)\right)^{\left(\frac{t_{stretch}}{t}\right)}-1}-2\right)\qquad(13) \end{aligned}

Notice that \(t_{stretch}\) only applies to the exponent in the denominator. Now that the time stretch has been parameterized, it can be used to reduce the burden on LPs.

Time Stretch vs Reserve Ratio


Figure 13

This plot makes it obvious that \(t_{stretch}\) has a significant impact on the ratio of reserves for different \(APY_{PT}\). To understand how this can reduce the burden on LP's, again consider a PT with an APY ~ 20%. As noted before with a time stretch of 1, for every 1 PT staked, ~9 base asset tokens were required by LPs. If the time stretch is changes to 5, then 1 PT staked only needs ~1.2 base assets tokens for a 20% APY. You can see from the plot that the time stretch parameter can also be configured to target 1:1 reserve ratios at lower APYs. This is important for wrapping yield bearing assets like wBTC vaults that might have lower APYs.

On an intuitive level, stretching the time parameter forces the invariant to behave more like it would when near maturity. In other words, since the PTs mature to the value of the base asset, the more t is stretched, the more it behaves like it is near maturity and therefore requires more of an imbalance in reserves to reach a higher APY. This has a beneficial effect when considering the reserve ratios for LPing, but it also impacts the ability to price discover. This is good and bad. Large time stretches will see less slippage; however, a significant change in the APY of the yield bearing asset could incentivize market forces to target a new APY for the PT that it can't realize with too large of a time stretch. It can now be seen how changes in the time stretch parameter impact price discovery.

Time Stretch vs. Price Discovery

In order to determine the impact of the time stretch on price discovery, the max possible trade must be calculated first. To do that, first, recall the pricing invariant from Appendix Section B:

\begin{equation} (out_r-out_q)^{1-\frac{t}{t_{stretch}}}+(in_r+in_q)^{1-\frac{t}{t_{stretch}}}=k\qquad(14) \end{equation}

solving for \(out_q\) is equivalent to the formula for CalculateOutGivenIn (7):

\begin{equation} out_q=out_r-\left(k-\left(in_r+in_q\right)^{\left({1-\frac{t}{t_{stretch}}}\right)}\right)^{\frac{1}{{1-\frac{t}{t_{stretch}}}}}\qquad(15) \end{equation}

Note: Equivalent insights can be developed by using the CalculateInGivenOut (8) variation

Looking at equation (15), it is important to note that:

\begin{equation} k-\left(in_r+in_q\right)^{\left({1-\frac{t}{t_{stretch}}}\right)} \geq 0 \end{equation}

must hold true in order to avoid complex numbers. The boundary can be determined by defining the largest feasible trade by solving for \(in_q\):

\begin{equation} in_q \le k^{\frac{1}{1-\frac{t}{t_{stretch}}}}-in_r \end{equation}

Substituting, \(y_r\) + \(l_{shares}\) for \(in_r\) (as described in the Virtual Reserve Logic, gives:

\begin{equation} Max_{input trade} = k^{\frac{1}{1-\frac{t}{t_{stretch}}}}-(y_r + l_{shares})\qquad(16) \end{equation}

The assumption from earlier that \(l_{shares}\) = \(x_r\) + \(y_r\) still holds so it can also be said that:

\begin{equation} Max_{input trade} = k^{\frac{1}{1-\frac{t}{t_{stretch}}}}-(2y_r + x_{r}) \qquad(16a) \end{equation}

Substituting \(Max_{input\ trade}\) for \(in_q\) and (\(y_r\) + \(l_{shares}\)) for \(in_r\) in equation (15):

\begin{aligned} \require{cancel} out_q&=out_r-\left(k-\left(y_r + l_{shares}+Max_{input trade}\right)^{\left({1-\frac{t}{t_{stretch}}}\right)}\right)^{\frac{1}{{1-\frac{t}{t_{stretch}}}}}\ \newline &=out_r-\left(k-\left(\bcancel{y_r} + \bcancel{l_{shares}}+( k^{\frac{1}{\bcancel{1-\frac{t}{t_{stretch}}}}}-(\bcancel{y_r} + \bcancel{l_{shares}}))\right)^{\bcancel{\left({1-\frac{t}{t_{stretch}}}\right)}}\right)^{\frac{1}{{1-\frac{t}{t_{stretch}}}}}\ \newline &=out_r - \bcancel{(k-k)^{\frac{1}{{1-\frac{t}{t_{stretch}}}}}} \end{aligned}

essentially leaving us with:

\begin{aligned} \require{cancel} out_q&=out_r=x_r \end{aligned}

when \(in_q\) = \(Max_{input\ trade}\). Now that it is known what \(out_q\) is when inputing \(Max_{input\ trade}\), recall that the unit price is the ratio of \(out_q\) to \(in_q\). After substituting what has just been learned, the resulting max unit price is:

\begin{aligned} \require{cancel} Max Unit Price_{PT} &= \frac{x_r}{Max_{input trade}}\qquad(17) \end{aligned}

Solving for \(APY_{PT}\) from equation (9) it is known that:

\begin{aligned} \require{cancel} APY_{PT}=\frac{(1-Unit Price_{PT})}{t}\times100\qquad(18) \end{aligned}

Combining (17) & (18) to get the resulting APY:

\begin{aligned} \require{cancel} Max Resulting APY_{PT}=\frac{\left(1-\frac{x_{r}}{Max_{input trade}}\right)}{t}\times100\qquad(19) \end{aligned}

Equation (19) can now be plotted by sweeping \(APY_{PT}\)'s for several different time stretches and term lengths:

Figure 14

There are several observations to note here. First off, the dash line represents APY = Max Resulting APY. You should never cross below this line. The second observation to note is that, term length starts to have more of an effect on the Max Resulting APY as APY increases. That being said, the difference is < 10% of the Max Resulting APY at the 50% APY input.

Selecting a Time Stretch

The following plot shows what time stretches result in the ratio of the reserves (base/bond) approximately equal to the spot price of the associated APY:

Figure 15a

This plot indicates for example, that for \(APY_{PT}\) = 20%, that \(time\ stretch\) should be approximately 5.5 years. We can stake this one step further and use a curve fitting algorithm to approximate the suggested time stretch for a given \(APY_{PT}\). In order to do this, we first recognize that the curve fitting algorithm will need to approximate coefficients for a function of this form:

\begin{aligned} \frac{a}{b\cdot APY_{PT}}\qquad(20) \end{aligned}

where \(a\) and \(b\) are coefficients calculated by a curve fitting algorithm. Updating (20) with the coefficients that best approximate the values in the previous plot gives us the following equation representing the suggested \(t_{stretch}\) for a given \(APY_{PT}\)

\begin{aligned} t_{stretch}=\frac{3.09396}{0.02789\cdot APY_{PT}}\qquad(21) \end{aligned}

The following plot shows equation (21) overlayed on the previous plot as a green dashed line.

Figure 15b

Visual examination tells us that equation (21) is an excellent approximation for suggested \(time\ stretch\).

C. Compounding and Yield with Element

To understand how the calculations in this writeup are made, please reference the derivation in the next section and analysis.

These tables can be generated with different parameters in this collab.

The compounder incurs risk due to the unknown final value of the accumulated yield, or the average yield gained by the backing yield position. Therefore, the compounder's final APY is determined by how accurate their speculated yield is.

Yield Position Yield Speculated Yield Term
Yearn STETH 20% 15% 90 days
Matured Input Liquidity t-stretch Gas Used
0 Days 25 ETH 5000 ETH 8 Years 0.05 ETH
Expand Table
PT APY PT APY after Trade Total Expenditure Received at Maturity APY
8 8.89 0.608148 0.924658 211.07
8.15 9.06 0.618439 0.924658 200.81
8.3 9.23 0.62873 0.924658 190.89
8.45 9.39 0.639021 0.924658 181.28
8.6 9.56 0.649314 0.924658 171.98
8.75 9.73 0.659607 0.924658 162.96
8.9 9.89 0.669901 0.924658 154.23
9.05 10.06 0.680196 0.924658 145.76
9.2 10.23 0.690492 0.924658 137.54
9.35 10.4 0.700788 0.924658 129.56
9.5 10.56 0.711086 0.924658 121.81
9.65 10.73 0.721385 0.924658 114.28
9.8 10.9 0.731684 0.924658 106.96
9.95 11.06 0.741984 0.924658 99.85
10.1 11.23 0.752286 0.924658 92.93
10.25 11.4 0.762588 0.924658 86.19
10.4 11.56 0.772891 0.924658 79.64
10.55 11.73 0.783196 0.924658 73.25
10.7 11.9 0.793501 0.924658 67.03
10.85 12.07 0.803808 0.924658 60.97
11 12.23 0.814115 0.924658 55.07
11.15 12.4 0.824424 0.924658 49.31
11.3 12.57 0.834734 0.924658 43.69
11.45 12.74 0.845045 0.924658 38.21
11.6 12.9 0.855357 0.924658 32.86
11.75 13.07 0.865671 0.924658 27.63
11.9 13.24 0.875985 0.924658 22.53
12.05 13.4 0.886301 0.924658 17.55
12.2 13.57 0.896618 0.924658 12.68
12.35 13.74 0.906937 0.924658 7.92
12.5 13.91 0.917257 0.924658 3.27
12.65 14.07 0.927578 0.924658 -1.28
12.8 14.24 0.9379 0.924658 -5.73
12.95 14.41 0.948224 0.924658 -10.08
13.1 14.58 0.958549 0.924658 -14.34
13.25 14.74 0.968876 0.924658 -18.51
13.4 14.91 0.979204 0.924658 -22.59
13.55 15.08 0.989533 0.924658 -26.59
13.7 15.25 0.999864 0.924658 -30.5
13.85 15.41 1.0102 0.924658 -34.34
14 15.58 1.02053 0.924658 -38.1
14.15 15.75 1.03087 0.924658 -41.78
14.3 15.92 1.0412 0.924658 -45.4
14.45 16.09 1.05154 0.924658 -48.94
14.6 16.25 1.06188 0.924658 -52.41
14.75 16.42 1.07223 0.924658 -55.82
14.9 16.59 1.08257 0.924658 -59.16

Table 5

  The above table gives a view of the returns one compound can bring if the estimated accumulated yield, 15% is correct. If the actual average yield at the end of the maturity period is less, then returns decrease. If it is higher, then returns are higher.

The APY column is calculated on the total received, speculated 15%, from the total spent. The total spent includes gas, the discount for selling the PTs, trading fees, and slippage. Although the numbers look quite high, keep in mind the compounder is only receiving that APY on the expenditure, not the total input. Through yield token compounding, each of these small expenditure operations must add up to beat their speculated APY of the actual position. In this case, it must be at 20% for their idle funds to be worth playing the game. Therefore, compounding needs to occur multiple times.

Let us evaluate the same data differently:

Speculated Yield Desired Yield
15% 30%
Expand Table
Input PT APY PT Price PT APY after Trade Spent Received Gain APY
10 8.66 0.976412 9.56629 0.295881 0.369863 0.0739819 101.4
15 9.374 0.974411 10.3776 0.443829 0.554795 0.110966 101.4
20 9.719 0.973412 10.783 0.591764 0.739726 0.147963 101.4
25 9.917 0.972811 11.0266 0.739722 0.924658 0.184935 101.39
30 10.041 0.972411 11.1887 0.88766 1.10959 0.221929 101.4
35 10.123 0.972126 11.3046 1.0356 1.29452 0.258921 101.4
40 10.178 0.971914 11.3906 1.18345 1.47945 0.295998 101.43
45 10.217 0.971745 11.4589 1.33147 1.66438 0.332915 101.4
50 10.243 0.971612 11.5128 1.47939 1.84932 0.369925 101.41
55 10.26 0.971504 11.5567 1.62728 2.03425 0.406963 101.42
60 10.271 0.971412 11.5939 1.77527 2.21918 0.443909 101.41
65 10.277 0.971334 11.6256 1.92328 2.40411 0.480834 101.39
70 10.278 0.97127 11.6515 2.07109 2.58904 0.517955 101.42
75 10.277 0.971212 11.6752 2.21912 2.77397 0.554853 101.4
80 10.273 0.971162 11.6955 2.36706 2.9589 0.591842 101.4
85 10.267 0.971117 11.7135 2.51502 3.14384 0.628812 101.4
90 10.259 0.971079 11.7292 2.66291 3.32877 0.665854 101.41
95 10.25 0.971043 11.7437 2.81091 3.5137 0.702786 101.4
100 10.239 0.971013 11.7558 2.95869 3.69863 0.73994 101.43
105 10.228 0.970983 11.7679 3.10676 3.88356 0.776805 101.4
110 10.216 0.970956 11.7788 3.25479 4.06849 0.8137 101.39
115 10.202 0.970935 11.7873 3.40242 4.25342 0.851002 101.44
120 10.189 0.970912 11.7969 3.55059 4.43836 0.887766 101.4
125 10.175 0.970891 11.8053 3.69862 4.62329 0.924672 101.39
130 10.16 0.970873 11.8124 3.84645 4.80822 0.961767 101.41
135 10.145 0.970856 11.8195 3.99444 4.99315 0.998709 101.4
140 10.129 0.970842 11.8254 4.14218 5.17808 1.03591 101.42
145 10.113 0.970827 11.8311 4.29003 5.36301 1.07299 101.43

Table 6

  The table above optimizes for input values. If multiplying the gain value by 10, then it reaches \(\ge\) to the desired yield of 30% on the input liquidity. Let us evaluate one row:

Input PT APY PT APY after Trade Spent Received Net Gain
30 10.04 11.19 .89 1.12 .22

The compounder has 30 ETH. 30% APY on 30 ETH over 3 months is equal to 2.2 ETH. Multiplying the net gain column by 10 equates to that value. This means 10 compound operations with 30 ETH as input and the PT price at 10.04% returns 30% APY on 30 ETH. Multiplying total spent by 10 means 8.9 ETH is spent during the term period, freeing up 21.1 ETH capital to continue spending on the market or continue compounding, increasing gains further. Since only 8.9 ETH was spent, this means you could see the same compounding gains by using flash loans and only inputting 8.9 ETH in capital.

During this process, the compounder must take their time to wait for the market or price to normalize again. They cannot compound 10 times in a row without incurring significant slippage. As a result, compounding would happen over time. 10 compound operations in this situation put close to 300 ETH liquidity through the AMM, even though the compounder held ~30 ETH to start, and only 8.9 ETH if using flash loans.

Input Thresholds In the table, you'll notice if too little liquidity is used, the PT price needs to be very low for compounding to work, thus making compounding likely unprofitable for lower inputs of capital. This is due to offsetting the expense of gas. At around 30 ETH input, the needed PT APYs begin to converge.

Additionally, if too much liquidity is used, the returns on compounding begin to fall away. This is due to the slippage incurred as an expense. There is an interesting equilibrium to be found here.

In a competitive market, you will notice the PT price peaks at 70 ETH input, then begins dropping off again. It is likely the market will optimize for this input for compounding and for lowering the speculated yield rate.

Increase Speculated Yield

If the desired yield is increased, you see the following results:

Speculated Yield Desired Yield
15% 50%
Expand Table
Input PT APY PT Price PT APY after Trade Spent Received Gain APY
25 8.12 0.977745 9.02576 0.616383 0.924658 0.308275 202.83
30 8.249 0.977344 9.18845 0.739693 1.10959 0.369896 202.8
35 8.335 0.977059 9.30374 0.862926 1.29452 0.431595 202.84
40 8.396 0.976843 9.39148 0.986282 1.47945 0.49317 202.79
45 8.438 0.976678 9.4582 1.10947 1.66438 0.554912 202.84
50 8.469 0.976544 9.51276 1.23281 1.84932 0.616509 202.81
55 8.491 0.976434 9.55734 1.35613 2.03425 0.678114 202.79
60 8.506 0.976343 9.59413 1.47941 2.21918 0.739772 202.8
65 8.516 0.976266 9.62534 1.60269 2.40411 0.801418 202.8
70 8.522 0.9762 9.65207 1.72597 2.58904 0.863068 202.8
75 8.525 0.976143 9.67542 1.84929 2.77397 0.924684 202.79
80 8.525 0.976094 9.69536 1.97251 2.9589 0.986394 202.81
85 8.523 0.97605 9.71303 2.09575 3.14384 1.04809 202.82
90 8.52 0.976009 9.72956 2.21916 3.32877 1.1096 202.78
95 8.515 0.975974 9.74378 2.34245 3.5137 1.17125 202.78
100 8.508 0.975945 9.75567 2.46551 3.69863 1.23312 202.84
105 8.501 0.975916 9.76754 2.58886 3.88356 1.29471 202.82
110 8.493 0.975889 9.77823 2.71218 4.06849 1.35632 202.81
115 8.484 0.975866 9.78772 2.83542 4.25342 1.418 202.82
120 8.475 0.975843 9.79717 2.95889 4.43836 1.47947 202.78
125 8.464 0.975825 9.80426 3.08186 4.62329 1.54143 202.84
130 8.454 0.975805 9.81246 3.20537 4.80822 1.60285 202.8
135 8.443 0.975788 9.81946 3.32867 4.99315 1.66448 202.8
140 8.431 0.975773 9.82523 3.45172 5.17808 1.72636 202.84
145 8.42 0.975756 9.83212 3.57532 5.36301 1.78769 202.78

Table 7

  PT rates are generally lower, therefore in a competitive and efficient market, target APYs should converge to the speculated APY.

Term Periods

Let us evaluate the same situation, but a 30-day term:

Speculated Yield Desired Yield
15% 30%
Expand Table
Input PT APY PT Price PT APY after Trade Spent Received Gain APY
25 8.167 0.992537 9.0795 0.246565 0.308219 0.0616542 304.23
30 8.586 0.992137 9.56635 0.295882 0.369863 0.0739805 304.21
35 8.878 0.991852 9.91347 0.345182 0.431507 0.0863247 304.27
40 9.092 0.991637 10.1748 0.394513 0.493151 0.0986375 304.2
45 9.253 0.99147 10.3777 0.443833 0.554795 0.110962 304.18
50 9.377 0.991337 10.5398 0.493144 0.616438 0.123294 304.19
55 9.474 0.991228 10.6722 0.542441 0.678082 0.135641 304.23
60 9.551 0.991138 10.7824 0.591737 0.739726 0.147989 304.28
65 9.613 0.991061 10.8761 0.641052 0.80137 0.160318 304.27
70 9.663 0.990995 10.9565 0.690372 0.863014 0.172641 304.25
75 9.703 0.990938 11.0257 0.739668 0.924658 0.184989 304.29
80 9.736 0.990887 11.0872 0.789022 0.986301 0.197279 304.2
85 9.762 0.990843 11.1409 0.838335 1.04795 0.20961 304.21
90 9.782 0.990805 11.1878 0.88759 1.10959 0.221999 304.31
95 9.799 0.990769 11.2314 0.936971 1.17123 0.234262 304.19
100 9.811 0.990738 11.2693 0.986245 1.23288 0.246632 304.25
105 9.82 0.990709 11.3039 1.03554 1.29452 0.258983 304.28
110 9.827 0.990683 11.3361 1.08491 1.35616 0.271254 304.2
115 9.831 0.990659 11.365 1.13422 1.41781 0.283585 304.2
120 9.833 0.990637 11.3915 1.18355 1.47945 0.295905 304.19
125 9.833 0.990617 11.4157 1.23285 1.5411 0.308245 304.2
130 9.831 0.990599 11.4376 1.2821 1.60274 0.320635 304.27
135 9.828 0.990582 11.4584 1.33141 1.66438 0.332975 304.28
140 9.824 0.990566 11.4779 1.38075 1.72603 0.34528 304.25
145 9.819 0.990551 11.4963 1.43011 1.78767 0.357565 304.2

Table 8

  Or the same situation, but 60 days into a 90 day term:

Expand Table
Input PT APY PT Price PT APY after Trade Spent Received Gain APY
25 8.375 0.992349 9.30864 0.862995 0.924658 0.0616621 86.93
30 8.805 0.991939 9.80774 1.0356 1.10959 0.0739915 86.93
35 9.105 0.991646 10.1638 1.20819 1.29452 0.0863325 86.94
40 9.325 0.991426 10.4319 1.38081 1.47945 0.0986414 86.92
45 9.49 0.991255 10.6394 1.5534 1.66438 0.110987 86.93
50 9.618 0.991118 10.8061 1.72601 1.84932 0.123303 86.92
55 9.718 0.991007 10.9419 1.8986 2.03425 0.135645 86.92
60 9.798 0.990913 11.0556 2.07122 2.21918 0.14796 86.91
65 9.862 0.990834 11.1517 2.24382 2.40411 0.160286 86.91
70 9.913 0.990767 11.2333 2.41639 2.58904 0.172651 86.93
75 9.955 0.990708 11.3049 2.58901 2.77397 0.184961 86.92
80 9.989 0.990657 11.3677 2.76164 2.9589 0.197267 86.91
85 10.016 0.990612 11.4226 2.93423 3.14384 0.209603 86.91
90 10.037 0.990572 11.4708 3.10678 3.32877 0.221983 86.93
95 10.054 0.990536 11.5146 3.27938 3.5137 0.234319 86.93
100 10.067 0.990504 11.5538 3.45197 3.69863 0.246665 86.94
105 10.077 0.990474 11.5896 3.62458 3.88356 0.258981 86.93
110 10.084 0.990448 11.6221 3.79718 4.06849 0.271311 86.93
115 10.089 0.990423 11.6522 3.96983 4.25342 0.28359 86.91
120 10.091 0.990401 11.6789 4.1424 4.43836 0.295959 86.93
125 10.092 0.99038 11.7045 4.31506 4.62329 0.308229 86.91
130 10.09 0.990362 11.7266 4.48756 4.80822 0.320659 86.94
135 10.088 0.990344 11.7486 4.66024 4.99315 0.33291 86.91
140 10.084 0.990327 11.7684 4.83283 5.17808 0.345249 86.92
145 10.079 0.990312 11.7869 5.00545 5.36301 0.357567 86.91

Table 9

  A few observations:

  1. The range of profitability is shifted up. 30 ETH is no longer profitable to compound with, more funds are necessary.
  2. Peak PT yield rates that make compounding profitable are slightly lower, but not by much

However, it is proposed that the second point is not true. With 30 days remaining in the 90 day term period or a 30-day term, the market can be more aggressive on its speculated yield. In the case of being 60 days into a 90-day term, more stability is also ensured since YTs have already accumulated most of their yield. In essence, shorter periods allow for a higher speculated yield to be assumed. Let's evaluate both situations and increase the speculated yield:

Speculated Yield Desired Yield Term Period
18% 30% 30 Days
Expand Table
Input PT APY PT Price PT APY after Trade Spent Received Gain APY
15 9.152 0.991672 10.1327 0.184923 0.221918 0.0369944 243.4
20 10.227 0.990672 11.3493 0.246565 0.29589 0.0493259 243.4
25 10.859 0.990072 12.079 0.308198 0.369863 0.0616646 243.43
30 11.27 0.989672 12.5656 0.369837 0.443836 0.0739985 243.44
35 11.555 0.989386 12.9136 0.431488 0.517808 0.0863201 243.4
40 11.761 0.989171 13.1747 0.49314 0.591781 0.0986404 243.36
45 11.914 0.989005 13.3773 0.554778 0.665753 0.110975 243.38
50 12.03 0.988872 13.5391 0.616403 0.739726 0.123323 243.42
55 12.12 0.988763 13.6723 0.678061 0.813699 0.135637 243.38
60 12.19 0.988671 13.7833 0.739722 0.887671 0.147949 243.34
65 12.244 0.988595 13.8765 0.801346 0.961644 0.160298 243.38
70 12.286 0.988529 13.9564 0.862968 1.03562 0.172649 243.41
75 12.319 0.988472 14.0262 0.924629 1.10959 0.18496 243.38
80 12.344 0.988422 14.0871 0.986276 1.18356 0.197286 243.37
85 12.362 0.988378 14.1401 1.04787 1.25753 0.209662 243.43
90 12.376 0.988338 14.1887 1.10957 1.33151 0.221933 243.35
95 12.385 0.988303 14.2316 1.17123 1.40548 0.234248 243.33
100 12.39 0.988271 14.2699 1.23287 1.47945 0.246586 243.35
105 12.392 0.988243 14.3048 1.29452 1.55342 0.258905 243.33
110 12.391 0.988217 14.3362 1.35615 1.6274 0.27125 243.35
115 12.387 0.988194 14.3641 1.4177 1.70137 0.283668 243.44
120 12.382 0.988172 14.3909 1.47937 1.77534 0.295971 243.41
125 12.375 0.988152 14.4152 1.54102 1.84932 0.308297 243.41
130 12.367 0.988133 14.4384 1.60274 1.92329 0.320549 243.33
135 12.357 0.988116 14.4593 1.66438 1.99726 0.332877 243.33
140 12.345 0.988101 14.4777 1.72592 2.07123 0.345312 243.42
145 12.333 0.988085 14.496 1.78761 2.14521 0.357599 243.39

Table 9

  Or for 60 days into a 90 day term:

Expand Table
Input PT APY PT Price PT APY after Trade Spent Received Gain APY
15 9.433 0.991417 10.4421 0.628765 0.665753 0.0369885 71.57
20 10.541 0.990387 11.6954 0.838346 0.887671 0.0493257 71.59
25 11.193 0.989769 12.4474 1.04793 1.10959 0.0616624 71.59
30 11.618 0.989356 12.9498 1.25753 1.33151 0.0739732 71.57
35 11.911 0.989063 13.307 1.46709 1.55342 0.0863313 71.59
40 12.124 0.988842 13.5761 1.67669 1.77534 0.0986491 71.58
45 12.282 0.98867 13.7847 1.88626 1.99726 0.110996 71.59
50 12.403 0.988532 13.9524 2.09587 2.21918 0.123306 71.58
55 12.496 0.98842 14.0892 2.30546 2.4411 0.135635 71.58
60 12.568 0.988326 14.2028 2.51503 2.66301 0.147985 71.59
65 12.625 0.988247 14.2997 2.72464 2.88493 0.160291 71.58
70 12.669 0.988179 14.3822 2.93422 3.10685 0.17263 71.58
75 12.703 0.98812 14.4536 3.14379 3.32877 0.184979 71.59
80 12.729 0.988069 14.516 3.35336 3.55068 0.19733 71.6
85 12.749 0.988023 14.5716 3.56297 3.7726 0.209637 71.59
90 12.763 0.987983 14.6206 3.77253 3.99452 0.221987 71.59
95 12.773 0.987947 14.665 3.98215 4.21644 0.234289 71.58
100 12.779 0.987914 14.7048 4.19176 4.43836 0.2466 71.58
105 12.781 0.987885 14.7401 4.4013 4.66027 0.258977 71.59
110 12.781 0.987858 14.773 4.61092 4.88219 0.271274 71.58
115 12.778 0.987834 14.8025 4.82048 5.10411 0.283628 71.59
120 12.773 0.987811 14.8297 5.03006 5.32603 0.295969 71.59
125 12.766 0.987791 14.8544 5.23962 5.54795 0.30833 71.6
130 12.758 0.987771 14.8781 5.44925 5.76986 0.320615 71.58
135 12.748 0.987754 14.8993 5.65881 5.99178 0.33297 71.59
140 12.737 0.987738 14.9193 5.86841 6.2137 0.345292 71.59
145 12.725 0.987722 14.938 6.07802 6.43562 0.357596 71.58

Table 10

  Peak APY rates are higher and the market will likely find some type of equilibrium between speculated APY and the time remaining.

6 Month Term

Speculated Yield Desired Yield Term Period
15% 30% 182.5 Days
Expand Table
Input PT APY PT Price PT APY after Trade Spent Received Gain APY
10 9.762 0.946823 10.7832 0.591774 0.739726 0.147952 50.7
15 10.107 0.944826 11.188 0.887604 1.10959 0.221985 50.71
20 10.269 0.943823 11.3914 1.18353 1.47945 0.295919 50.7
25 10.357 0.943222 11.5133 1.47944 1.84932 0.36987 50.7
30 10.408 0.942822 11.5944 1.77533 2.21918 0.443846 50.7
35 10.438 0.942537 11.6523 2.07121 2.58904 0.517828 50.7
40 10.455 0.942322 11.6958 2.36711 2.9589 0.591795 50.7
45 10.463 0.942157 11.7292 2.66293 3.32877 0.665839 50.7
50 10.465 0.942025 11.756 2.95875 3.69863 0.739885 50.71
55 10.463 0.941915 11.7783 3.25467 4.06849 0.813828 50.7
60 10.458 0.941822 11.7972 3.55068 4.43836 0.887675 50.69
65 10.45 0.941746 11.8127 3.84653 4.80822 0.961686 50.7
70 10.44 0.941681 11.8259 4.14235 5.17808 1.03573 50.7
75 10.428 0.941627 11.8367 4.43796 5.54795 1.10998 50.72
80 10.416 0.941574 11.8475 4.73409 5.91781 1.18372 50.7
85 10.402 0.941532 11.856 5.02977 6.28767 1.2579 50.71
90 10.388 0.941491 11.8644 5.32584 6.65753 1.33169 50.7
95 10.373 0.941455 11.8716 5.62176 7.0274 1.40564 50.7
100 10.357 0.941426 11.8776 5.91742 7.39726 1.47984 50.71
105 10.341 0.941397 11.8834 6.21335 7.76712 1.55377 50.71
110 10.325 0.941368 11.8893 6.50953 8.13699 1.62746 50.7
115 10.308 0.941345 11.8939 6.80529 8.50685 1.70156 50.7
120 10.291 0.941323 11.8984 7.10124 8.87671 1.77547 50.7
125 10.273 0.941307 11.9017 7.39664 9.24658 1.84994 50.72
130 10.256 0.941285 11.906 7.6929 9.61644 1.92354 50.7
135 10.238 0.94127 11.9091 7.98854 9.9863 1.99776 50.71
140 10.22 0.941255 11.9121 8.28427 10.3562 2.07189 50.71
145 10.202 0.941241 11.9151 8.5801 10.726 2.14593 50.72
145 10.202 0.941241 11.9151 8.5801 10.726 2.14593 50.72

Table 11

  1 Year Term

Speculated Yield Desired Yield Term Period
15% 30% 365 Days
Expand Table
Input PT APY PT Price PT APY after Trade Spent Received Gain APY
10 10.315 0.887644 11.3917 1.18356 1.47945 0.295891 25.35
15 10.477 0.885652 11.5936 1.77522 2.21918 0.443956 25.36
20 10.548 0.884648 11.6954 2.36704 2.9589 0.591864 25.35
25 10.582 0.884046 11.7564 2.95884 3.69863 0.73979 25.35
30 10.597 0.883652 11.7964 3.55044 4.43836 0.887916 25.36
35 10.602 0.883367 11.8253 4.14216 5.17808 1.03592 25.36
40 10.601 0.883148 11.8475 4.73409 5.91781 1.18372 25.35
45 10.595 0.882984 11.8641 5.32573 6.65753 1.33181 25.35
50 10.586 0.882853 11.8774 5.91733 7.39726 1.47993 25.36
55 10.575 0.882746 11.8883 6.50899 8.13699 1.62799 25.36
60 10.563 0.882649 11.8981 7.10104 8.87671 1.77567 25.35
65 10.549 0.882576 11.9055 7.69257 9.61644 1.92387 25.36
70 10.535 0.882503 11.9129 8.2848 10.3562 2.07137 25.35
75 10.519 0.882453 11.918 8.87602 11.0959 2.21987 25.36
80 10.503 0.882404 11.923 9.4677 11.8356 2.36792 25.36
85 10.487 0.882355 11.9279 10.0598 12.5753 2.51554 25.35
90 10.47 0.882319 11.9316 10.6513 13.3151 2.66375 25.36
95 10.453 0.882283 11.9352 11.2431 14.0548 2.81166 25.36
100 10.436 0.882248 11.9388 11.8352 14.7945 2.95929 25.35
105 10.418 0.882225 11.9411 12.4264 15.5342 3.10784 25.36
110 10.401 0.882191 11.9445 13.019 16.274 3.25499 25.35
115 10.383 0.88217 11.9467 13.6105 17.0137 3.40319 25.35
120 10.365 0.882149 11.9488 14.2021 17.7534 3.55128 25.35
125 10.347 0.882129 11.9508 14.7939 18.4932 3.69926 25.35
130 10.329 0.88211 11.9528 15.3857 19.2329 3.84713 25.35
135 10.311 0.882091 11.9546 15.9777 19.9726 3.99493 25.35
140 10.293 0.882074 11.9564 16.5697 20.7123 4.14264 25.35
145 10.274 0.882068 11.957 17.1601 21.4521 4.29197 25.36

Table 12

  In both the 1 year and 6-month term, the range of input required for profitability is lowered. Peak PT price for input is lowered as well.

USDC 3 Month

Yield Position Yield Speculated Yield Term
USDC 25% 20% 90 days
Matured Liquidity t-stretch Gas Used
0 Days 10,000,000 USDC 10 Years 0.06 ETH
Expand Table
Input PT APY PT Price PT APY after Trade Spent Received Gain APY
10000 11.739 0.968083 12.9441 419.17 493.151 73.9804 71.58
20000 13.541 0.963082 14.9721 838.351 986.301 147.95 71.57
30000 14.113 0.961417 15.6477 1257.5 1479.45 221.953 71.58
40000 14.378 0.960584 15.9855 1676.65 1972.6 295.953 71.59
50000 14.52 0.960085 16.1878 2095.76 2465.75 369.997 71.6
60000 14.602 0.959749 16.324 2515.05 2958.9 443.853 71.57
70000 14.648 0.959512 16.4202 2934.18 3452.05 517.875 71.58
80000 14.672 0.959335 16.4921 3353.23 3945.21 591.971 71.6
90000 14.682 0.959196 16.5483 3772.36 4438.36 665.992 71.6
100000 14.683 0.959082 16.5944 4191.78 4931.51 739.729 71.57
110000 14.675 0.958994 16.6303 4610.69 5424.66 813.967 71.6
120000 14.663 0.958916 16.6617 5030.02 5917.81 887.786 71.58
130000 14.646 0.958854 16.6872 5449.04 6410.96 961.918 71.59
140000 14.626 0.958799 16.7092 5868.1 6904.11 1036.01 71.6
150000 14.604 0.958751 16.7288 6287.35 7397.26 1109.91 71.59
160000 14.58 0.958709 16.7459 6706.61 7890.41 1183.8 71.59
170000 14.554 0.958672 16.7606 7125.68 8383.56 1257.88 71.59
180000 14.527 0.958639 16.774 7544.9 8876.71 1331.82 71.59
190000 14.499 0.95861 16.786 7964.15 9369.86 1405.71 71.58
200000 14.47 0.958583 16.7968 8383.34 9863.01 1479.68 71.58
210000 14.44 0.95856 16.8061 8802.35 10356.2 1553.81 71.59
220000 14.41 0.958538 16.8153 9221.74 10849.3 1627.58 71.58
230000 14.379 0.958518 16.8231 9640.8 11342.5 1701.67 71.58
240000 14.348 0.958499 16.8308 10060.1 11835.6 1775.48 71.58

Table 13

  BTC 3 Month

Yield Position Yield Speculated Yield Term
yWBTC 20% 15% 90 days
Matured Liquidity t-stretch Gas Used
0 Days 200 BTC 8 Years 0.06 ETH
Expand Table
Input PT APY PT Price PT APY after Trade Spent Received Gain APY
0.3 8.669 0.976412 9.56615 0.00887633 0.0110959 0.00221956 101.41
0.4 9.21 0.974913 10.1742 0.0118349 0.0147945 0.00295967 101.42
0.5 9.53 0.974013 10.5392 0.0147936 0.0184932 0.00369959 101.42
0.6 9.74 0.973411 10.7832 0.0177532 0.0221918 0.00443854 101.39
0.7 9.886 0.972983 10.9568 0.0207117 0.0258904 0.0051787 101.4
0.8 9.993 0.972661 11.0874 0.0236711 0.029589 0.00591792 101.39
0.9 10.073 0.972412 11.1884 0.026629 0.0332877 0.00665868 101.41
1 10.135 0.972212 11.2695 0.0295878 0.0369863 0.00739854 101.41
1.1 10.184 0.972048 11.3363 0.0325477 0.0406849 0.00813724 101.39
1.2 10.222 0.971913 11.3909 0.0355046 0.0443836 0.00887893 101.42
1.3 10.253 0.971797 11.4378 0.0384638 0.0480822 0.00961839 101.41
1.4 10.278 0.971698 11.4782 0.0414232 0.0517808 0.0103576 101.41
1.5 10.298 0.971612 11.5129 0.0443821 0.0554795 0.0110973 101.41
1.6 10.314 0.971537 11.5433 0.0473407 0.0591781 0.0118374 101.41
1.7 10.327 0.97147 11.5703 0.0503003 0.0628767 0.0125765 101.4
1.8 10.337 0.971412 11.594 0.0532584 0.0665753 0.013317 101.41
1.9 10.345 0.971359 11.6155 0.0562178 0.070274 0.0140562 101.4
2 10.351 0.971312 11.6347 0.0591768 0.0739726 0.0147958 101.4
2.1 10.355 0.97127 11.6517 0.0621337 0.0776712 0.0155375 101.42
2.2 10.358 0.97123 11.6676 0.065093 0.0813699 0.0162769 101.41
2.3 10.36 0.971194 11.6824 0.0680537 0.0850685 0.0170148 101.4
2.4 10.36 0.971163 11.6949 0.0710084 0.0887671 0.0177588 101.43
2.5 10.36 0.971132 11.7074 0.0739692 0.0924658 0.0184965 101.41
2.6 10.359 0.971104 11.7188 0.076929 0.0961644 0.0192354 101.41
2.7 10.357 0.971079 11.7291 0.0798869 0.099863 0.0199761 101.41
2.8 10.354 0.971056 11.7382 0.0828419 0.103562 0.0207198 101.43
2.9 10.351 0.971034 11.7473 0.0858014 0.10726 0.0214589 101.43
3 10.348 0.971012 11.7564 0.0887653 0.110959 0.0221936 101.4
3.1 10.344 0.970992 11.7644 0.091725 0.114658 0.0229325 101.39
3.2 10.339 0.970975 11.7712 0.0946795 0.118356 0.0236767 101.42
3.3 10.334 0.970958 11.778 0.0976373 0.122055 0.0244175 101.42
3.4 10.329 0.970942 11.7848 0.100598 0.125753 0.0251551 101.41
3.5 10.323 0.970928 11.7904 0.103553 0.129452 0.0258993 101.43
3.6 10.318 0.970911 11.7972 0.10652 0.133151 0.0266307 101.39
3.7 10.311 0.9709 11.8016 0.109469 0.136849 0.0273798 101.44
3.8 10.305 0.970886 11.8072 0.112432 0.140548 0.0281161 101.42
3.9 10.299 0.970873 11.8128 0.115397 0.144247 0.0288498 101.39
4 10.292 0.970862 11.8172 0.118353 0.147945 0.0295922 101.4
4.1 10.285 0.970851 11.8216 0.121311 0.151644 0.0303326 101.4
4.2 10.278 0.97084 11.826 0.124271 0.155342 0.031071 101.4
4.3 10.27 0.970832 11.8292 0.127221 0.159041 0.0318197 101.43
4.4 10.263 0.970822 11.8335 0.130185 0.16274 0.0325544 101.41
4.5 10.255 0.970814 11.8367 0.133138 0.166438 0.0333001 101.44
4.6 10.248 0.970803 11.841 0.136106 0.170137 0.0340312 101.4
4.7 10.24 0.970795 11.8441 0.139062 0.173836 0.0347739 101.41
4.8 10.232 0.970788 11.8472 0.142019 0.177534 0.0355153 101.42
4.9 10.224 0.97078 11.8503 0.144978 0.181233 0.0362553 101.42

Table 14

  Yield Token Discussion

In all the above scenarios, something fascinating is discovered. YTs become a very lucrative purchase. Let us evaluate a row from the BTC 3 month term:

Input PT APY PT APY after Trade Spent Received Gain
1 10.135 11.2695 0.0295878 0.0369863 0.00739854

If the YT is priced at greater than the "Spent" value, then its price will be immediately pushed back down. For the following illustration, let us assume the YT is now selling for 0.031 BTC.

  1. Mint 1 PT and 1 YT, total input 1 BTC
  2. Sell PT (1 - "Spent" = 0.971 BTC including gas fees)
  3. Sell YT (0.031)
  4. 0.971 + 0.031 = 0.001 BTC profit

Someone will be able to mint and immediately sell both the PT and YT for profit. However, let us look at that table row again with a new column added to it:

Input PT APY PT APY after Trade Spent Received Gain APY
1 10.135 11.2695 0.0295878 0.0369863 0.00739854 101.41

If the YT is priced at 0.03 BTC, but returns 0.037 BTC at the end of 3 months, purchasing the YT will give a 93.59% APY. However, by default, YT purchases will not be able to support the same amount of liquidity as PTs. 1 BTC PT matures to 1 BTC. 1 BTC PT, in this case, matures to 0.037 BTC. In an AMM, this means PTs have much more backing liquidity than PTs. The market will find equilibrium, but purchasing and selling PTs can be done with large amounts of liquidity. PTs do not have the same liquidity. Yield Token Compounding, therefore, supports high liquidity. Purchasing YTs will likely be smaller quantities. The market will find equilibrium somewhere.

What can be predicted? Mainly that equilibrium will be found and it is yet to be seen how the market will react exactly. Purchasing YTs and yield token compounding are both highly profitable endeavors.

Further Discussion

In all the examples shared, if the final yield is higher than the speculated yield, then yield token compounding becomes significantly more profitable than the targeted yield.

Initial Pool Parameterization

To parameterize the initial pools, you set the t-stretch to match the optimal input and associated PT APY for yield token compounding when the speculated yield is set to 75% of the yield position's APY and the desired yield is set to 150% of the position's APY. Next, take the calculated PT APY and set our t-stretch in accordance with the analysis in Appendix B. This is called the 75/150% rule.

D. Yield Token Compounding Formulation

Calculate the max market \(APY_{PT}\) that allows me to hit \(APY_{target}\) after \(N\) compounds assuming \(APY_{speculated}\) for a given \(Token_{input}\) and \(term\ length\)

Begin by defining the target number of accrued tokens needed after the \(term\) has expired in order to hit the \(APY_{target}\):

\begin{aligned} \require{cancel}\ Token_{target} &= Token_{input} \times \frac{APY_{target}}{100} \times t \end{aligned}

where \(t\) is defined as:

\begin{aligned} \require{cancel} t &= \frac{term length}{365} \end{aligned}

Next, it is defined how to quantify the net tokens earned over a \(term\). To do this, the tokens earned needs to be quantified:

\begin{aligned} \require{cancel}\ Token_{earned} &= Token_{input} \times \frac{APY_{speculated}}{100} \times t \end{aligned}

and the tokens spent in a \(term\) for a single compound:

\begin{aligned} \require{cancel} Token_{spent} &= Token_{input} - Unit Price \times Token_{input} + Fee_{gas} \end{aligned}

Taking the difference between the \(Token_{earned}\) and \(Token_{spent}\) gives us the net tokens earned:

\begin{aligned} \require{cancel} Token_{net} &= Token_{earned}-Token_{spent} \end{aligned}

and the following inequality that compares the net number of tokens earned after N compounds and some time period \(t\):

\begin{aligned} \require{cancel} Token_{net} \times N \ge Token_{target} \qquad(22) \end{aligned}

Equation (22) in expanded form:

\begin{aligned} \require{cancel} \left((Token_{input} \times \frac{APY_{speculated}}{100} \times t) - ( Token_{input} - Unit Price \times Token_{input} + Fee_{gas})\right)\times N \ge Token_{input} \times\frac{APY_{target}}{100} \times t \end{aligned}

solving for \(Unit\ Price\):

\begin{aligned} \require{cancel} Unit Price \ge 1- \frac{APY_{speculated}}{100} \times t - \frac{APY_{target}}{100 \times N} \times t - \frac{Fee_{gas}}{Token_{input}} \end{aligned}

allows us can calculate the minimum PT market price (after slippage) needed to hit the \(APY_{target}\):

\begin{aligned} \require{cancel} Unit Price_{min} = 1- \frac{APY_{speculated}}{100} \times t - \frac{APY_{target}}{100 \times N} \times t - \frac{Fee_{gas}}{Token_{input}} \qquad(23) \end{aligned}

Recall that \(APY_{PT}\) can be defined as:

\begin{aligned} \require{cancel} APY_{PT}=\frac{(1-Unit Price_{PT})}{t} \times 100 \end{aligned}

and combined with (23) the max market \(APY_{target}\) is:

\begin{aligned} \require{cancel} APY_{PT} = \frac{\frac{APY_{speculated}}{100} \times t - \frac{APY_{target}}{100 \times N} \times t - \frac{Fee_{gas}}{Token_{input}}}{100} \times t \qquad(24) \end{aligned}

Calculate the number of Principal Tokens (PTs) and Yield Tokens (YTs) you are left with after N compounds:

\begin{aligned} Number of PTs = P\cdot\left(1-R\right)^{N}\qquad(25) \end{aligned}

where \(P\) is the initial principal amount deposited and \(R\) is the market rate of the \(PT\). The \(Number\ of\ YTs\) can represented by the following summation:

\begin{aligned} S&=P\cdot \sum_{i=0}^{N}\left(1-R\right)^{i} \qquad(26) \end{aligned}

The summation in equation (26) can be expanded as follows:

\begin{aligned} S&=P\cdot\left(1+\left(1-R\right)^{1}+\left(1-R\right)^{2}+...+\left(1-R\right)^{N}\right)\qquad(27) \end{aligned}

Multiplying both sides of equation (27) by \((1-R)\) gives us:

\begin{aligned} (1-R)\cdot S&=P\cdot\left(\left(1-R\right)^{1}+\left(1-R\right)^{2}+...+\left(1-R\right)^{N}+\left(1-R\right)^{N+1}\right)\qquad(28) \end{aligned}

Subtracting (28) from (27), simplifying and solving for \(S\):

\begin{aligned} \require{cancel} S - S \cdot (1-R)&=P\cdot\left(\left(1+\left(1-R\right)^{1}+\left(1-R\right)^{2}+...+\left(1-R\right)^{N}\right) - \left(\left(1-R\right)^{1}+\left(1-R\right)^{2}+...+\left(1-R\right)^{N}+\left(1-R\right)^{N+1}\right)\right)\ \newline \bcancel{S - S} + R\cdot S &= P\cdot\left(\left(1+\bcancel{\left(1-R\right)^{1}}+\bcancel{\left(1-R\right)^{2}}+...+\bcancel{\left(1-R\right)^{N}}\right) - \left(\bcancel{\left(1-R\right)^{1}}+\bcancel{\left(1-R\right)^{2}}+...+\bcancel{\left(1-R\right)^{N}}+\left(1-R\right)^{N+1}\right)\right)\ \newline S&=\frac{P\cdot\left(1-\left(1-R\right)^{N+1}\right)}{R} \end{aligned}

Now it can be said that:

\begin{aligned} Number of YTs &=\frac{P\cdot\left(1-\left(1-R\right)^{N+1}\right)}{R}\qquad(29) \end{aligned}

E. Initializing the Convergent Curve Pool Price

The convergent curve pool price is initialized in two steps. First, the pool must be seeded with initial liquidity in the form of the base asset. Second, a trade is executed to initialize the price to match the initial \(APY_{PT}\). If you recall equation (18) that relates \(APY_{PT}\) to \(Unit\ Price_{PT}\):

\begin{aligned} \require{cancel} APY_{PT}=\frac{(1-Unit Price_{PT})}{t}\times100 \end{aligned}

Additionally, from equation (10), we know that \(Unit\ Price_{PT}\) is defined in terms of \(x_r\), \(y_r\), \(l_{shares}\) and \(t\):

\begin{aligned} \require{cancel} Unit Price_{PT} &= \left(\frac{y_{r}+l_{shares}}{x_{r}}\right)^{-t} \end{aligned}

Combining (18) & (10) gives us:

\begin{aligned} \require{cancel} APY_{PT}=\frac{\left(1-\left(\frac{y_{r}+l_{shares}}{x_{r}}\right)^{-\frac{t}{t_{stretch}}}\right)}{t}\times100\qquad(30) \end{aligned}

It is important to note that since only the initial deposit of the base token has been made, we know that \(y_r\)=0 and \(x_r\) = \(l_{shares}\) resulting in the initial \(Unit\ Price_{PT}\) = 1. As a result, we simplify (30) as follows:

\begin{aligned} \require{cancel} APY_{PT}=\frac{\left(1-\left(\frac{x_{r}}{x_{r}}\right)^{-\frac{t}{t_{stretch}}}\right)}{t}\times100\qquad(31) \end{aligned}

Remember, the goal is to calculate the trade needed to initialize the pool to \(APY_{PT}\). This essentially means that we need to solve for \(\delta\)y in this equation:

\begin{aligned} \require{cancel} APY_{PT}=\frac{\left(1-\left(\frac{x_{r}+\delta y}{x_{r}-\delta y}\right)^{-\frac{t}{t_{stretch}}}\right)}{t}\times100 \end{aligned}

We use \(\delta\)y to represent the amount of the PT entering the pool AND the amount of the base token exiting the pool. We do this because \(Unit\ Price_{PT}\) = 1 and we are disregarding slippage for simplicity.

\begin{aligned} \require{cancel} \frac{1-\left(\frac{x_{r}+\delta y}{x_{r}-\delta y}\right)^{-\frac{t}{t_{stretch}}}}{t}&=\frac{APY_{PT}}{100}\ \newline \left(\frac{x_{r}+\delta y}{x_{r}-\delta y}\right)^{-\frac{t}{t_{stretch}}}&=1-\frac{APY_{PT}}{100}\times t\ \newline \frac{x_{r}+\delta y}{x_{r}-\delta y}&=\left(1-\frac{APY_{PT}}{100}\times t\right)^{-\frac{t_{stretch}}{t}}\ \newline x_{r}+\delta y&=\left(1-\frac{APY_{PT}}{100}\times t\right)^{-\frac{t_{stretch}}{t}}(x_{r}-\delta y)\ \newline x_{r}+\delta y&=x_{r}\left(1-\frac{APY_{PT}}{100}\times t\right)^{-\frac{t_{stretch}}{t}}-\delta y\left(1-\frac{APY_{PT}}{100}\times t\right)^{-\frac{t_{stretch}}{t}}\ \end{aligned}

Solving for \(\delta y\), gives the amount of PT to trade into the pool to ensure that it is initialized to \(APY_{PT}\): \begin{aligned} \require{cancel} \delta y&=\frac{x_{r}\left(\left(1-\frac{APY_{PT}}{100}\times t\right)^{-\frac{t_{stretch}}{t}}-1\right)}{\left(1+\left(1-\frac{APY_{PT}}{100}\times t\right)^{-\frac{t_{stretch}}{t}}\right)}\qquad(32) \end{aligned}

Note: this procedure does not account for slippage; however, it is accurate enough for this initializing trade.