VPS One-Liner
What this does
One command on a fresh Ubuntu or Debian VPS turns the box into a running, faucet-funded, auto-bonded Valdium validator. It installs the node binary, generates a Dilithium3 validator key, pulls chain genesis, syncs the chain, requests a faucet drop, posts a bonding transaction, and starts the validator as a systemd service. Total elapsed time from the command running to "validating blocks" is around five minutes on a modest 2-core VPS with a fast disk.
It's the right tool for operators who already manage Linux servers and want the cheapest path to a working testnet validator. It is not for production mainnet validators — see "What this won't do" near the bottom of the page.
The command
Sudo-able shell on a fresh Ubuntu 22.04+ or Debian 12+ machine:
curl -sL https://valdium.xyz/install-vps | shThat's the whole thing. The installer is idempotent — re-running it on the same machine reuses the existing key and re-syncs from wherever it left off.
What happens, in order
The installer script (you can read the full source at https://valdium.xyz/install-vps before piping it to a shell — recommended for any curl-bash install) walks these steps:
- System check. Verifies Ubuntu 22.04+ or Debian 12+, 2+ CPU cores, 4+ GB RAM, 10+ GB free disk. Bails with a clear message if any of these are missing.
- User and directories. Creates a non-login
valdiumsystem user,/var/lib/valdiumfor chain data,/etc/valdiumfor config. - Binary install. Downloads the latest signed
valdium-nodebinary for your architecture, verifies the BLAKE3 checksum against the release manifest, drops it in/usr/local/bin. - Key generation. Runs
valdium key newas thevaldiumuser. The Dilithium3 keypair lands in/var/lib/valdium/keystore/with0600permissions. - Genesis pull. Fetches the testnet genesis block and chain spec from the public seeds.
- Sync. Catches up to head from the network. On testnet this is currently a few minutes; mainnet will be longer.
- Faucet drip. Posts a faucet request for the validator's address. Adds 1,000 testnet VLD — enough to cover the minimum bond.
- Bond. Submits a bonding tx with 1,000 VLD (the testnet validator minimum). The validator is now in the active-set queue.
- Systemd unit. Drops
/etc/systemd/system/valdium-node.service, enables it, starts it. The service runs asvaldium, restarts on failure, and logs to journald.
After it finishes
The installer prints the validator address, the bonding tx hash, and a one-line status check. To verify the node is healthy:
systemctl status valdium-node
# active (running) since ...
journalctl -u valdium-node -n 50
# tail of the last 50 log lines
valdium-cli node status
# height, peers, sync state, validator-active flagIf valdium-cli node status says validator: active and peers > 4, your node is producing blocks when its slot comes up.
Where things live
| Path | What's there |
|---|---|
/usr/local/bin/valdium-node | Node binary |
/usr/local/bin/valdium-cli | CLI binary |
/var/lib/valdium/chain/ | Block database |
/var/lib/valdium/keystore/ | Validator key (sensitive) |
/etc/valdium/node.toml | Node config — peers, ports, log level |
/etc/systemd/system/valdium-node.service | Systemd unit |
Upgrading
Re-running the same one-liner upgrades the binary in-place, preserves the keystore and chain data, and restarts the service. Major-version upgrades may need a config migration; the installer detects and prompts.
Uninstalling
curl -sL https://valdium.xyz/install-vps | sh -s -- --uninstallStops the service, removes the binary, leaves the chain data and keystore in place. Add --purge to delete those too. Make sure you've saved your validator key elsewhere before purging.
What this won't do
The one-liner is opinionated for fastest-path testnet operators. It will not:
- Use a hardware signer. The key sits on disk, encrypted with file permissions only — fine for testnet, not appropriate for mainnet stakes. Production validators should integrate an HSM.
- Configure a firewall. The node binds to a public port; you should still front it with
ufwor your cloud's security groups. - Set up monitoring. The systemd service writes to journald; that's where logs live. For metrics see Monitoring & Logs.
- Manage staking rewards. Rewards accrue to the validator address but stay claimable; the installer doesn't auto-compound them.