Run a Validator
TL;DR
Three ways to run a validator, all producing the same blocks with the same consensus code:
- Desktop app — download Valdium Operator, create a wallet, click Stake. Zero terminal.
- VPS one-liner —
curl -fsSL testnet.valdium.xyz/install/validator | bashon a fresh Ubuntu/Debian box. Fully automated. - Build from source — available once the repository is public. Use Method 1 or 2 for now.
How Valdium validators work
Validators on Valdium are members of a rotating ~100-validator BFT committee. Each epoch (roughly every 4 hours), the protocol selects committee members from the eligible candidate set using a stake-weighted lottery. Selected validators take turns proposing blocks and sign every block with their ML-DSA-65 (Dilithium3) post-quantum key.
A block becomes final when 2/3 of committee voting power has pre-committed — typically within 2 seconds of proposal. No reorgs are possible once a block is finalized.
Read more: Consensus & Validators.
Requirements
- Hardware — 4-core CPU, 4 GB RAM, 40 GB SSD, 50 Mbps connection (Raspberry Pi 4 is the supported floor)
- OS — Ubuntu 22.04+, macOS 14+, or Windows via WSL2
- Stake — you must hold VLD in your wallet and bond it as economic collateral. Minimum self-bond: 1,000 VLD on testnet, 32,000 VLD on mainnet at launch. The stake-weighted lottery means more bonded VLD = higher chance of being selected into the active committee and a larger share of block rewards.
- Uptime — your node should be online for the duration of each epoch you're selected to validate (~4 hours). Liveness-aware committee selection forgives short downtime; persistent absences will rotate you off the active set.
See Hardware Requirements for the full specification.
Method 1 — Desktop app
The easiest path. Recommended for first-time validators, non-technical users, and anyone who wants a GUI.
- Download Valdium Operator for your OS (macOS, Windows, or Linux).
- Open the app. Create a new wallet, or import an existing one with your recovery phrase.
- Click Sync. The app downloads the chain from genesis — takes 5–15 minutes on the testnet.
- Click Stake. Enter the amount of VLD to bond (minimum 1,000) and confirm.
- The app registers your validator with the protocol and starts producing blocks when your epoch comes up. The system tray icon shows your status in real time.
That's it. The app keeps your node running in the background even when the main window is closed.
Method 2 — VPS one-liner
Recommended for operators who want their validator running 24/7 on a dedicated machine, or who already have a server.
On a fresh Ubuntu 22.04 or Debian 12 VPS, run:
curl -fsSL testnet.valdium.xyz/install/validator | bashThe script does everything: installs dependencies, generates a Dilithium3 key, syncs the chain, registers your validator, and writes a systemd unit so the node restarts on boot. You'll be prompted once for the amount of VLD to bond.
After install, check status with:
valdium status
systemctl status valdiumMethod 3 — Build from source (coming soon)
Once the repository is public, Method 3 will be: clone the repo, build the binary, write your own systemd unit. Full control over every flag and config. Until then, use Method 1 or Method 2 — they run the same validator binary under the hood.
Staking & bonding
To activate your validator, you must bond at least 1,000 VLD as self-stake. Your bonded VLD is the economic collateral that secures consensus — if you double-sign or repeatedly go offline during your assigned epochs, a portion of your stake will be slashed.
You can top up your bond at any time. Delegators can also stake to your validator, increasing your selection weight without you having to put up more capital yourself. Delegated stake is slashed proportionally if you misbehave.
Unbonding & withdrawing
Stake is locked for a 14-day unbonding period after you initiate withdrawal. During this window your validator stops earning rewards but remains slashable for past actions. After 14 days the funds become available in your wallet again.
Slashing
- Double signing — signing two conflicting blocks at the same height. Slash: 5% of stake + immediate ejection from the committee.
- Liveness failure — missing more than 90% of votes in an epoch you were selected for. Slash: 0.01% + temporary committee suspension.
- Equivocation — voting for conflicting proposals in the same round. Slash: 1% + temporary suspension.
Slashing parameters are governance-tunable. Read the full slashing spec for the current values.
Monitoring your node
The desktop app shows live status, peer count, current epoch, and rewards earned. For CLI installs, useful commands:
valdium status # current sync state, peers, validator status
valdium logs -f # tail the node logs
valdium rewards # claimable + pending rewards
valdium peers # connected peer list
journalctl -u valdium # systemd logs (if installed via one-liner)A Prometheus exporter ships with the node binary on port 9100 — point Grafana at it for dashboards. See Monitoring & Logs for the full setup.