Bonds Settlements
How Marinade settles validator bids each epoch, with formula, worked example, and where to view settlements.
TL;DR: Each epoch, Marinade charges the validator's bond for static bids (CPMPE Γ active stake) and dynamic commission differences. Settlements run automatically at the start of each epoch for the epoch that just closed.
Overview
A settlement is the on-chain transaction Marinade creates each epoch to transfer SOL from a validator's bond to stakers, covering the validator's bid for the previous epoch's delegated stake. Settlements run automatically at the start of each epoch for the epoch that just closed.
What Gets Charged
Each epoch a validator receives Marinade stake, their bond is charged for two distinct components.
Static bid (CPMPE, cost per 1,000 SOL of delegated stake per epoch): A per-1,000-SOL charge based on the active Marinade stake delegated to you and the auction's realized yield for the epoch.
Dynamic commission bid: A charge based on the actual rewards earned that epoch and the difference between the validator's on-chain commission and the configured bond commission.
These charges are calculated independently and applied together in the settlement transaction.
Bonds Calculation Formula
The bid charged each epoch combines the static bid component and the dynamic commission component.
Bid Charged = Static Bid + Dynamic Commission Bid
Bid Charged = (Active stake from Marinade at end of epoch Γ Effective Bid) / 1000
+ (Total Rewards Earned from Marinade Stakers Γ Commission Rate)Where:
Active stake from Marinade: The total Marinade-delegated stake on the validator at the end of the epoch.
Effective Bid: The realized yield for the epoch in lamports per 1,000 SOL, derived from the auction. This is typically lower than the configured CPMPE since the last-price auction sets the realized yield to the lowest yield on the winning list. See Stake Auction Market for details on how realized yield is set. In source code, Effective Bid appears as
effBidorauctionEffectiveBidPmpe.Commission Rate: Calculated separately for inflation rewards, MEV (Maximal Extractable Value) rewards, and block rewards. Based on the difference between the on-chain commission and the configured commission in the bond. Marinade uses the lower value between the two (more favorable to stakers) as the rate stakers actually receive.
See Dynamic Bids for full mechanics of the commission portion.
Worked Example
Consider a validator with the following configuration in an epoch:
Active Marinade stake: 100,000 SOL
Configured CPMPE: 0.10 SOL per 1,000 SOL per epoch
Realized yield (effective bid): 0.08 SOL per 1,000 SOL (auction floor)
On-chain inflation commission: 5% (validator keeps 5% on-chain)
Configured bond inflation commission: 3% (validator commits to keeping only 3%)
Total inflation rewards earned from Marinade stake: 50 SOL
MEV and block rewards: 0 (omitted for clarity)
Static bid charge
The validator is charged 8 SOL even though their configured CPMPE was 0.10. The auction settled at 0.08, so the validator is only charged enough to deliver the realized yield.
Dynamic commission charge
On-chain, the validator's 5% commission keeps 2.5 SOL out of 50 SOL of inflation rewards on Marinade stake (stakers receive 47.5 SOL on-chain). The bond commission of 3% means the validator commits to keeping only 1.5 SOL. The difference of 2% is charged from the bond and delivered to stakers via settlement:
Total settlement charge
The validator's bond is debited 9 SOL at the start of the next epoch.
Where to View Settlements
Settlement history is published in several places.
PSR (Protected Staking Rewards) Feed Discord channel: The #psr-feed channel in Marinade Discord posts a per-epoch summary of all settlements, including totals by reason (Bidding, BondRiskFee, etc.) and per-validator amounts. Quickest way to see what was charged.
Auction scores API: https://scoring.marinade.finance/api/v1/scores/sam?epoch=X returns the auction outcome including per-validator allocations and bids. Replace
Xwith the target epoch.Pipeline outputs: Each epoch's full auction output is committed in the ds-sam-pipeline auctions folder under
<epoch>/outputs/results.json.Settlement data on Google Cloud: Raw settlement JSON is published to the marinade-validator-bonds-mainnet GCS bucket (Google login required).
PSR dashboard: The PSR dashboard shows the validator's bond balance and recent activity. Refreshes every few hours, so use the auction scores API or pipeline outputs for the freshest data.
Settlement Lifecycle
Settlements have a fixed lifecycle from creation to expiry.
Created at the start of the next epoch: A settlement for epoch X is created at the start of epoch X+1, once the snapshot at the end of epoch X is processed. This is when the bond is debited.
Active for 3 epochs: During this window, stakers can claim their portion of the settlement. The 3-epoch claim window is defined in the on-chain Validator Bonds config (
epochsToClaimSettlement). Stakers can begin claiming approximately 24 hours after the settlement is created, controlled by theslotsToStartSettlementClaimingparameter.Unclaimed funds return to the bond: Any SOL in the settlement that is not claimed by stakers within the active window is returned to the validator's bond when the settlement expires.
Extra SOL handling: A settlement may contain slightly more SOL from the bond than the strict charge requires. This allows Marinade to enforce the on-chain minimum of 1 SOL per stake account during distribution. The unused remainder returns to the bond on expiry.
To stay informed when settlements affect the bond, set up Validator Bond Notifications.
Related Mechanisms
The bond is the source for several distinct charges, each with its own trigger and formula. They can apply in the same epoch.
Activating Stake Fee: Charged once when new stake activates, scaled by how far the validator bid above the clearing rate.
Bid Reduction Penalty: Charged when a validator lowers their bid or raises their commissions after winning stake.
Bond Risk Reduction Mechanism: Charged when a validator's bond is underfunded relative to the active stake they hold.
Last updated
Was this helpful?