Bitcoin node maintenance checklist
A calm operating rhythm for home and VPS Bitcoin Core nodes — check what matters, skip the dashboard theater.
A Bitcoin node is infrastructure, not a pet. The goal is boring uptime: stay near the tip, keep disk headroom, apply verified upgrades, and avoid fiddling with RPC. This checklist is the maintenance rhythm that matches the commands library and the setup guide.
What “healthy” looks like
After initial sync, a healthy node usually shows:
verificationprogressat or very near1.0initialblockdownloadfalse- At least a few peers (
getconnectioncount> 0) - Comfortable free disk (do not live at 95%+ full)
- systemd (or your process supervisor) reporting active without crash loops
If you are still in IBD, maintenance means triage — not polishing configs. Use the sync and disk sections on commands first.
Weekly checklist (5 minutes)
$ bitcoin-cli getblockchaininfo
$ bitcoin-cli getconnectioncount
$ df -h ~/.bitcoin
Monthly checklist
Monthly is also when you decide whether inbound port 8333 still matches your threat model. Opening it helps the network; it also advertises that you run Bitcoin. Tor operators should re-read Tor and privacy.
Release-day upgrade ritual
When a new stable Bitcoin Core ships:
- Read the release notes for breaking config changes
- Download from bitcoincore.org and verify signatures
- Stop cleanly:
bitcoin-cli stoporsystemctl stop bitcoind - Install binaries to the same path your unit uses
- Start and confirm
getblockchaininforeturns promptly - Watch logs for a few minutes — then leave it alone
$ bitcoind --version
$ sudo systemctl stop bitcoind
# verify + install new binaries (see /setup/)
$ sudo systemctl start bitcoind
$ bitcoin-cli getblockchaininfo
$ journalctl -u bitcoind -n 50 --no-pager
If the disk is full or IBD is already failing, fix disk and peers first. Upgrading on a full filesystem can make recovery harder. Hardware and VPS disk guidance: hardware, VPS.
When to leave the node alone
Healthy nodes do not need daily restarts, mempool “tuning,” or random conf experiments. Avoid:
- Exposing RPC “just for a dashboard”
- Deleting files under
blocks/orchainstate/by hand - Running untrusted third-party “node optimizer” scripts
- Stacking every self-host app on the same undersized disk as the chain
If you want wallet indexing (Electrum server, etc.), treat it as a separate capacity decision — RAM and disk — not a maintenance checkbox. Start with whether you even need a node: do you need a node?
Failure modes worth a page, not a panic
- Progress stuck — slow disk, no peers, or normal IBD plateaus; use commands before reinstalling
- Disk climbing — expected on full nodes; prune or expand before 100%
- Service restart loops — permissions, corrupt stop, or out-of-space; read journald
- RPC refused — often “working as designed” with localhost binding
Print this page or keep the checklists open on your phone. The point is a repeatable habit, not a second career as a sysadmin.
Home vs VPS maintenance differences
On home hardware you own the power, the disk, and the LAN. Watch for silent UPS failures, full root partitions from unrelated downloads, and router changes that drop inbound 8333. On a VPS you also watch provider emails about host maintenance, bandwidth graphs, and volume size. The Bitcoin Core checks are the same; the failure domains differ. Keep provider API keys off the node image when you can.
If you travel often and leave a home node unattended, prefer systemd restart policies and disk alerts over SSH-ing from random networks. Remote admin belongs behind your own VPN or a jump host — not an open RPC port. Security baseline: security basics.
Logs worth keeping vs logs worth ignoring
Most debug.log chatter is normal peer churn. Act on repeated disk errors, LevelDB complaints, or crash loops in journald. Ignore the urge to paste full logs into public chats — they can include IPs and paths. Redact first. The commands process section shows safe, short tails.
Capacity planning without spreadsheets
Once a year, re-check whether prune still matches your goals and whether the disk still has months of growth headroom. Full-node operators should assume multi-hundred-gigabyte growth over years. Pruned operators should still leave OS headroom. Revisit pruned vs full if your use case changed (for example, you now want to serve historical blocks or run heavier indexers).
FAQ
How often should I check my Bitcoin node?
A healthy node needs a quick weekly glance at sync, peers, and disk. Deeper review monthly. Do not restart daily for no reason.
Do I need monitoring software?
No. bitcoin-cli, systemctl/journalctl, and df are enough for most home operators. Add alerts only if you already run monitoring elsewhere.
When should I upgrade Bitcoin Core?
After a new stable release is published on bitcoincore.org, verify signatures, stop cleanly, install, and restart. Do not chase every release candidate.