#22559·solana

Raise stake minimum delegation

Author: brooksprumoCreated Jan 18, 2022Updated Jan 5, 2025
Labelsenhancement

Problem

Stake accounts have a very low minimum delegation requirement (just 1 lamport, on top of being rent exempt). This may cause the number of stake accounts to be higher than necessary, which affects both #20384 and #21604.

Proposed Solution

Raise the minimum delegation for stake accounts. Right now the minimum delegation is 1 lamport. I feel the minimum delegation should be much higher (i.e. >= 1 SOL).

Details

Minimum Balance and Rent

Currently, stake accounts must be rent exempt. At the moment, this amount cannot be staked, so an additional 1 lamport is required for new accounts. For the sake of this proposal, the rent exempt reserve concept shall not be changed, just the additional balance. This means that the minimum delegation is currently 1 lamport, and I'm proposing increasing that to 1 SOL.

Creating Accounts

No changes needed.

Delegating

The minimum delegation amount will increase from 1 lamport. A new error StakeError::InsufficientDelegation will indicate if the requested delegation amount is below the minimum.

Split/Withdraw

Stake accounts' balance shall stay at-or-above the minimum balance, similar to creating stake accounts. With the one exception of withdrawing all lamports/closing the account.

If the stake account is already delegated, then both the source and destination accounts must retain a delegation amount at least the minimum delegation.

Querying the Minimum Delegation Amount

As to not change the stake account's data structure, new functions/instructions will be added to query the minimum delegation for stake accounts.

Governance/Voting

Voting/approving this proposal will use the feature proposal program to handle the governance.

Related

Other Protocols

Ethereum

Eth 2 requires 32 ETH to stake to be a validator. Smaller amounts of eth can be staked in stake pools. link

Avalanche

The minimum amount required to stake to a delegator is 25 AVAX (not counting pools), and 2000 AVAX to be a validator. link

Polkadot

From what I can tell, nominating has a minimum of 80 DOT (about to be 120 DOT), which I believe is like staking to a delegator. link

Fantom

Staking on Fantom has a 1 FTM minimum. link

Tasks

  • #23259
  • #23303
  • #23456
  • #23442
  • #22663
  • #23426
  • #24019
  • #24690
  • #25202
  • #26564
  • #24603
  • Carry out the feature proposal
    • Testnet
    • Devnet
    • Mainnet-Beta
  • Remove old feature gate code after sufficient time has passed
  • #25336
  • #26695

Features

  • #24057
  • #24357