Setting up a Solana validator is a powerful way to contribute to the network's decentralization, security, and performance. This comprehensive guide walks you through the technical process of launching a mainnet validator while emphasizing best practices for security, performance, and long-term operability. Whether you're exploring staking, node operation, or blockchain infrastructure, this article delivers actionable insights with an emphasis on clarity and real-world application.
We’ll focus exclusively on the technical setup—covering hardware requirements, key management, system configuration, and validator deployment—while excluding topics like validator economics, stake acquisition strategies, or subsidy programs. By the end, you’ll have a fully functional validator ready for mainnet or testnet participation.
What Is a Solana Validator?
A Solana validator is a server that participates in the network’s consensus mechanism by validating transactions, producing blocks, and voting on cluster state. The core software powering this role is the solana-validator binary, which enables your machine to:
- Sync with the Solana cluster
- Process and propagate transactions
- Vote on new blocks
- Serve RPC requests (if configured)
Validators can also function as RPC nodes, but there’s an important distinction: an unstaked, non-voting node only serves data and doesn’t take part in consensus. A true validator stakes SOL and earns rewards based on its uptime and voting accuracy.
Understanding the difference between validators, RPC providers, and staked nodes is crucial for proper setup and network contribution.
Hardware Requirements for Running a Validator
To run a reliable Solana validator, robust hardware is non-negotiable. As of 2025, the recommended minimum specs are:
- CPU: 12 cores / 24 threads (AMD EPYC or Intel Xeon preferred)
- RAM: 256 GB DDR4 or higher
- Storage: Two 1TB+ NVMe SSDs (ideally in RAID0 for increased IOPS)
- Network: 10 Gbps connection with low latency
- OS: Ubuntu LTS (other Debian-based systems may work but are less tested)
👉 Discover high-performance infrastructure options optimized for blockchain validators.
While cloud providers offer flexibility, they often fall short in performance and cost-efficiency compared to dedicated data centers. For optimal results, consider renting bare-metal servers from trusted providers or joining the Solana Foundation Server Program, which facilitates access to decentralized hosting solutions.
Additionally, contributing to network decentralization means choosing underrepresented Autonomous System Numbers (ASNs) and geographic regions. Some delegation programs even reward validators for improving geographic diversity.
Install the Solana CLI Locally
Before touching your server, set up the Solana Command Line Interface (CLI) on a secure local machine. This ensures sensitive keys are generated offline and never exposed to your validator environment.
Install the CLI using official instructions, then configure it:
solana config set --url https://api.mainnet-beta.solana.comFor improved reliability, especially during peak traffic, consider using a premium RPC endpoint from services like Helius.
Next, create a wallet for test transactions:
mkdir -p ~/.config/solana
solana-keygen new --outfile ~/.config/solana/id.json
solana airdrop 1Always use separate wallets for testnet and mainnet to prevent accidental fund loss due to command misdirection.
Create Your Validator’s Vote Account
The vote account is central to your validator’s identity and functionality. It requires three keypairs:
- Identity Keypair – Used by the validator to sign votes (must be on the server)
- Vote Account Keypair – Identifies the vote account (public key only needed after creation)
- Withdraw Authority Keypair – Master control for rewards and changes (keep offline)
Generate them locally:
solana-keygen new -o identity.json
solana-keygen new -o vote.json
solana-keygen new -o withdraw.jsonSecure the Withdraw Authority
For maximum security, generate the withdraw key as a paper wallet:
solana-keygen new --no-outfileWrite down the recovery phrase securely and verify it:
solana-keygen verify ASKNever store this key on any connected device.
Optional: Vanity Public Keys
Want a custom public address? Use the grind command:
solana-keygen grind --starts-with MYVAL:1This generates keys matching your prefix—ideal for branding but time-intensive for long prefixes.
Finalize the Vote Account
Run this command to create the account:
solana create-vote-account --fee-payer ~/.config/solana/id.json vote.json identity.json withdraw.jsonYou can later adjust commission rates (default: 100%) to attract stake:
solana vote-update-commission 8 ASK👉 Learn how advanced staking strategies can boost validator revenue.
Configure the Validator Server
Prepare your server with these steps:
Update Ubuntu:
sudo apt update && sudo apt upgradeCreate a dedicated
soluser:sudo adduser sol- Apply system tuning per Solana Labs recommendations to increase file descriptor limits and memory mapping.
Storage Setup
Use two SSDs: one for accounts data, one for ledger storage. Alternatively, configure RAID0 for better I/O performance.
Create directories under /home/sol:
mkdir -p /home/sol/{accounts,ledger,snapshots,logs}Install Solana CLI on the Server
Log in as the sol user and install the Solana CLI. Building from source is recommended for security and compatibility.
Use solana-install for seamless future updates.
Optional: Run Jito Validator Client
Jito adds MEV (Maximal Extractable Value) capabilities, allowing validators to earn additional fees by optimizing transaction inclusion.
While it introduces slight latency, the revenue upside makes it attractive for competitive operators. Setup involves integrating Jito’s block engine and relayer components.
Launch Your Validator
Create a validator.sh script with essential flags:
#!/bin/bash
exec solana-validator \
--identity ~/identity.json \
--vote-account ~/vote.json \
--rpc-port 8899 \
--entrypoint entrypoint.mainnet-beta.solana.com:8001 \
--expected-genesis-hash 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d \
--log ~/logs/solana-validator.log \
--accounts /home/sol/accounts \
--ledger /home/sol/ledger \
--limit-ledger-sizeMake it executable and run:
chmod +x validator.sh
./validator.shMonitor sync progress:
solana catchup ~/identity.jsonSet Up Monitoring and Alerts
Reliable operation demands proactive monitoring.
Use solana-watchtower to track health, active stake, and balance thresholds:
env PAGERDUTY_INTEGRATION_KEY= solana-watchtower --validator-identity ...Alternatively, expose the getHealth RPC endpoint for custom monitoring tools.
For enterprise-grade observability, consider SaaS platforms like Datadog or Splunk—though they require careful log handling and network configuration.
Community tools like Stakewiz also offer Telegram-based alerts for validators.
Delegate Stake to Your Validator
A validator earns rewards only when it has delegated stake. To delegate:
- Create stake account keypairs
- Fund the account
Delegate using:
solana delegate-stake <STAKE_ACCOUNT_PUBKEY> <VALIDATOR_VOTE_PUBKEY>
Stake activates at the next epoch. Use solana stake-account to monitor status.
Publish Validator Metadata
Boost visibility by publishing your validator’s info:
solana validator-info publish "My Validator" \
--website "https://myvalidator.com" \
--icon-url "https://myvalidator.com/icon.png" \
--keypair identity.json \
--details "High-performance node focused on uptime and decentralization"This metadata appears on explorer sites like validators.app.
Frequently Asked Questions (FAQ)
Can I run a Solana validator on a VPS or cloud server?
While technically possible, most cloud environments lack the consistent IOPS and low-latency networking required for reliable validation. Dedicated hardware is strongly recommended.
How much SOL do I need to run a validator?
There’s no fixed minimum, but you’ll need enough SOL to cover voting costs (~1–2 SOL/day) and attract delegators. Identity accounts should hold at least 1 SOL for transaction fees.
What is MEV, and should I enable it?
MEV allows validators to earn extra income by reordering profitable transactions. Using Jito’s client introduces complexity but can increase revenue by 5–10%. Evaluate based on your operational capacity.
How do I secure my validator against attacks?
Keep your withdraw authority offline, apply system hardening (firewall, SSH keys), monitor logs continuously, and avoid running unnecessary services on the validator machine.
Why isn’t my validator voting?
Common causes include poor network connectivity, insufficient stake, being behind on ledger sync, or incorrect configuration. Check logs and use solana vote-account to verify status.
Can I change my vote account after creation?
No. The vote account pubkey is permanent once created. If you need a new one, you must create a fresh identity and go through delegation again.
By following this guide, you’ve taken critical steps toward becoming a trusted participant in the Solana ecosystem. With proper maintenance, monitoring, and security practices, your validator can deliver consistent performance and contribute meaningfully to network resilience.
👉 Explore secure wallet solutions ideal for managing validator keys and staking rewards.