Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
251# Permit a maximum percent of inbound connections to relay transactions,252# to limit memory utilization (0 to 100, default: 50).253#inboundrelaypercent=<n>255# Accept connections from outside (default: 1 if no -proxy, -connect or256# -maxconnections=0)257#listen=1259# Automatically create Tor onion service (default: 1)260#listenonion=1262# Maintain at most <n> automatic connections to peers (default: 200,263# maximum: 2000). 11 slots of these are reserved for outgoing264# connections. See -inboundrelaypercent for more information about265# limits applied to transaction relay inbound peers. This limit266# does not apply to connections manually added via -addnode or the267# addnode RPC, which have a separate limit of 8. It does not apply268# to short-lived private broadcast connections either, which have a269# separate limit of 64.270#maxconnections=<n>272# Maximum per-connection receive buffer, <n>*1000 bytes (default: 5000)273#maxreceivebuffer=<n>275# Maximum per-connection memory usage for the send buffer, <n>*1000 bytes276# (default: 1000)277#maxsendbuffer=<n>279# Tries to keep outbound traffic under the given target per 24h. Limit280# does not apply to peers with 'download' permission or blocks281# created within past week. 0 = no limit (default: 0M). Optional282# suffix units [k|K|m|M|g|G|t|T] (default: M). Lowercase is 1000283# base while uppercase is 1024 base284#maxuploadtarget=<n>286# Use PCP or NAT-PMP to map the listening port (default: 1)287#natpmp=1289# Enable all P2P network activity (default: 1). Can be changed by the290# setnetworkactive RPC command291#networkactive=1293# Use separate SOCKS5 proxy to reach peers via Tor onion services, set294# -noonion to disable (default: -proxy). May be a local file path295# prefixed with 'unix:'.296#onion=<ip:port|path>298# Make automatic outbound connections only to network <net> (ipv4, ipv6,299# onion, i2p, cjdns). Inbound and manual connections are not300# affected by this option. It can be specified multiple times to301# allow multiple networks.302#onlynet=<net>304# Serve compact block filters to peers per BIP 157 (default: 0)305#peerblockfilters=1307# Support filtering of blocks and transaction with bloom filters (default:308# 0)309#peerbloomfilters=1311# Listen for connections on <port> (default: 8333, testnet3: 18333,312# testnet4: 48333, signet: 38333, regtest: 18444). Not relevant for313# I2P (see doc/i2p.md). If set to a value x, the default onion314# listening port will be set to x+1.315#port=<port>317# Connect through SOCKS5 proxy, set -noproxy to disable. May be a local318# file path prefixed with 'unix:' if the proxy supports it. Could319# end in =network to set the proxy only for that network. The320# network can be any of ipv4, ipv6, onion, cjdns. (default:321# disabled)322#proxy=<ip>[:<port>]|unix:<path>[=<network>]324# Randomize credentials for every proxy connection. This enables Tor325# stream isolation (default: 1)326#proxyrandomize=1328# Connect to a node to retrieve peer addresses, and disconnect. This329# option can be specified multiple times to connect to multiple330# nodes. During startup, seednodes will be tried before dnsseeds.331#seednode=<ip>333# Specify socket connection timeout in milliseconds. If an initial attempt334# to connect is unsuccessful after this amount of time, drop it335# (minimum: 1, default: 5000)336#timeout=<n>338# Tor control host and port to use if onion listening enabled (default:339# 127.0.0.1:9051). If no port is specified, the default port of340# 9051 will be used.341#torcontrol=<ip>:<port>343# Tor control port password (default: empty)344#torpassword=<pass>346# Support v2 transport (default: 1)347#v2transport=1349# Bind to the given address and add permission flags to the peers350# connecting to it. Use [host]:port notation for IPv6. Allowed351# permissions: bloomfilter (allow requesting BIP37 filtered blocks352# and transactions), noban (do not ban for misbehavior; implies353# download), forcerelay (relay transactions that are already in the354# mempool; implies relay), relay (relay even in -blocksonly mode,355# and unlimited transaction announcements), mempool (allow356# requesting BIP35 mempool contents), download (allow getheaders357# during IBD, no disconnect after maxuploadtarget limit), addr358# (responses to GETADDR avoid hitting the cache and contain random359# records with the most up-to-date info). Specify multiple360# permissions separated by commas (default:361# download,noban,mempool,relay). Can be specified multiple times.362#whitebind=<[permissions@]addr>364# Add permission flags to the peers using the given IP address (e.g.365# 1.2.3.4) or CIDR-notated network (e.g. 1.2.3.0/24). Uses the same366# permissions as -whitebind. Additional flags "in" and "out"367# control whether permissions apply to incoming connections and/or368# manual (default: incoming only). Can be specified multiple times.369#whitelist=<[permissions@]IP address or network>372### Wallet options375# What type of addresses to use ("legacy", "p2sh-segwit", "bech32",376# "bech32m", default: "bech32")377#addresstype=1379# Group outputs by address, selecting many (possibly all) or none, instead380# of selecting on a per-output basis. Privacy is improved as381# addresses are mostly swept with fewer transactions and outputs382# are aggregated in clean change addresses. It may result in higher383# fees due to less optimal coin selection caused by this added384# limitation and possibly a larger-than-necessary number of inputs385# being used. Always enabled for wallets with "avoid_reuse"386# enabled, otherwise default: 0.387#avoidpartialspends=1389# What type of change to use ("legacy", "p2sh-segwit", "bech32",390# "bech32m"). Default is "legacy" when -addresstype=legacy, else it391# is an implementation detail.392#changetype=1394# The maximum feerate (in BTC/kvB) at which transaction building may use395# more inputs than strictly necessary so that the wallet's UTXO396# pool can be reduced (default: 0.0001).397#consolidatefeerate=<amt>399# Do not load the wallet and disable wallet RPC calls400#disablewallet=1402# The fee rate (in BTC/kvB) that indicates your tolerance for discarding403# change by adding it to the fee (default: 0.0001). Note: An output404# is discarded if it is dust at this rate, but we will always405# discard up to the dust relay fee and a discard fee above that is406# limited by the fee estimate for the longest target407#discardfee=<amt>409# A fee rate (in BTC/kvB) that will be used when fee estimation has410# insufficient data. 0 to entirely disable the fallbackfee feature.411# (default: 0.00)412#fallbackfee=<amt>414# Set key pool size to <n> (default: 1000). Warning: Smaller sizes may415# increase the risk of losing funds when restoring from an old416# backup, if none of the addresses in the original keypool have417# been used.418#keypool=<n>420# Spend up to this amount in additional (absolute) fees (in BTC) if it421# allows the use of partial spend avoidance (default: 0.00)422#maxapsfee=<n>424# Fee rates (in BTC/kvB) smaller than this are considered zero fee for425# transaction creation (default: 0.00001)426#mintxfee=<amt>428# External signing tool, see doc/external-signer.md429#signer=<cmd>431# Spend unconfirmed change when sending transactions (default: 1)432#spendzeroconfchange=1434# Include enough fee so transactions begin confirmation on average within435# n blocks (default: 6)436#txconfirmtarget=<n>438# Specify wallet path to load at startup. Can be used multiple times to439# load multiple wallets. Path is to a directory containing wallet440# data and log files. If the path is not absolute, it is441# interpreted relative to <walletdir>. This only loads existing442# wallets and does not create new ones. For backwards compatibility443# this also accepts names of existing top-level data files in444# <walletdir>.445#wallet=<path>447# Make the wallet broadcast transactions (default: 1)448#walletbroadcast=1450# Specify directory to hold wallets (default: <datadir>/wallets if it451# exists, otherwise <datadir>)452#walletdir=<dir>454# Execute command when a wallet transaction changes. %s in cmd is replaced455# by TxID, %w is replaced by wallet name, %b is replaced by the456# hash of the block including the transaction (set to 'unconfirmed'457# if the transaction is not included) and %h is replaced by the458# block height (-1 if not included). %w is not currently459# implemented on windows. On systems where %w is supported, it460# should NOT be quoted because this would break shell escaping used461# to invoke the command.462#walletnotify=<cmd>464# (DEPRECATED) Send transactions with full-RBF opt-in enabled (default: 1)465#walletrbf=1468### ZeroMQ notification options471# Enable publish hash block in <address>472#zmqpubhashblock=<address>474# Set publish hash block outbound message high water mark (default: 1000)475#zmqpubhashblockhwm=<n>477# Enable publish hash transaction in <address>478#zmqpubhashtx=<address>480# Set publish hash transaction outbound message high water mark (default:481# 1000)482#zmqpubhashtxhwm=<n>484# Enable publish raw block in <address>485#zmqpubrawblock=<address>487# Set publish raw block outbound message high water mark (default: 1000)488#zmqpubrawblockhwm=<n>490# Enable publish raw transaction in <address>491#zmqpubrawtx=<address>493# Set publish raw transaction outbound message high water mark (default:494# 1000)495#zmqpubrawtxhwm=<n>497# Enable publish hash block and tx sequence in <address>498#zmqpubsequence=<address>500# Set publish hash sequence message high water mark (default: 1000)
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.