The Complete bitcoin.conf Reference Dictionary (Advanced Edition)
The Complete bitcoin.conf Reference Dictionary (Advanced Edition)
In this final section, we provide a detailed dictionary of the most powerful and often misunderstood configuration flags available in Bitcoin Core. This serves as your "Field Manual" for advanced tuning.
Section 1: Performance and Resource Management
-
dbcache: (Default: 450) Sets the size of the database cache in MiB. For IBD, use at least 4000. For steady-state, 1000 is usually enough. -
par: (Default: 0) Number of script verification threads. Setting this to 0 auto-detects your CPU. Positive numbers set a specific thread count. Negative numbers leave that many cores free. -
maxsigcachesize: (Default: 32) Sets the maximum size of the signature verification cache in MiB. Increasing this can speed up block processing on busy nodes. -
maxscriptcachesize: (Default: 32) Similar to sigcache, but for script execution results. -
dbbatchsize: (Default: 16MB) The size of the database write batch. Larger values can improve disk efficiency during IBD.
Section 2: Network and Connectivity
-
listen: (Default: 1) Whether to accept incoming connections. Turn this off for "Stealth" nodes. -
discover: (Default: 1) Whether to try to discover your own public IP address. -
upnp: (Default: 0/1) Uses Universal Plug and Play to open a port on your router. Recommended for beginners, discouraged for privacy-conscious users. -
natpmp: Similar to UPnP but for Apple/modern routers. -
maxconnections: (Default: 125) Maximum number of peers. Lower this on Raspberry Pis. -
maxuploadtarget: (Default: 0) Sets a daily limit (in MiB) on how much data you serve to other nodes. Perfect for users with ISP data caps. -
onion: (Default: 127.0.0.1:9050) The address of your Tor proxy. -
externalip: Manually specify your public IP if the auto-discovery fails. -
v2transport: (BIP 324) Enables the new encrypted P2P transport protocol. Highly recommended for modern nodes.
Section 3: Wallet and Security
-
disablewallet: (Default: 0) Disables the wallet sub-system. Essential for security on public servers. -
wallet: (Default: "") Specify the name of the wallet to load. You can load multiple wallets by repeating this flag. -
avoidpartialspends: (Default: 0) Advanced privacy feature to prevent "Coin Linking." -
discardfee: (Default: 0.0001) Fees below this rate are considered "Dust" and will be discarded. -
keypool: (Default: 1000) Number of spare keys to maintain for legacy backups. -
rescan: (Default: 0) Forces the node to scan the blockchain for missing transactions when a wallet is loaded.
Section 4: Debugging and Logging
-
debug: Specify categories to log (e.g.,debug=net,debug=mempool,debug=rpc). Usedebug=1to log everything (very verbose!). -
logips: (Default: 0) Include the IP addresses of peers in the log file. Helpful for debugging but bad for privacy. -
logtimestamps: (Default: 1) Include timestamps in every log line. -
printtoconsole: (Default: 0) Instead of writing to a file, print the logs to your terminal window. -
shrinkdebugfile: (Default: 1) Deletes the log file on every restart to save space.
Section 5: The Mempool and Transaction Policy
-
minrelaytxfee: (Default: 0.00001) The minimum fee rate for a transaction to be accepted into your mempool and broadcast to others. -
incrementalrelayfee: The minimum fee increase for a transaction to "Replace" another (RBF). -
mempoolexpiry: (Default: 336 hours) How long a transaction stays in your mempool before being forgotten. -
persistmempool: (Default: 1) Saves the mempool to a file (mempool.dat) on shutdown so it doesn't have to be rebuilt on restart.
TeachMeBitcoin is an ad-free, open-source educational repository curated by a passionate team of Bitcoin researchers and educators for public benefit. If you found our articles helpful, please consider supporting our hosting and ongoing content updates with a clean donation: