Program

Pye Accounts

Pye Accounts are a new staking product that extend Solana’s native stake accounts with additional data structures to support:

  • Custom Reward Commissions

  • Stake Account trading

This upgrade comes with additional improvements that allow stake accounts to become composable with DeFi applications.

Anatomy

When a validator issues a Pye Account:

  1. Stake Account Creation: A new stake account is created and delegated to the validator.

  2. Timelock Applied: The stake account is wrapped in a time-based lock, preventing early withdrawal until a defined maturity timestamp.

  3. Commission Structure: The Pye Account includes a data structure that specifies how staking rewards are split between validator and the staker for that maturity.

  4. Tokens: The lockup is tokenized into two components:

    • Principal Token: Redeemable for the original staked SOL at maturity.

    • Yield Token: Redeemable for the staking yield accrued over the lockup period

Key Features

Timelock

Prevents stakers from withdrawing until maturity is met. The Pye timelock is different than the native lockup authority that exists in stake accounts. Pye uses a custom timelock instruction in order to allow previously delegated stake accounts to be merged into the Pye Account as a valid form of deposit. Otherwise, if the Pye Account were to use the native timelock authority it'd limited to only accepting deposits from stake accounts with the same authorities and lockup.

Upon deposit the Pye Account becomes the stake and withdraw authority. This allows the program to timelock the stake and allow for depositing/withdrawing stake during the lifecycle of the lockup.

Custom Reward Commissions

Today, validators are only able to charge their stakers a flat commission. This is done directly at the vote account layer, where they can set the commission parameter - which represents the percentage of reward kept by the validator. At the epoch boundary, this commission is paid out to the vote account and the remainder is distributed pro rata to all delegating stake accounts. Depending on the validator's setup, MEV tips can be routed as well through platforms like Jito and Paladin.

Pye is introducing custom commission structures to stake accounts, allowing validators to set custom commissions to each of Solana's staking reward streams:

  • Inflation: Programmatic emissions coming from Solana's inflation schedule.

  • MEV: Tip payments from Jito.

  • Block Rewards: Fees users pays validators for block inclusion, also referred to as Priority Fees.

#[derive(AnchorDeserialize, AnchorSerialize, Clone, Default, Debug)]
pub struct RewardCommissions {
    pub inflation_bps: u16,
    pub mev_tips_bps: u16,
    pub block_rewards_bps: u16,
    pub padding: [u8; 2],
}

Through a combination of on-chain data (e.g., RewardCommissions) and off-chain indexing (via the Pye CLI), validators can automate accounting operations and payments, ensuring they meet the commercial terms of their Pye Accounts.

With Pye’s latest protocol upgrade (v2.2), validators can also issue fixed-yield stake accounts. For example, assume there are 185 epochs in a year and a validator commits to pay a given staker a fixed 10% APY through a Pye Accounts. If the staker delegates 100 SOL to the account, the validator is obligated to pay 0.054 SOL each epoch, which compounds to the agreed 10% APY.

In conclusion, Pye Accounts enable validators to issue both fixed- and variable-yield stake accounts. The performance of variable-yield accounts depends on the validator’s commission structure (RewardCommissions) and Solana’s underlying economic activity (e.g., MEV, priority fees). Fixed-yield accounts, by contrast, require the validator to make the same predetermined payment every epoch, regardless of network conditions.

SPL Token Program

When stakers deposit funds into a Pye Account, the program generates two tokens:

  • Principal Token: Redeemable for the locked principal at maturity. Receives no yield.

  • Yield Token: Redeemable for the yield generated by the principal token.

1 YT is equal to the yield generated by 1 PT until maturity. Both principal and yield tokens are SPL tokens, designed to be composable across AMMs, orderbooks and lending protocols.

Version History

*Note: SA means Stake Account

Feature
SA
V1
V2
Description

Deposit SOL

Staker can deposit native SOL.

Deposit Stake Account

Stakers can deposit existing stake accounts.

Flat Commission

Validator charges flat commission

Inflation Commission

% of inflation validator charges.

MEV Commission

% of MEV rewards validator charges.

Block Reward Commission

% of block rewards validator charges.

Fixed Yield

Stakers earn a fixed APY.

DeFi Composability

SPL token representation of the stake account.

Last updated