Getting stake: SFDP, stake pools and delegation programs
Most validators start with little or no stake of their own. The rest comes from delegation programs (stake the program owns and hands out by criteria), stake pools (liquid-staking tokens that spread their deposits over a validator set), and delegators you win yourself. This page covers the steps every program shares, then each program’s own onboarding.
Before you apply anywhere
Section titled “Before you apply anywhere”Every program below expects these. Most remove you automatically if one of them lapses.
-
A BLS key on your vote account, and enough balance in the account. Under Alpenglow a vote account without a BLS key is excluded from consensus, and each admitted account pays a per-epoch validator admission ticket (VAT, SIMD-0357) from its balance. The VAT depends on slot time, so check its current value. Several pools remove validators whose vote account is underfunded at an epoch boundary. See Key setup and management.
-
A deliberate commission. Commission caps are the most common reason a validator is excluded. Typical caps today are 5–10% on inflation rewards and up to 10% on MEV, and some programs require 0%. Remember that commission changes take two epochs to apply.
-
Published validator info, signed by your identity:
solana validator-info publish --keypair identity.json "<NAME>" \--website <URL> --icon-url <URL_OF_360x360_PNG>solana validator-info get <IDENTITY_PUBKEY>Keybase is no longer supported for validator info. Ignore older guides that ask for a Keybase username.
-
A track record. Several programs require a minimum number of active epochs before they consider you, and the Solana Foundation program requires testnet participation.
-
A current client version. Programs increasingly enforce minimum versions per epoch.
Solana Foundation Delegation Program (SFDP)
Section titled “Solana Foundation Delegation Program (SFDP)”An application program: you apply, you’re vetted, then you have to keep meeting the criteria every epoch.
Onboarding
- Create separate testnet and mainnet identity keypairs.
- Apply through the program page: KYC, a description of your contributions to the ecosystem, and a participation agreement.
- Register your testnet and mainnet keys as instructed after approval. Registered keys can’t be changed later, so use the keys you’ll keep.
- Run your testnet validator. Testnet stake is assigned in signup order, and stopping your testnet node can cost you your place in the queue.
- Start your mainnet validator promptly once onboarded (the criteria page sets the deadline in epochs).
- Track your status with the validator search.
What the criteria cover (see the criteria page for current values): inflation and MEV commission caps, a minimum client version per client that rises on a published schedule, limits on concentration by data center and by ASN, a cap on total stake, testnet performance, metrics reporting, responding to critical events, and rules on transaction ordering and shred release.
How the stake works
- Matching stake: the Foundation matches part of the stake you attract from others, up to a cap.
- Residual stake: whatever is left is split among validators that meet the criteria, so the amount varies by epoch.
- Timing: delegation can take several epochs after you qualify, plus warm-up.
- Retirement: long-tenured validators that haven’t attracted enough independent stake are rotated out to make room for new ones. SFDP is meant to bootstrap you, not to be your permanent stake.
Jito (JitoSOL, via the StakeNet Steward)
Section titled “Jito (JitoSOL, via the StakeNet Steward)”Automatic. There’s no application: the on-chain Steward program scores every validator each cycle.
- Entry: a minimum number of consecutive voting epochs and a minimum stake (see the Steward README).
- Filters: caps on inflation and MEV commission over a lookback window, an all-time commission cap, not on the blocklist, not in the superminority, and a minimum performance ratio. Under Alpenglow, performance is measured as rewards received versus expected, not vote credits.
- BAM: since JIP-39, validators must have run BAM (Jito’s block assembly marketplace) for most recent epochs to receive undirected JitoSOL stake. Jito’s published docs lagged this change, so the Steward source code and JIP-39 are the authority.
- Ranking: among validators that pass, lower inflation commission ranks first, then lower MEV commission, then age, then performance. The top validators get equal shares of the pool’s undirected stake.
- Directed stake (JIP-27): large holders can direct JitoSOL stake to specific validators that meet stricter criteria. Onboarding for that is brokered by the Jito Foundation, and there’s no open application.
- Live parameters:
steward-cli view-config, or Jito’s StakeNet dashboard.
Marinade (native and mSOL, via the Stake Auction Marketplace)
Section titled “Marinade (native and mSOL, via the Stake Auction Marketplace)”An auction: you post a bond and bid for stake each epoch.
npm i -g @marinade.finance/validator-bonds-clivalidator-bonds -um init-bond --vote-account <VOTE_ACCOUNT_PUBKEY> --validator-identity ./identity.jsonvalidator-bonds -um fund-bond-sol <VOTE_ACCOUNT_PUBKEY> --from <FUNDING_KEYPAIR> --amount <SOL>validator-bonds -um configure-bond <VOTE_ACCOUNT_PUBKEY> --authority <BOND_AUTHORITY_KEYPAIR> \ --cpmpe <LAMPORTS> --max-stake-wanted <LAMPORTS>validator-bonds -um show-bond <VOTE_ACCOUNT_PUBKEY>- The bond protects stakers (Protected Staking Rewards): it pays them for downtime, mid-epoch commission increases and, under Alpenglow, epochs where your vote account wasn’t admitted. It stays delegated to you. Size it with the guidance in the onboarding guide and the floor in
auction-config.json. - Bids: a static bid (
--cpmpe), a commission-based bid, or both. An unset--max-stake-wantedmeans no cap. Lowering a bid after you’ve won stake incurs a penalty. - Eligibility:
- Uptime relative to the network over recent epochs, measured from rewards under Alpenglow, so skipped leader slots count against you.
- A supported client version.
- A funded bond.
- A vote account funded above the VAT minimum.
- Concentration limits.
- Check yourself with the SAM simulator and the PSR dashboard, which shows why you’re ineligible.
- Stake matching: Marinade also matches part of your external and SFDP stake automatically, and your bids apply to matched stake too.
JPool (JSOL)
Section titled “JPool (JSOL)”Mostly automatic once you meet the baseline and post a bond. One tier, Community Good, takes an application that its Validator Council scores.
- Baseline:
- Commission caps on inflation and MEV.
- A published name and avatar.
- Not on a blocklist.
- Not in the superminority.
- Non-JPool stake below a cap.
- A bond.
- An Alpenglow-ready client with a registered BLS key and a vote account funded for VAT.
- Allocation: pool slots fill in tiers: Community Good, then Direct Stake (validators that attract direct JSOL stake), then Performance (ranked by expected yield).
- Bond: one part scales with your total stake, and another covers any shortfall against the pool’s target APY. You deposit it from the JPool app (Validators → Bond).
BlazeStake (bSOL)
Section titled “BlazeStake (bSOL)”Automatic, with human review.
- Eligibility: commission limits by tier, and validators above a stake threshold need 0% commission and 0% MEV commission. Validators in the superminority or delinquent are excluded.
- Scoring draws on public APY and validator-scoring sites.
- Custom Liquid Staking lets users direct bSOL to a specific validator, so you can share your own link:
https://stake.solblaze.org/app/?validator=<VOTE_ACCOUNT_PUBKEY>.
DoubleZero Delegation Program (DZDP)
Section titled “DoubleZero Delegation Program (DZDP)”An infrastructure program. You must:
- connect to DoubleZero;
- meet minimums for stake, commission, active epochs and uptime;
- and, since May 2026, publish shreds to DoubleZero Edge, which isn’t on by default.
Stake goes to Edge publishers, plus a decentralization bucket for validators outside Europe. Setup is in the DoubleZero docs.
Your own LST (Sanctum)
Section titled “Your own LST (Sanctum)”Instead of waiting for pools to come to you, you can launch a liquid staking token for your own validator and market it to delegators. Sanctum’s branded-LST process starts with a form. It has a one-time setup fee and a default yield fee. Its earlier per-validator “automated LSTs” are deprecated, and the old Socean pool was folded into Sanctum in 2024.
Keeping the stake
Section titled “Keeping the stake”The most common reasons validators lose delegated stake:
- Raising commission. Many programs remove you instantly, and some count your all-time maximum.
- An underfunded vote account at an epoch boundary, so you aren’t admitted for an epoch.
- Missing the minimum version after a required upgrade.
- Poor performance or delinquency: missed votes, skipped leader slots, long downtime.
- Concentration limits: too much stake in your data center, ASN or country.
- An empty bond, for the programs that use one.
Sources
- Solana Foundation Delegation Program
- SFDP delegation criteria
- SFDP FAQ
- Agave CLI validator-info flags (cli/src/validator_info.rs @ v4.4.0)
- Anza docs, Publishing validator info
- Jito StakeNet Steward (README and scoring source)
- JIP-39, the next phase of JitoSOL economics (BAM requirement)
- JIP-27, directed staking to the Jito stake pool
- Marinade SAM onboarding guide
- Marinade SAM eligibility criteria
- Marinade auction config (live parameters)
- JPool, How to join the delegation program
- JPool, Inclusion and removal criteria
- JPool, Bonds
- BlazeStake delegation strategy
- DoubleZero Delegation Program
- DZDP Phase II delegation rules update (2026-04-22)
- Sanctum, Launching your own LST
- SIMD-0357, Alpenglow validator admission ticket
Content CC BY 4.0 · code snippets CC0 · site code MIT ·contribute· maintained by Vortex