Staking
Add validators and delegate stake to the Avalanche primary network
Platform CLI provides commands to add validators and delegate stake on the Avalanche primary network.
Requirements
| Network | Validator Min | Delegator Min | Min Duration |
|---|---|---|---|
| Local | 1 AVAX | 1 AVAX | 24 hours |
| Fuji | 1 AVAX | 1 AVAX | 24 hours |
| Mainnet | 2,000 AVAX | 25 AVAX | 14 days |
Adding a Validator
All validators require a BLS proof of possession. You can provide this manually (recommended) or auto-fetch from a node endpoint.
Manual BLS Mode (Recommended)
platform-cli validator add-permissionless \
--node-id NodeID-BFa1paAAAA... \
--stake 2000 \
--duration 336h \
--delegation-fee 0.02 \
--bls-public-key 0x1234... \
--bls-pop 0x5678... \
--key-name mykey \
--network mainnetAuto-Fetch BLS from Node
platform-cli validator add-permissionless \
--node-id NodeID-BFa1paAAAA... \
--stake 2000 \
--duration 336h \
--delegation-fee 0.02 \
--node-endpoint http://validator.example.com:9650 \
--key-name mykey \
--network mainnetGet BLS Credentials
Use node info to retrieve BLS credentials from a running node:
platform-cli node info --ip validator.example.com:9650Node ID: NodeID-BFa1paAAAA...
BLS Public Key: 0x1234567890abcdef...
BLS PoP: 0xfedcba0987654321...Delegating Stake
Delegate AVAX to an existing validator:
platform-cli validator add-permissionless-delegator \
--node-id NodeID-BFa1paAAAA... \
--stake 100 \
--duration 336h \
--key-name mykey \
--network mainnetDelegation Fees
Validators charge a fee as a percentage of delegator rewards:
--delegation-fee value | Percentage | Meaning |
|---|---|---|
0.02 | 2% | Validator keeps 2% of delegation rewards |
0.05 | 5% | Validator keeps 5% of delegation rewards |
0.10 | 10% | Validator keeps 10% of delegation rewards |
Timing
Start Time
--start now # Default: 30 seconds from submission (5 minutes with --ledger)
--start 2026-02-01T00:00:00Z # RFC3339 formatPost-Durango, the P-Chain ignores the transaction start time — validation begins when the transaction is accepted. --start is retained for compatibility but has no on-chain effect on current networks.
Duration
Duration uses Go format (hours):
| Value | Period |
|---|---|
336h | 14 days (minimum on mainnet) |
720h | 30 days |
2160h | 90 days |
8760h | 365 days |
Reward Address
By default, rewards go to your P-Chain address. Specify a different address with:
--reward-address P-avax1xyz789...Auto-Renewed Staking (ACP-236)
An auto-renewed validator automatically restakes at the end of each cycle instead of expiring, optionally compounding its rewards. The configuration for the next cycle can be updated at any time by the owner address set when the validator was added.
Add an Auto-Renewed Validator
platform-cli validator add-auto-renewed \
--node-id NodeID-BFa1paAAAA... \
--stake 2000 \
--period 336h \
--delegation-fee 0.02 \
--auto-compound 1 \
--bls-public-key 0x1234... \
--bls-pop 0x5678... \
--owner-address P-avax1xyz789... \
--key-name mykey \
--network mainnet| Flag | Description | Default |
|---|---|---|
--node-id | Node ID to validate (required) | |
--stake | Stake amount in AVAX (network minimum applies) | |
--period | Auto-renewal cycle duration (e.g. 336h for 14 days) | 336h |
--auto-compound | Fraction of rewards to auto-compound (0.3 = 30%, 1 = 100%) | 1 |
--delegation-fee | Delegation fee (0.02 = 2%) | 0.02 |
--owner-address | Address authorized to update the auto-renew config | own address |
--reward-address | Reward address | own address |
--bls-public-key / --bls-pop | BLS credentials (recommended/manual mode) | |
--node-endpoint | Node endpoint to auto-fetch BLS (fallback mode) |
Update the Next-Cycle Config
Change the next cycle's period and auto-compound rate, or stop auto-renewal. Must be signed by the --owner-address set at add time, and references the original add-auto-renewed transaction ID.
platform-cli validator set-auto-renewed-config \
--tx-id 2QYfFcfZ9... \
--node-id NodeID-BFa1paAAAA... \
--period 720h \
--auto-compound 0.5 \
--key-name mykey| Flag | Description |
|---|---|
--tx-id | Original AddAutoRenewedValidatorTx ID (required) |
--period | Next cycle duration, or 0 to exit after the current cycle (required) |
--auto-compound | Fraction of rewards to auto-compound (required) |
--node-id | Validator node ID to narrow the authority lookup (optional, recommended) |
Next Steps
Is this guide helpful?