LogoLogo
  • User Guides
  • Developers
  • Introduction
  • PRIMITIVE
    • Liquid Staking Bonds
    • PSOL
    • YSOL
  • PROTOCOL V1
    • Architecture Overview
    • Instructions
    • Deployed Programs
  • VALIDATOR ONBOARDING
    • Requirements
  • SECURITY
    • Audits
    • Bug Bounties
Powered by GitBook
On this page
  • Overview
  • ​Minting
  • ​Pricing
  • ​Redeeming
  1. PRIMITIVE

YSOL

PreviousPSOLNextArchitecture Overview

Last updated 9 days ago

Overview

A yield token (YSOL) is an SPL token that represents the yield component of a fixed-term bond. Upon maturity, the holder of the YSOL can redeem the token for the underlying yield. 1 YSOL is equal to the yield generated by 1 PSOL until maturity.

For example, say Alice stakes 100 SOL into Pye for a period of 3 months starting in September 2025. She receives 2 tokens:

  • 100 PSOL-SEP24-NOV25

  • 100 YSOL-SEP24-NOV25

The yield component (100 YSOL-SEP25-NOV25) will receive all the yield generated by the principal component (100 PSOL-SEP25-NOV25) throughout those 3 months. Alice can redeem her 100 YSOL for the underlying yield at maturity.

Minting

To calculate the number of YSOL tokens that will be issued upon deposit, we use the following formula:

YSOLmint=P⋅(T−tnT−t0)YSOL_{mint} = P \cdot \left(\frac{T-t_n}{T-t_0}\right) YSOLmint​=P⋅(T−t0​T−tn​​)

where:

  • PPP is the principal amount in native units (eg. SOL),

  • t0t_0t0​ is the issue date of the bond,

  • tnt_ntn​ is any date before maturity

  • TTT is the maturity date of the bond

Here are some scenarios:

  • , and yield tokens are minted 1:1 to principal PP,

where:

At maturity, YSOL token holders can redeem their YSOL tokens for the underlying yield pro rata. To calculate the repayment we use:

where:

Unlike principal tokens, YSOLs are not minted 1:1 to the deposit. The number of YSOL tokens minted are relative to the total lockup period T−t0T-t_0T−t0​.

User stakes on the issuance date of the bond, where T−tn=T−toT - t_n = T-t_oT−tn​=T−to​

User stakes during the middle of the term, where T−tn<T−toT - t_n < T-t_oT−tn​<T−to​ , and less yield tokens are minted, proportional to the time remaining,

User stakes ahead of the issuance date, where (T−tn)>T−to(T - t_n) > T-t_o(T−tn​)>T−to​, and more yield tokens are minted, proportional to time remaining until issuance starts.

Pricing

For a single-strip bond, where only one cash flow (either a single coupon payment or the principal) is stripped and priced separately, the PVcoupon-stripPV_{\text{coupon-strip}}PVcoupon-strip​ is given by:

PVcoupon−strip=C(1+y)tPV_{coupon-strip}= \frac{C}{(1+y)^{t}}PVcoupon−strip​=(1+y)tC​

CCC is the single coupon payment being stripped and traded,

ttt is the time in years until the coupon payment is received,

yyy is the discount rate or yield.

Redeeming

Yredeem=YT1Y_{redeem} = \frac{YT}{1}Yredeem​=1YT​

YSOLYSOLYSOL is the number of yield tokens being redeemed,

YSOLredeemYSOL_{redeem}YSOLredeem​​ is the yield being paid out (eg. SPL).

​
​
​