split-engine takes any yield-bearing vault share and mints two tradable SPL
tokens: PT (redeems 1:1 at maturity) and YT (receives all yield accrued
before maturity).
Accounts
Market
["market", vault, maturity].
UserPosition
["position", market, owner].
Instructions
MasterChef flow
update_rewards
Anyone can crank:- Read
vault.share_price(). delta = share_price - last_vault_share_price.- If
delta > 0:reward_per_share += delta × PRECISION / total_yt_supply(clamped at 1 if supply=0). last_vault_share_price = share_price.
reward_per_share, losses are
already absorbed at the vault layer (insurance fund + NAV).
Errors
NotMatured, AlreadyMatured, SupplyInvariantViolated, NoYieldToClaim,
MathOverflow.
Read next
PT / YT concept
Why split, worked example.
yield-amm
Where PT and underlying trade.

