Skip to main content

Perpetual Yield Token (PYT)

Intro​

Timeless perpetual yield tokens (PYT) represent streams of future yield generated by the corresponding principal. 1 PYT always corresponds to 1 underlying principal, which makes accounting easier.

For example, say we have a PYT that uses the Yearn USDC vault to generate yield, then 1 PYT represents the right to claim the yield generated by 1 USDC in the Yearn USDC vault from now to forever in the future.

PYTs are useful because their prices move in the same direction as the yield rates of the yield-generating vaults they use, so it’s easy to use them to speculate on yield rates. They're also useful for yield boosting, where you buy PYT off the market at a discount to boost the yield you earn.

How yield rate changes affect PYT's price​

Intuitively, it makes sense that PYT's price changes when the yield rate changes: the more yield you can earn by holding PYT, the more value you can extract over time, the more premium you would demand when someone wants to buy your PYT.

However, it might not be obvious exactly which mechanisms connect the yield rate to PYT's price. Here is a basic overview.

When the yield rate goes up πŸ”Ίβ€‹

  • Suppose that the yield boost πŸš€ is at 1.5x and the yield rate is 10% per year 🌾, then by yield boosting πŸš€ PYT holders πŸ§‘β€πŸŒΎ earn an extra 5% per year πŸ’Έ.
  • If the yield rate goes up πŸ”Ί to 50% per year 🌾🌾🌾🌾🌾, then PYT holders πŸ§‘β€πŸŒΎ earn an extra 25% per year πŸ’ΈπŸ’ΈπŸ’ΈπŸ’ΈπŸ’Έ
  • This makes buying/holding PYT πŸͺ™ more attractive ✨, so people buy more PYT πŸͺ™, pushing the price up πŸ”Ί
  • When PYT's πŸͺ™ price goes up πŸ”Ί, the yield boost πŸš€ goes down πŸ”» (since it's 1 / PYT's price), which makes buying PYT less attractive πŸ’©, eventually stopping the PYT price increase πŸ›‘

When the yield rate goes down πŸ”»β€‹

  • Suppose that the yield boost πŸš€ is at 1.5x and the yield rate is 50% per year 🌾🌾🌾🌾🌾, then by yield boosting πŸš€ PYT holders πŸ§‘β€πŸŒΎ earn an extra 25% per year πŸ’ΈπŸ’ΈπŸ’ΈπŸ’ΈπŸ’Έ.
  • If the yield rate goes down πŸ”» to 10% per year 🌾, then PYT holders πŸ§‘β€πŸŒΎ only earn an extra 5% per year πŸ’Έ
  • This makes buying/holding PYT πŸͺ™ less attractive πŸ’©, so people buy less PYT πŸͺ™, and PYT holders πŸ§‘β€πŸŒΎ will likely also sell their PYT πŸͺ™ to use their money for more profitable purposes (e.g. trading NFTs). As a result, PYT's πŸͺ™ price goes down πŸ”».
  • When PYT's πŸͺ™ price goes down πŸ”», the yield boost πŸš€ goes up πŸ”Ί (since it's 1 / PYT's price), which makes buying PYT more attractive ✨, eventually stopping the PYT price decrease πŸ›‘

How this affects NYT​

The price of PYT + the price of NYT always equals 1 (in terms of the underlying asset), since if it was anything else, you can do a profitable arbitrage by either minting or burning PYT + NYT for 1 underlying asset.

This is why NYT's price moves in the opposite direction as PYT's price (and thus the yield rate).

PYT price model​

One thing that has caused confusion to friends who we have introduced Timeless to is: how do you price PYTs & NYTs?

This is a natural question, since even the concept of a yield token that's perpetual is baffling to some. After all, if you hold PYT, you have the right to claim the yield generated by the underlying principal forever, so won't the value of PYTs be infinite?

As you will see, this is far from the case, and there does exist a way to rationally price PYTs & NYTs. This is because we can employ exponential discounting, which basically says we can treat the value of money in the future to be less than that of money in the present, because of the various ways we can generate returns if we had money now rather than later, such as yield farming or investing. Exponential discounting makes the value of PYTs finite, which makes it possible for us to price them.

In the rest of this section, we will describe exactly how to price PYTs and NYTs using some basic math. If you're uncomfortable with math, feel free to skip ahead to the observations section to see what we have observed from the results.


We will first consider regular yield bearing tokens. Suppose we have xx USDC’s worth of yUSDC. Our yUSDC has two types of value: principal value and yield value.

Principal value refers to the value of the underlying principal, which equals to xx in our case. We will denote principal value as

P(x)=xP(x) = x

Yield value refers to the value of the future yield generated by the principal. One might mistakenly think that the yield value is always infinite since the time horizon is infinite, but that’s only assuming we do not do any discounting (i.e. treat the value of 1 USDC at some future time to be less than that of 1 USDC in the present). Here, we will use exponential discounting with discount factor β∈(0,1)\beta \in (0, 1). We will denote yield value as

Yβ(x)=∫0∞βty(x,t)dtY_\beta(x) = \int_0^\infty \beta^t y(x, t) dt

where y(x,t)y(x, t) is the instantaneous yield earned by xx amount of principal at time tt.

One interesting note is that when you price the yield bearing tokens only the principal value is considered, since you can always mint/burn them just using the principal, but it’s obvious that the yield value is also valuable, since you would never give away the yield stream generated by your principal for free. This makes the yield value sort of ethereal / imaginary.

When we β€œsplit up” the yield bearing tokens into xx PYT and xx NYT, we will split up the principal value and yield value between them. Specifically, the principal value will be divided evenly between the PYT and NYT, and the yield value will be assigned to the PYT. We will define the virtual value of PYTs and NYTs as the following:

VPYT(x)=12P(x)+YΞ²(x)=12x+YΞ²(x)V_{PYT}(x) = \frac12 P(x) + Y_\beta(x) = \frac12 x + Y_\beta(x)
VNYT(x)=12P(x)=12xV_{NYT}(x) = \frac12 P(x) = \frac12 x

Virtual value represents the total value of PYT/NYT by adding up its principal value and its yield value. It is virtual in the sense that the PYT/NYT is not traded at this valuation, since if it did then the prices of PYT and NYT would add up to more than 1, but it is useful for determining the relative pricing between PYT and NYT since it captures both their principal value and their yield value.

We know the prices of PYT and NYT add up to 1, hence the price of PYT is:

PricePYT=VPYT(x)VPYT(x)+VNYT(x)=12x+YΞ²(x)x+YΞ²(x)=1βˆ’x2(x+YΞ²(x))Price_{PYT} = \frac{V_{PYT}(x)}{V_{PYT}(x) + V_{NYT}(x)} = \frac{\frac12 x + Y_\beta(x)}{x + Y_\beta(x)} = 1 - \frac{x}{2(x + Y_\beta(x))}

This expression isn’t that useful if we don’t replace YΞ²(x)Y_\beta(x) with something more specific. Suppose that

y(x,t)=Ξ»xy(x, t) = \lambda x

which means the yield is generated at a constant rate of Ξ»\lambda (e.g. if the time unit is year, Ξ»=0.1\lambda = 0.1 means the APR is 10%). Linear growth is used rather than exponential growth because the yield is assumed to be continuously claimed by the PYT holder rather than compounded.

Thus, we have

YΞ²(x)=Ξ»x∫0∞βtdt=Ξ»xln⁑ββt∣t=0∞=βˆ’Ξ»ln⁑βxY_\beta(x) = \lambda x \int_0^\infty \beta^t dt = \left. \frac{\lambda x}{\ln \beta} \beta^t \right\vert_{t=0}^\infty = - \frac{\lambda}{\ln \beta} x
∴PricePYT=1βˆ’12(1βˆ’Ξ»ln⁑β)\therefore Price_{PYT} = 1 - \frac{1}{2(1 -\frac{\lambda}{\ln \beta})}

Another interesting note is that even though the yield bearing token’s yield value is β€œethereal” such that it doesn’t affect the pricing, when we split the yield bearing token into PYT & NYT the yield value becomes β€œcorporeal” and does affect the pricing.

Observations​

Now that we have a pricing formula for PYT, we can play around with it, plug in some numbers, and make some observations. We will use Ξ²=0.85\beta = 0.85, and use year as the time unit.

Desmos link

Firstly, we can see that as the yield rate Ξ»\lambda increases, the slope of the price curve decreases and approaches 0. This means that PYTs are more sensitive to yield rate changes when the yield rate is low. For instance, if the yield rate increases from 5%5\% to 10%10\%, the price of PYT goes from 0.61760.6176 to 0.69050.6905, a 11.80%11.80\% increase. If the yield rate increases again from 10%10\% to 15%15\%, however, the price of PYT goes from 0.69050.6905 to 0.740.74, only a 7.17%7.17\% increase.

Secondly, we can see that the price of PYT is insensitive to yield rate changes. As we just saw, doubling the yield rate from 5%5\% to 10%10\% only increases the price of PYT by 11.80%11.80\%, which is far lower than the 100%100\% increase in the yield rate. This property is caused by the fact that the price of PYT is bounded between 0.50.5 and 11, meaning at best it can do a 2x, making PYTs usually very insensitive to yield rate changes.

PYTs are more suitable for yield leveraging rather than speculation. The most basic yield leveraging strategy is using your principal to buy PYTs on the market, versus depositing your principal into a vault directly. The amount of leverage you can get is 1PricePYT\frac{1}{Price_{PYT}}, and the insensitivity of PYT means the leverage is usually significantly above 1x, while your principal's value is relatively stable. Of course, the leverage you get from this basic strategy is still pretty low, with a maximum of 2x leverage, but you can increase the leverage by employing a more complex strategy. For example, if there is a lending pool for the PYT, you can leverage up your PYT position to boost the yield leverage you get.

Thirdly, while the price of PYT is doomed to be insensitive, the same is not true of the price of NYT. Instead of ranging between 0.50.5 and 11, it ranges between 00 and 0.50.5, meaning it can theoretically increase by any proportion. For example, if the yield rate decreases from 80%80\% to 20%20\%, the price of NYT goes from 0.08440.0844 to 0.22420.2242, a 165%165\% increase. Thus, NYTs are more suitable for yield speculation than PYTs.