Yield Accrual Example
PT Redemption Example
Let's see how PT redemption works, both before and at expiry. Assume:
User holds: 1,000 PT tokens
PY index when market created: 1.0
Current PY index: 1.05 (5% yield accrued so far)
Scenario 1: Early Redemption (Before Expiry)
To redeem PT before expiry, you must combine it with YT:
PT to redeem: 1,000 PT
YT needed: 1,000 YT (must match PT amount)
Current PY index: 1.05
SY redeemable = asset_to_sy(py_index, pt_redemption_amount)
SY redeemable = pt_redemption_amount / py_index
SY redeemable = 1,000 / 1.05 ≈ 952.38 SYResult:
User redeems: 1,000 PT + 1,000 YT
User receives: ~952.38 SY
This is less than the original 1,000 SY because the PY index has increased
User can claim (1,000 - 952.38) = 47.62 SY, which came from holding 1,000 YT before the sale
Why less than original amount?
When you minted at py_index 1.0: 1,000 SY → 1,000 PT + 1,000 YT
PT represents a fixed number of "asset units" (1,000 assets at index 1.0)
When you redeem at py_index 1.05: Those 1,000 asset units convert to SY using the new index
Since SY has grown in value (index increased), 1,000 assets = 1,000/1.05 = 952.38 SY
Important: When redeeming PT + YT together, you're not claiming YT yield separately - the YT is just burned. To get the full value, you should claim YT yield first, then redeem PT + remaining YT.
Scenario 2: Redemption at Expiry
At expiry, the PY index is frozen at first_post_expiry_py_index. Let's say:
Understanding the "1 PT = 1 SY at expiry" guarantee:
The guarantee means PT is always redeemable for SY at expiry, but the amount depends on the PY index:
If PY index at expiry = 1.0 (no yield accrued): 1,000 PT → 1,000 SY
If PY index at expiry = 1.10 (10% yield accrued): 1,000 PT → 1,000/1.10 ≈ 909.09 SY
Why this makes sense:
PT represents a fixed number of asset units
As yield accrues, the PY index increases
At redemption, asset units are converted to SY using the current index
If you bought PT at a discount (e.g., 105 PT for 100 SY), and index stays at 1.0, you'd get 105 SY back
If index grows to 1.05, you'd get 105/1.05 ≈100 SY back
Key Insight: PT redemption converts asset units to SY using the current PY index. The index represents how much the underlying has grown, so redemption accounts for that growth. The "1:1" guarantee refers to redeemability, not a fixed exchange rate.
YT Interest Accrual Example
Now let's see how YT holders accrue and claim yield. Assume:
User mints YT when: py_index = 1.0 (market just created)
User receives: 1,000 YT tokens
Time passes: 6 months later
Current py_index: 1.05 (5% yield accrued)
User wants to claim accrued yield
Step 1: Initial State
Step 2: Yield Accrual Over Time
Step 3: Calculate Claimable Yield
Step 4: Apply Interest Fee (if any)
Step 5: Update User's Index
Result:
User claimed: 47.62 SY
User still holds: 1,000 YT tokens
User's index updated to: 1.05
Continuing the Example: If user waits another 6 months and PY index reaches 1.10:
Key Insights:
Yield accrues continuously as PY index increases
Users can claim anytime - the protocol tracks their last index
Each claim uses the difference between current and previous index
The formula accounts for the fact that YT value changes with index
More frequent claims = smaller amounts per claim, but same total over time
At Expiry: When the market expires, YT becomes worthless (all yield has been distributed).
Last updated