---
# System prepended metadata

title: Element Deep Dive

---

# Element Deep Dive

![](https://i.imgur.com/U1Stb1g.png)

## How Element Works

The Element Protocol wraps yield bearing assets and splits the resulting shares into a principal and a yield token.

![](https://i.imgur.com/y7Uo4Bn.png)

**Basic Features:**
- PTs can be purchased at a discount to lock in a fixed yield rate
- Minting and Staking for additional rewards


## Pricing Principal Tokens

### Constant Power Sum Invariant

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

**where**

- $x$ is the reserves of the base asset
- $y$ is the reserves of the PT
- $t$ is the time to maturity
- $k$ is a constant

### The Behavior of the Constant Power Sum Invariant Over Time

<iframe src="https://www.desmos.com/calculator/wdj1kujgqg?embed" width="650px" height="500px" style="border: 1px solid #ccc" frameborder=0></iframe>

<br>
<br>

To calculate the result of a swap, solve for $output$: 

\begin{aligned}
&(x - output)^{1-t}+(y + input)^{1-t}=k \\
&output=x-\left(k-\left(y+input\right)^{\left(1-t\right)}\right)^{\frac{1}{1-t}}
\end{aligned}

Fees are calculated as a percent of the yield:

\begin{aligned}
fee=(input-output)\ \times\ \phi
\end{aligned}

Currently, $\phi$ is set to .1

:information_source: See [Appendix A](https://paper.element.fi/#a-pricing-principal-tokens) in the Element Construction Paper for more details

## Configuring the Curve

**Time Stretch**

Intuitively, this parameter can be thought of like this:

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

### Goal 1:  Optimize the staking requirements for a particular APY


**Time Stretch vs Reserve Ratio**

<iframe src="https://www.desmos.com/calculator/l6ee0zvjoj?embed" width="650" height="500" style="border: 1px solid #ccc" frameborder=0></iframe>


### Goal 2: Price Discovery

**Time Stretch vs Price Discovery**

<iframe src="https://www.desmos.com/calculator/6chgtzfjx4?embed" width="650" height="500" style="border: 1px solid #ccc" frameborder=0></iframe>

### Selecting the 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:

![](https://i.imgur.com/M6UHNB9.png)

the green dashed line is the following equation:

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

and approximates the suggested $t_{stretch}$ for a given $APY_{PT}$.

:information_source: See [Appendix B](https://paper.element.fi/#b-convergent-curve-parameter-configuration) in the Element Construction Paper for more details

## Market Simulations

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

![](https://i.imgur.com/QYKf5Dh.png)

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,244,378 |                  1,558,271 |        12.38 |
|              10,000,000 |               282,196,292 |                  3,135,514 |        21.51 |

:information_source: See [Section 4.3](https://paper.element.fi/#43-staking-principal-tokens) in the Element Construction Paper for more details

## Leverage: Yield Token Compounding

**Calculate the number of PTs and YTs after N Compounds**

\begin{aligned}
Number\ of\ PTs\ &= P\cdot\left(1-R_{fixed}\right)^{N}\\
Number\ of\ YTs\ &=\frac{P\cdot\left(1-\left(1-R_{fixed}\right)^{N+1}\right)}{R_{fixed}}\\
APY_{boosted}&=\frac{P\cdot\left(1-\left(1-R_{fixed}\right)^{N+1}\right)}{R_{fixed}}\cdot R_{variable}\ +\ P\cdot\left(1-R_{fixed}\right)^{N}
\end{aligned}

$where$
- $P$ is the initial principal amount deposited
- $R_{fixed}$ is the fixed yield rate
- $R_{variable}$ is the variable yield rate

**APY vs Number of Compounds Given different Rates**
<iframe src="https://www.desmos.com/calculator/g8lhaynraj?embed" width="550px" height="500px" style="border: 1px solid #ccc" frameborder=0></iframe>

:information_source: See [Appendix C](https://paper.element.fi/#c-compounding-and-yield-with-element) & [Appendix D](https://paper.element.fi/#d-yield-token-compounding-formulation) in the Element Construction Paper for more details

## Element State Machine

**Symbology**

 :diamonds: is a decision point
 
 :black_square_button: is an interaction with the Element Protocol
 
<iframe frameborder="0" src="https://viewer.diagrams.net/?highlight=0000ff&layers=1&nav=1&title=Element%20Flow%20Diagram%20v2#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D1b-RdUBh9jALDOnHzjYI_62bgL11uE6qE%26export%3Ddownload" width="1150px" height="750px" style="border: 1px solid #ccc"></iframe>

## What Can Be Built On Element?

- Automated Leveraging
- Self paying loans
- Yield Ladders
- etc


## We Are Hiring

https://element.fi/careers

## Shoutouts

- Balancer Team
- Yearn Team
- [YieldSpace](https://yield.is/YieldSpace.pdf) authors:
:mega: Allan Niemerg
:mega: Dan Robinson
:mega: Lev Livnev

## The End :microphone: 
![](https://i.imgur.com/wLcl4cN.png)
