Raise stake minimum delegation
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
- Reducing the minimum delegation for the stake pool program
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
Source: solana-labs/solana