bitcoin.conf field manual
Safe defaults for home and VPS operators. Conservative first. Sharp edges labeled. Pair with the setup guide and commands.
Stop Core cleanly before changing conf (bitcoin-cli stop / systemctl stop bitcoind). Mistyped RPC or datadir lines are easier to fix when you are not mid-write.
Settings that matter
| Setting | Effect | Risk / note |
|---|---|---|
dbcache |
RAM for UTXO cache; speeds IBD | Too high starves the OS; leave headroom |
prune |
Discard old blocks after validation | Does not skip IBD download; limits history serve |
listen |
Accept inbound P2P when network allows | May need port 8333; advertises a node |
rpcallowip |
Who may call RPC | Keep 127.0.0.1 unless you fully harden LAN auth |
datadir |
Chain location | Use when OS disk is tiny; preserve permissions |
proxy / listenonion |
Tor integration | Optional; see Tor guide |
Do not
- Do not set
rpcbind=0.0.0.0“temporarily” - Do not port-forward 8332
- Do not paste random conf packs from chat groups
- Do not disable security to chase a dashboard
- Do not assume prune = tiny IBD bandwidth
Why RPC hygiene matters: security basics.
Example — home pruned
dbcache=2048
listen=1
rpcallowip=127.0.0.1
prune=550
Example — home full
dbcache=4096
listen=1
rpcallowip=127.0.0.1
# no prune= line — requires ~1TB class disk in mid-2026
Example — VPS pruned
dbcache=1024
listen=1
rpcallowip=127.0.0.1
prune=550
# Optional: datadir=/mnt/volume/bitcoin
# Provider sees the VM — see /vps/ and Tor guide
Pi-oriented note
On Raspberry Pi 5 8GB, start nearer dbcache=1024 and prune unless you attached large NVMe for full history. Details: Pi node guide.
After changes
$ sudo systemctl start bitcoind
$ bitcoin-cli getblockchaininfo
$ ss -tlnp | grep 8332
# expect 127.0.0.1:8332 — not 0.0.0.0
Indexer / wallet stacks are separate — read Electrum server vs full node before enabling txindex or extra services. Maintenance rhythm: maintenance checklist.
FAQ
Where does bitcoin.conf live?
Usually ~/.bitcoin/bitcoin.conf for the user running bitcoind, or under the datadir you set. Match the path your systemd unit uses.
What is the safest RPC setting?
Keep RPC on 127.0.0.1 only (rpcallowip=127.0.0.1). Do not bind RPC to all interfaces or forward port 8332.
Does prune speed up initial sync?
No. Prune reduces retained block files after validation. IBD still downloads history once.