Mechanism
Overview
Pye uses a rewards splitting mechanism to separate staking capital into principal and reward tokens. Although this design is similar to the one used by fixed-reward protocols (ie. Pendle, Exponent), we do not employ this mechanism for the purpose of price discovery for points and speculative value of rewards. The primary intention behind the reward separation of our tokens is to allow users to trade principal and rewards independently. As a matter of fact, unlike, price discovery protocols, the PTs on Pye are 1:1 redeemable for SOL and do not accrue fixed rewards.
Principal Tokens
A principal token (PT) is an SPL token that represents the principal component of a fixed-term lockup. At maturity, it is redeemable 1:1 for the original deposit. PTs do not generate any rewards. All rewards produced by the principal is distributed to RT token holders.
Minting
When a user stakes with Pye, they are issued Principal Tokens (PT) and Reward Tokens (RT) representing their principal and future rewards, respectively. To calculate the amount of PT tokens that will be issued we use the following formula:
where:
NPT is the number principal tokens to mint,
P is the principal amount in native units (eg. SOL),
As the formula suggests, PTs are minted 1:1 to the number of tokens deposited as defined by the constant 1.
Redeeming
At maturity, PT token holders can redeem their tokens for the underlying principal pro rata. To calculate the repayment we use:
where:
p is the number of PT the holder redeems,
P is the total principal backing the pool,
NPT is the total supply of PTs outstanding.
Reward Accrual
After each Solana epoch, staking rewards are automatically added to the stake account, increasing the number of SOL it contains. While the principal tokens (PTs) remain fixed and redeemable 1:1, the reward tokens (RTs) represent the incremental value that accrues from this compounding process.
We can formalize the initial value (backing) to be:
where:
s0 is the initial deposit
P is the principal deposit amount in SOL.
At the end of each epoch t, the stake account grows by the effective staking reward rate rt. The value after t epochs is:
After T epochs (maturity), the stake account balance is:
where:
S0=P = initial deposit
rt already accounts for validator commission, inflation rate, MEV, etc.
The rewards is the difference between the maturity value and the initial deposit:
Therefore:
PT holders redeem their tokens for exactly P units of SOL, independent of reward.
RT holders redeem their tokens for the residual rewards R, distributed pro rata to the number of RT tokens they hold.
Reward Tokens
A reward token (RT) is an SPL token that represents the rewards component of a fixed-term bond. Upon maturity, the holder of the RT can redeem the token for the underlying rewards. 1 RT is equal to the rewards generated by 1 PT 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 PT-SEP25-NOV25100 RT-SEP25-NOV25
The rewards component (100 RT-SEP25-NOV25) will receive all the rewards generated by the principal component (100 PT-SEP25-NOV25) throughout those 3 months. Alice can redeem her 100 RT for the underlying rewards at maturity.
Minting
To calculate the number of RT tokens that will be issued upon deposit, we use the following formula:
where:
P is the principal amount in native units,
to is the issue date of the bond,
tn is any date before maturity
T is the maturity date of the bond
Unlike principal tokens, RTs are not minted 1:1 to the deposit. The number of RT tokens minted are relative to the total lockup period T−t0.
Here are some scenarios:
User stakes on the issuance date of the bond, where T−tn=T−t0 , and reward tokens are minted 1:1 to principal P,
User stakes during the middle of the term, where T−tn<T−to , and less reward tokens are minted, proportional to the time remaining,
User stakes ahead of the issuance date, where T−tn>T−t0, and more reward tokens are minted, proportional to time remaining until issuance starts.
Redeeming
At maturity, RT token holders can redeem their tokens for the underlying rewards pro rata.
The total rewards accrued at maturity is R=ST−P.
Let NRT represents the total supply of RT tokens outstanding for that maturity.
If a holder redeems y units of RT tokens, their proportional share is:
where:
r is the number of RT tokens redeemed by the holder
NRT is the total RT tokens outstanding
ST=S0⋅∏t=1T(1+rt) is value of the stake account at maturity
P is the original deposit amount.
Last updated