Announcements
January 29, 2026

More Control, Better Yields: Introducing Dynamic Commission for Validators

Validators can now set custom commission rates for Marinade stake—offering more flexibility and control in how they compete for delegation.

More Control, Better Yields: Introducing Dynamic Commission for Validators

he Marinade Stake Auction Marketplace (SAM) is taking another step toward easier participation for validators. Marinade is introducing “Dynamic commission bidding”. Let's break it down.

DS SAM Auction - Basics and Terminology

Let's start our journey with a general overview of the auction.

Let's start with some entry points:

The idea of the auction is simple: deliver the best yield for stakers who authorized Marinade to manage their SOL, splitting it amongst multiple Solana validators to support the decentralization of Solana. Marinade manages funds with the responsibility of a good treasurer and asks (and expects) the validators to ensure well-managed systems without downtime, while striving to deliver the best yield on Solana for its stakers.

The approach Marinade utilizes is via tracking validators' performance and the auction system where validators may compete for stake to be delegated to them. When a validator wants to join the auction, they need to create a bond that is a pre-funded "vault" that can be charged by Marinade as a bidding event and/or a penalty event (i.e., PSR). The bond is managed by an on-chain validator bonds program. All funds in the bond are stored as stake accounts that are delegated to the validator vote account that the bond belongs to. With that, the funded SOL still earns rewards for the validator himself.

The core of the auction is that a validator may bid for getting the stake from the Marinade stake pool. Bidding means offering more SOLs to stakers, on top of what the staker normally earns for staking to a validator and their commission setup. For the validator, a higher APY offered to stakers means more stake can be assigned from Marinade's pool. So, the validator defines on-chain commission—inflation and MEV—and, on top of that, can configure a bid in Marinade and offer more to Marinade stakers; see SAM—how it works.

Marinade runs the auction calculation once at the start of each epoch. The charging of bonds for auction results and downtime penalty events occurs similarly at the start of the epoch, but always for the range of the previous epoch. That means when the auction is calculated at the epoch X then it is charged from bond at the epoch X+1.

Marinade Staking products

As a brief sidetrack, we should note that Marinade supports 3 types of "pools" that stakers can use to let Marinade manage their SOLs.

One product is the first released Liquid Staking pool on Solana. Here, staker places his SOL under the management of the Marinade Liquid Staking program and gains back an mSOL token that can be used in DeFi, and that can be exchanged back to SOL whenever. All staking rewards and bond earnings are deposited into this liquid staking pool, thereby increasing the mSOL token's SOL price.

The second product is native staking that works with core Solana staking delegation functionality. Any SOL staked with Marinade this way is transferred to a stake account owned by the original owner. That way, there is no possibility that Marinade may withdraw or transfer the SOL from the original owner. This removes the risk associated with transferring the SOL into the ownership of an on-chain pool program (which occurs when using the liquid staking program). The user only lends "a delegate authority" of the stake account under Marinade management. Any additional rewards earned by charging bonds are automatically credited to the user's stake account, thereby increasing the owner's SOL balance at every epoch.

The third option is Marinade Select, which stakers may use when they want to stake only with KYB-ed validators. From a technical perspective, the Select program works the same way as described above for native staking.

A last option is Marinade Recipes, which lets you earn rewards in tokens other than SOL.

Only(!) SOLs that are staked with the liquid staking solution and native staking are part of the DS SAM auction, see at max yield product. Funding under select program and recipes is managed a different way.

The stake managed by Marinade, split by these offerings, can be checked at stats.marinade.finance.

Configuring the auction

The entry point for creating the bond, funding it, and configuring the auction is the validator bonds CLI.

Validators need to install it as described in the CLI installation guide and then proceed with funding.

After that, validators may configure the following parameters:

On-chain commission configuration

Validator sets up its inflation commission in the standard validator's operational way. The same applies to the MEV commission when running the MEV-capable validator program instance.

This defines the baseline for how many SOL are shared from validators to stakers and the base APY that the validator earns for stakers.

Validator Bonds CLI configuration

Until the dynamic commission configuration was introduced, validators could only configure auction parameters with max stake wanted and static bid CPMPE parameters. From now on, they can vary between "static bidding" with CPMPE parameter and dynamic commission by setting up the commission with CLI parameter to influence the commission shared only from Marinade assigned stake. All the bonds configuration parameters are charged from the validator's funded bond account.

What are the different parameters that can be configured in the bond?

The first parameter of the bond configuration is the amount of SOL funded. Validators must have a funded bond sufficient to permit assigning the stake in the auction. When the bond is not funded enough, no new stake is delegated, and Marinade may start undelegating. The expectation for the SOLs funded in the bond changes based on the auction results, as the auction calculates the validator's bond to cover the auction winner's spends for the next 12 epochs. The safe starting point is to maintain a bond of 1 SOL for every 2000 SOLs wanted to be delegated from Marinade

The next configuration is max-stake-wanted.  It sets the maximum total stake this validator wants to receive through the auction. This parameter only prevents the validator from receiving additional stake beyond the specified limit. It does not reduce or remove stake that has already been delegated. To reduce your current stake, the validator must unfund the bond to exit the auction. After exiting, you can rejoin with a lower max-stake-wanted value if desired.

The first bidding parameter is cpmpe, an abbreviation for "cost per mille per epoch," and we refer to this parameter as the static bidding configuration. Validators configure how many lamports they want to pay for a 1000 SOL delegated from Marinade pool as the yield shared to stakers.

On top of that, validators may consider using a second bidding parameter, commission configuration (dynamic commission bidding), in which they set a lower commission than their on-chain commission setup, or can set a commission for block rewards. That parameter allows validators to lower their commission specifically for Marinade stake, thereby improving the APY. With this, the validator may configure not only the inflation and MEV commissions but also the block rewards commission. That option is currently not available natively on Solana, and might only become available once SIMD-0123 is finalized.

The configuration options are inflation-commission <bps>, mev-commisson <bps> and block-commission <bps>. The commission specifies the portion of the particular commission that the validator keeps. The remainder is shared with stakers through bond claims. The commission value can be negative (max 100%/10,000 bps), meaning the validator declares to pay more than the rewards it earns in the epoch.

More details on Auction Stake delegation

In addition to the APY, the stake distribution is influenced by other Marinade internal configuration parameters. The configuration is stored in the ds-sam-pipeline repository and defines, for example, what maximal share of the whole Marinade Max Yield TVL can be delegated to a single validator (see maxMarinadeTvlSharePerValidatorDec) - which is currently 4% and will be redefined to 15% after the implementation of MIP-19. MIP-19 brings additional improvements including auction stake priority based on bids, bond risk reduction mechanism with penalties for insufficient bond coverage, and removal of the underutilized MNDE Enhanced Stake feature. Other configuration parameters support decentralization (i.e., maxMarinadeStakeConcentrationPer...) that help share the stake across more countries, data centers, etc.

Another limitation that Marinade faces with stake delegation is the Solana delegation process. Any delegation change of a stake account from one validator to another takes 2 epochs. First, the stake needs to be marked as "deactivating". In this epoch, the validator still receives inflation rewards, as it still votes with the weight of that stake amount. At the start of the next epoch the stake is deactivated and can be immediately delegated to another validator in the state activating. The deactivated and activating stake gains no rewards as the validator has not gotten its weight for voting in the Solana consensus processing. Only at the start of the next epoch (i.e., X+2 after deactivation) the stake is fully activated under the new validator.

Because of this, the rebalancing to a new validator is not only slow but costly, and Marinade tries to rebalance as little as possible. Marinade defines a cap for the amount of stake that can be unstaked (moved into deactivating) in one particular epoch. The cap is a Marinade internal datapoint defined as a percentage of whole TVL per epoch.

With that, a validator may be considered as being out of the auction after the auction epoch calculation, but will not be immediately undelegated. As the per epoch undelegation amount is capped, a validator that had SOLs and is still behaving properly can conserve delegated SOLs (SAM Active) for several epochs despite the auction SAM Target - the number of SOLs that the auction wants to delegate to validator - was decreased to 0 SOLs.

The process of charging SOLs from bonds is a separate process that is not impacted by auction delegation decisions, but only by the validator's bidding setup is and the amount of Marinade stake the validator receives in a particular epoch. Using those data points, the bonds are charged and the results of the bond charging can be followed on the Marinade Discord, in the channel #psr-feed. Settlements created from bond charges remain claimable for approximately 4 epochs; any unclaimed funds return to the bond.

Auction calculation

The auction works on a "last price auction" basis. Marinade lines up validators by their yield potential and distributes stake accordingly. The "realized yield" gets set to the lowest yield in that list (the last validator picked). This number is referenced as the effective bid as it defines the real number of SOLs charged from the bond for 1000 SOL staked. Validators with higher yields don't pay their entire bid—they pay the realized yield instead.

How they actually get charged depends on how they bid:

  • Static bids (CPMPE): Marinade charges based on the realized yield and stake amount. Since the yield is lower than what they asked for, the charge is often smaller too—unless they're the last validator on the list.
  • Dynamic commission bids: Marinade evaluates the validator's actual earnings and charges a commission based on real performance. If a validator has 5% commission on-chain but agreed to 3% in their bond, stakers get back an extra 2%. Marinade charges that 2% difference from the validator's bond.

Both payment styles work side-by-side based on how each validator chose to bid, and both will respect the last-price auction mechanism.

Technical details on auction processing

The code of the auction calculations is public and can be reviewed in the GitHub repository ds-sam. Every epoch processing is evaluated via GitHub Actions at the repository ds-sam-pipelines . That is where you can see, under the folder /auctions (auctions/outputs/results.json), the auction results with all datapoints for a particular validator.

The code for the on-chain validator bonds program and the pipeline processing is in the GitHub repository validator-bonds. The pipeline process is not public, but the results can be recalculated and verified (see settlement distribution info), and the calculation results are available on Google Cloud Storage.

Final hints on Dynamic Bidding in auction

The starting point to see what is the current auction state is the dashboard psr.marinade.finance. The static bid is clear, as it consists of the number of SOLs (note: CLI uses lamports) per 1000 staked SOL. For dynamic commission, the payout in SOLs does not vary with the staked SOL amount but rather depends on the validator's ability to harvest MEV and secure block priority rewards. The auction recalculates the SOL gains to calculate the bid

  • i.e., how much 1 staked SOL earned SOLs from rewards - and the sum of dynamic commission gains and static bidding gains are combined into the final number of validator's offering to pay out for 1000 SOL staked. This is the number used to determine the winners in the auction, while the actual charge is the effective bid, calculated using the last-price auction method as described above.

The dashboard's Run Simulation feature can help, allowing validators to test different bid setups for a particular validator and see how the auction is recalculated.

That said, there is no direct recommendation on how to set your validator bid.. This is up to the validators to determine which mix of dynamic and static bidding to use, in a way that is convenient for their strategy.

Summary

The Marinade DS SAM dynamic commission feature gives validators a new way to bid for stake in the auction. Instead of offering only a fixed, static bid (CPMPE - cost per mille per epoch), validators can now configure lower commission rates specifically for Marinade-delegated stake. This means they can share a bigger portion of their inflation, MEV, and even block rewards with stakers, while keeping their on-chain commission settings as they are for other delegations.

Here's what matters for validators joining or participating in the auction:

Configuration basics: Validators need to create and fund a bond account using the validator bonds CLI. The bond acts as a pre-funded vault that Marinade charges based on your auction bids and delegation amount. A safe starting point is 1 SOL in the bond for every 2000 SOL you want delegated from Marinade.

Bidding options: You can use static bidding (CPMPE - paying fixed lamports per 1000 SOL per epoch), dynamic commission (setting lower commission rates than your on-chain setup), or mix both approaches. Dynamic commissioning accounts for inflation, MEV, and block rewards. Commission values can even go negative if you want to pay extra from your bond.

How the auction works: Marinade uses a "last price auction" model. Validators are ranked by yield potential, and stake is distributed accordingly. The "effective bid" - the actual charge - is set to the lowest yield from validators who got stake (the last one picked). If you bid higher, you don't pay your full asking price; you pay this lower realized yield instead.

Important limits: The max-stake-wanted parameter sets a ceiling on how much stake you can receive but does not reduce stake you already have. To leave the auction or reduce your stake, you need to un-fund your bond. Marinade also has caps on per-validator TVL share (currently 4%, planned to increase to 15% with MIP-19) and limits on how much stake can be undelegated per epoch to minimize the cost of moving stake around.

Where to track: Watch the auction results at psr.marinade.finance and bond charging events in the Marinade Discord #psr-feed channel.

The choice between static and dynamic bidding depends on your strategy. There's no single right answer - it's about what fits your validator operation and risk tolerance.

Stay in the Loop

Keep up-to-date with all things Marinade by signing up for our newsletter.