## ## bitcoin.conf configuration file. ## Generated by contrib/devtools/gen-bitcoin-conf.sh. ## ## Lines beginning with # are comments. ## All possible configuration options are provided. To use, copy this file ## to your data directory (default or specified by -datadir), uncomment ## options you would like to change, and save the file. ## ### Options # Execute command when an alert is raised (%s in cmd is replaced by # message) #alertnotify= # For backwards compatibility, treat an unused bitcoin.conf file in the # datadir as a warning, not an error. #allowignoredconf=1 # If this block is in the chain assume that it and its ancestors are valid # and potentially skip their script verification (0 to verify all, # default: # 000000000000000000011c5890365bdbe5d25b97ce0057589acaef4f1a57263f, # testnet3: # 000000000000000465b1a66c9f386308e8c75acef9201f3f577811da09fc90ad, # testnet4: # 000000005be348057db991fa5d89fe7c4695b667cfb311391a8db374b6f681fd, # signet: # 0000014aad1d58dddcb964dd749b073374c6306e716b22f573a2efe68d414539) #assumevalid= # Maintain an index of compact filters by block (default: 0, values: # basic). If is not supplied or if = 1, indexes for # all known types are enabled. #blockfilterindex= # Execute command when the best block changes (%s in cmd is replaced by # block hash) #blocknotify= # Extra transactions to keep in memory for compact block reconstructions # (default: 100) #blockreconstructionextratxn= # Specify directory to hold blocks subdirectory for *.dat files (default: # ) #blocksdir= # Whether to reject transactions from network peers. Disables automatic # broadcast and rebroadcast of transactions, unless the source peer # has the 'forcerelay' permission. RPC transactions are not # affected. (default: 0) #blocksonly=1 # Whether an XOR-key applies to blocksdir *.dat files. The created XOR-key # will be zeros for an existing blocksdir or when `-blocksxor=0` is # set, and random for a freshly initialized blocksdir. (default: 1) #blocksxor=1 # Maintain coinstats index used by the gettxoutsetinfo RPC (default: 0) #coinstatsindex=1 # Specify path to read-only configuration file. Relative paths will be # prefixed by datadir location (only useable from command line, not # configuration file) (default: bitcoin.conf) #conf= # Run in the background as a daemon and accept commands (default: 0) #daemon=1 # Wait for initialization to be finished before exiting. This implies # -daemon (default: 0) #daemonwait=1 # Specify data directory #datadir= # Maximum database cache size MiB (4 to 16384, default: 450). In # addition, unused mempool memory is shared for this cache (see # -maxmempool). #dbcache= # Specify location of debug log file (default: debug.log). Relative paths # will be prefixed by a net-specific datadir location. Pass # -nodebuglogfile to disable writing the log to a file. #debuglogfile= # Specify additional configuration file, relative to the -datadir path # (only useable from configuration file, not command line) #includeconf= # Imports blocks from external file on startup #loadblock= # Keep the transaction memory pool below megabytes (default: 300) #maxmempool= # Keep at most unconnectable transactions in memory (default: 100) #maxorphantx= # Do not keep transactions in the mempool longer than hours (default: # 336) #mempoolexpiry= # Set the number of script verification threads (0 = auto, up to 15, <0 = # leave that many cores free, default: 0) #par= # Whether to save the mempool on shutdown and load on restart (default: 1) #persistmempool=1 # Whether a mempool.dat file created by -persistmempool or the savemempool # RPC will be written in the legacy format (version 1) or the # current format (version 2). This temporary option will be removed # in the future. (default: 0) #persistmempoolv1=1 # Specify pid file. Relative paths will be prefixed by a net-specific # datadir location. (default: bitcoind.pid) #pid= # Reduce storage requirements by enabling pruning (deleting) of old # blocks. This allows the pruneblockchain RPC to be called to # delete specific blocks and enables automatic pruning of old # blocks if a target size in MiB is provided. This mode is # incompatible with -txindex. Warning: Reverting this setting # requires re-downloading the entire blockchain. (default: 0 = # disable pruning blocks, 1 = allow manual pruning via RPC, >=550 = # automatically prune block files to stay under the specified # target size in MiB) #prune= # If enabled, wipe chain state and block index, and rebuild them from # blk*.dat files on disk. Also wipe and rebuild other optional # indexes that are active. If an assumeutxo snapshot was loaded, # its chainstate will be wiped as well. The snapshot can then be # reloaded via RPC. #reindex=1 # If enabled, wipe chain state, and rebuild it from blk*.dat files on # disk. If an assumeutxo snapshot was loaded, its chainstate will # be wiped as well. The snapshot can then be reloaded via RPC. #reindex-chainstate=1 # Specify path to dynamic settings data file. Can be disabled with # -nosettings. File is written at runtime and not meant to be # edited by users (use bitcoin.conf instead for custom settings). # Relative paths will be prefixed by datadir location. (default: # settings.json) #settings= # Execute command immediately before beginning shutdown. The need for # shutdown may be urgent, so be careful not to delay it long (if # the command doesn't require interaction with the server, consider # having it fork into the background). #shutdownnotify= # Execute command on startup. #startupnotify= # Maintain a full transaction index, used by the getrawtransaction rpc # call (default: 0) #txindex=1 # Print version and exit #version=1 ### Connection options # Add a node to connect to and attempt to keep the connection open (see # the addnode RPC help for more info). This option can be specified # multiple times to add multiple nodes; connections are limited to # 8 at a time and are counted separately from the -maxconnections # limit. #addnode= # Specify asn mapping used for bucketing of the peers (default: # ip_asn.map). Relative paths will be prefixed by the net-specific # datadir location. #asmap= # Default duration (in seconds) of manually configured bans (default: # 86400) #bantime= # Bind to given address and always listen on it (default: 0.0.0.0). Use # [host]:port notation for IPv6. Append =onion to tag any incoming # connections to that address and port as incoming Tor connections # (default: 127.0.0.1:8334=onion, testnet3: 127.0.0.1:18334=onion, # testnet4: 127.0.0.1:48334=onion, signet: 127.0.0.1:38334=onion, # regtest: 127.0.0.1:18445=onion) #bind=[:][=onion] # If set, then this host is configured for CJDNS (connecting to fc00::/8 # addresses would lead us to the CJDNS network, see doc/cjdns.md) # (default: 0) #cjdnsreachable=1 # Connect only to the specified node; -noconnect disables automatic # connections (the rules for this peer are the same as for # -addnode). This option can be specified multiple times to connect # to multiple nodes. #connect= # Discover own IP addresses (default: 1 when listening and no -externalip # or -proxy) #discover=1 # Allow DNS lookups for -addnode, -seednode and -connect (default: 1) #dns=1 # Query for peer addresses via DNS lookup, if low on addresses (default: 1 # unless -connect used or -maxconnections=0) #dnsseed=1 # Specify your own public address #externalip= # Allow fixed seeds if DNS seeds don't provide peers (default: 1) #fixedseeds=1 # Always query for peer addresses via DNS lookup (default: 0) #forcednsseed=1 # Whether to accept inbound I2P connections (default: 1). Ignored if # -i2psam is not set. Listening for inbound I2P connections is done # through the SAM proxy, not by binding to a local address and # port. #i2pacceptincoming=1 # I2P SAM proxy to reach I2P peers and accept I2P connections (default: # none) #i2psam= # Accept connections from outside (default: 1 if no -proxy, -connect or # -maxconnections=0) #listen=1 # Automatically create Tor onion service (default: 1) #listenonion=1 # Maintain at most automatic connections to peers (default: 125). This # limit does not apply to connections manually added via -addnode # or the addnode RPC, which have a separate limit of 8. #maxconnections= # Maximum per-connection receive buffer, *1000 bytes (default: 5000) #maxreceivebuffer= # Maximum per-connection memory usage for the send buffer, *1000 bytes # (default: 1000) #maxsendbuffer= # Tries to keep outbound traffic under the given target per 24h. Limit # does not apply to peers with 'download' permission or blocks # created within past week. 0 = no limit (default: 0M). Optional # suffix units [k|K|m|M|g|G|t|T] (default: M). Lowercase is 1000 # base while uppercase is 1024 base #maxuploadtarget= # Use NAT-PMP to map the listening port (default: 0) #natpmp=1 # Enable all P2P network activity (default: 1). Can be changed by the # setnetworkactive RPC command #networkactive=1 # Use separate SOCKS5 proxy to reach peers via Tor onion services, set # -noonion to disable (default: -proxy). May be a local file path # prefixed with 'unix:'. #onion= # Make automatic outbound connections only to network (ipv4, ipv6, # onion, i2p, cjdns). Inbound and manual connections are not # affected by this option. It can be specified multiple times to # allow multiple networks. #onlynet= # Serve compact block filters to peers per BIP 157 (default: 0) #peerblockfilters=1 # Support filtering of blocks and transaction with bloom filters (default: # 0) #peerbloomfilters=1 # Listen for connections on (default: 8333, testnet3: 18333, # testnet4: 48333, signet: 38333, regtest: 18444). Not relevant for # I2P (see doc/i2p.md). If set to a value x, the default onion # listening port will be set to x+1. #port= # Connect through SOCKS5 proxy, set -noproxy to disable (default: # disabled). May be a local file path prefixed with 'unix:' if the # proxy supports it. #proxy= # Randomize credentials for every proxy connection. This enables Tor # stream isolation (default: 1) #proxyrandomize=1 # Connect to a node to retrieve peer addresses, and disconnect. This # option can be specified multiple times to connect to multiple # nodes. During startup, seednodes will be tried before dnsseeds. #seednode= # Specify socket connection timeout in milliseconds. If an initial attempt # to connect is unsuccessful after this amount of time, drop it # (minimum: 1, default: 5000) #timeout= # Tor control host and port to use if onion listening enabled (default: # 127.0.0.1:9051). If no port is specified, the default port of # 9051 will be used. #torcontrol=: # Tor control port password (default: empty) #torpassword= # Use UPnP to map the listening port (default: 0) #upnp=1 # Support v2 transport (default: 1) #v2transport=1 # Bind to the given address and add permission flags to the peers # connecting to it. Use [host]:port notation for IPv6. Allowed # permissions: bloomfilter (allow requesting BIP37 filtered blocks # and transactions), noban (do not ban for misbehavior; implies # download), forcerelay (relay transactions that are already in the # mempool; implies relay), relay (relay even in -blocksonly mode, # and unlimited transaction announcements), mempool (allow # requesting BIP35 mempool contents), download (allow getheaders # during IBD, no disconnect after maxuploadtarget limit), addr # (responses to GETADDR avoid hitting the cache and contain random # records with the most up-to-date info). Specify multiple # permissions separated by commas (default: # download,noban,mempool,relay). Can be specified multiple times. #whitebind=<[permissions@]addr> # Add permission flags to the peers using the given IP address (e.g. # 1.2.3.4) or CIDR-notated network (e.g. 1.2.3.0/24). Uses the same # permissions as -whitebind. Additional flags "in" and "out" # control whether permissions apply to incoming connections and/or # manual (default: incoming only). Can be specified multiple times. #whitelist=<[permissions@]IP address or network> ### Wallet options # What type of addresses to use ("legacy", "p2sh-segwit", "bech32", or # "bech32m", default: "bech32") #addresstype=1 # Group outputs by address, selecting many (possibly all) or none, instead # of selecting on a per-output basis. Privacy is improved as # addresses are mostly swept with fewer transactions and outputs # are aggregated in clean change addresses. It may result in higher # fees due to less optimal coin selection caused by this added # limitation and possibly a larger-than-necessary number of inputs # being used. Always enabled for wallets with "avoid_reuse" # enabled, otherwise default: 0. #avoidpartialspends=1 # What type of change to use ("legacy", "p2sh-segwit", "bech32", or # "bech32m"). Default is "legacy" when -addresstype=legacy, else it # is an implementation detail. #changetype=1 # The maximum feerate (in BTC/kvB) at which transaction building may use # more inputs than strictly necessary so that the wallet's UTXO # pool can be reduced (default: 0.0001). #consolidatefeerate= # Do not load the wallet and disable wallet RPC calls #disablewallet=1 # The fee rate (in BTC/kvB) that indicates your tolerance for discarding # change by adding it to the fee (default: 0.0001). Note: An output # is discarded if it is dust at this rate, but we will always # discard up to the dust relay fee and a discard fee above that is # limited by the fee estimate for the longest target #discardfee= # A fee rate (in BTC/kvB) that will be used when fee estimation has # insufficient data. 0 to entirely disable the fallbackfee feature. # (default: 0.00) #fallbackfee= # Set key pool size to (default: 1000). Warning: Smaller sizes may # increase the risk of losing funds when restoring from an old # backup, if none of the addresses in the original keypool have # been used. #keypool= # Spend up to this amount in additional (absolute) fees (in BTC) if it # allows the use of partial spend avoidance (default: 0.00) #maxapsfee= # Fee rates (in BTC/kvB) smaller than this are considered zero fee for # transaction creation (default: 0.00001) #mintxfee= # Fee rate (in BTC/kvB) to add to transactions you send (default: 0.00) #paytxfee= # External signing tool, see doc/external-signer.md #signer= # Spend unconfirmed change when sending transactions (default: 1) #spendzeroconfchange=1 # If paytxfee is not set, include enough fee so transactions begin # confirmation on average within n blocks (default: 6) #txconfirmtarget= # Specify wallet path to load at startup. Can be used multiple times to # load multiple wallets. Path is to a directory containing wallet # data and log files. If the path is not absolute, it is # interpreted relative to . This only loads existing # wallets and does not create new ones. For backwards compatibility # this also accepts names of existing top-level data files in # . #wallet= # Make the wallet broadcast transactions (default: 1) #walletbroadcast=1 # Specify directory to hold wallets (default: /wallets if it # exists, otherwise ) #walletdir= # Execute command when a wallet transaction changes. %s in cmd is replaced # by TxID, %w is replaced by wallet name, %b is replaced by the # hash of the block including the transaction (set to 'unconfirmed' # if the transaction is not included) and %h is replaced by the # block height (-1 if not included). %w is not currently # implemented on windows. On systems where %w is supported, it # should NOT be quoted because this would break shell escaping used # to invoke the command. #walletnotify= # Send transactions with full-RBF opt-in enabled (RPC only, default: 1) #walletrbf=1 ### ZeroMQ notification options # Enable publish hash block in
#zmqpubhashblock=
# Set publish hash block outbound message high water mark (default: 1000) #zmqpubhashblockhwm= # Enable publish hash transaction in
#zmqpubhashtx=
# Set publish hash transaction outbound message high water mark (default: # 1000) #zmqpubhashtxhwm= # Enable publish raw block in
#zmqpubrawblock=
# Set publish raw block outbound message high water mark (default: 1000) #zmqpubrawblockhwm= # Enable publish raw transaction in
#zmqpubrawtx=
# Set publish raw transaction outbound message high water mark (default: # 1000) #zmqpubrawtxhwm= # Enable publish hash block and tx sequence in
#zmqpubsequence=
# Set publish hash sequence message high water mark (default: 1000) #zmqpubsequencehwm= ### Debugging/Testing options # Output debug and trace logging (default: -nodebug, supplying # is optional). If is not supplied or if is 1 # or "all", output all debug logging. If is 0 or "none", # any other categories are ignored. Other valid values for # are: addrman, bench, blockstorage, cmpctblock, coindb, # estimatefee, http, i2p, ipc, leveldb, libevent, mempool, # mempoolrej, net, proxy, prune, qt, rand, reindex, rpc, scan, # selectcoins, tor, txpackages, txreconciliation, validation, # walletdb, zmq. This option can be specified multiple times to # output multiple categories. #debug= # Exclude debug and trace logging for a category. Can be used in # conjunction with -debug=1 to output debug and trace logging for # all categories except the specified category. This option can be # specified multiple times to exclude multiple categories. This # takes priority over "-debug" #debugexclude= # Print help message with debugging options and exit #help-debug=1 # Include IP addresses in debug output (default: 0) #logips=1 # Always prepend a category and level (default: 0) #loglevelalways=1 # Prepend debug output with name of the originating source location # (source file, line number and function name) (default: 0) #logsourcelocations=1 # Prepend debug output with name of the originating thread (default: 0) #logthreadnames=1 # Prepend debug output with timestamp (default: 1) #logtimestamps=1 # Maximum total fees (in BTC) to use in a single wallet transaction; # setting this too low may abort large transactions (default: 0.10) #maxtxfee= # Send trace/debug info to console (default: 1 when no -daemon. To disable # logging to file, set -nodebuglogfile) #printtoconsole=1 # Shrink debug.log file on client startup (default: 1 when no -debug) #shrinkdebugfile=1 # Append comment to the user agent string #uacomment= ### Chain selection options # Use the chain (default: main). Allowed values: main, test, # testnet4, signet, regtest #chain= # Use the signet chain. Equivalent to -chain=signet. Note that the network # is defined by the -signetchallenge parameter #signet=1 # Blocks must satisfy the given script to be considered valid (only for # signet networks; defaults to the global default signet test # network challenge) #signetchallenge=1 # Specify a seed node for the signet network, in the hostname[:port] # format, e.g. sig.net:1234 (may be used multiple times to specify # multiple seed nodes; defaults to the global default signet test # network seed node(s)) #signetseednode=1 # Use the testnet3 chain. Equivalent to -chain=test. Support for testnet3 # is deprecated and will be removed in an upcoming release. # Consider moving to testnet4 now by using -testnet4. #testnet=1 # Use the testnet4 chain. Equivalent to -chain=testnet4. #testnet4=1 ### Node relay options # Equivalent bytes per sigop in transactions for relay and mining # (default: 20) #bytespersigop=1 # Relay and mine data carrier transactions (default: 1) #datacarrier=1 # Relay and mine transactions whose data-carrying raw scriptPubKey is of # this size or less (default: 83) #datacarriersize=1 # (DEPRECATED) Accept transaction replace-by-fee without requiring # replaceability signaling (default: 1) #mempoolfullrbf=1 # Fees (in BTC/kvB) smaller than this are considered zero fee for # relaying, mining and transaction creation (default: 0.00001) #minrelaytxfee= # Relay transactions creating non-P2SH multisig outputs (default: 1) #permitbaremultisig=1 # Add 'forcerelay' permission to whitelisted peers with default # permissions. This will relay transactions even if the # transactions were already in the mempool. (default: 0) #whitelistforcerelay=1 # Add 'relay' permission to whitelisted peers with default permissions. # This will accept relayed transactions even when not relaying # transactions (default: 1) #whitelistrelay=1 ### Block creation options # Set maximum BIP141 block weight (default: 3996000) #blockmaxweight= # Set lowest fee rate (in BTC/kvB) for transactions to be included in # block creation. (default: 0.00001) #blockmintxfee= ### RPC server options # Accept public REST requests (default: 0) #rest=1 # Allow JSON-RPC connections from specified source. Valid values for # are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. # 1.2.3.4/255.255.255.0), a network/CIDR (e.g. 1.2.3.4/24), all # ipv4 (0.0.0.0/0), or all ipv6 (::/0). This option can be # specified multiple times #rpcallowip= # Username and HMAC-SHA-256 hashed password for JSON-RPC connections. The # field comes in the format: :$. A # canonical python script is included in share/rpcauth. The client # then connects normally using the # rpcuser=/rpcpassword= pair of arguments. This # option can be specified multiple times #rpcauth= # Bind to given address to listen for JSON-RPC connections. Do not expose # the RPC server to untrusted networks such as the public internet! # This option is ignored unless -rpcallowip is also passed. Port is # optional and overrides -rpcport. Use [host]:port notation for # IPv6. This option can be specified multiple times (default: # 127.0.0.1 and ::1 i.e., localhost) #rpcbind=[:port] # Location of the auth cookie. Relative paths will be prefixed by a # net-specific datadir location. (default: data dir) #rpccookiefile= # Set permissions on the RPC auth cookie file so that it is readable by # [owner|group|all] (default: owner [via umask 0077]) #rpccookieperms= # Password for JSON-RPC connections #rpcpassword= # Listen for JSON-RPC connections on (default: 8332, testnet3: # 18332, testnet4: 48332, signet: 38332, regtest: 18443) #rpcport= # Set the number of threads to service RPC calls (default: 4) #rpcthreads= # Username for JSON-RPC connections #rpcuser= # Set a whitelist to filter incoming RPC calls for a specific user. The # field comes in the format: :,,...,. If multiple whitelists are set for a given user, # they are set-intersected. See -rpcwhitelistdefault documentation # for information on default whitelist behavior. #rpcwhitelist= # Sets default behavior for rpc whitelisting. Unless rpcwhitelistdefault # is set to 0, if any -rpcwhitelist is set, the rpc server acts as # if all rpc users are subject to empty-unless-otherwise-specified # whitelists. If rpcwhitelistdefault is set to 1 and no # -rpcwhitelist is set, rpc server acts as if all rpc users are # subject to empty whitelists. #rpcwhitelistdefault=1 # Accept command line and JSON-RPC commands #server=1 # [Sections] # Most options will apply to all networks. To confine an option to a specific # network, add it under the relevant section below. # # Note: If not specified under a network section, the options addnode, connect, # port, bind, rpcport, rpcbind, and wallet will only apply to mainnet. # Options for mainnet [main] # Options for testnet3 [test] # Options for testnet4 [testnet4] # Options for signet [signet] # Options for regtest [regtest]