Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
BITCOIND(1)			 User Commands			   BITCOIND(1)

       bitcoind	- manual page for bitcoind v22.0.0

       bitcoind	[options]		      Start Bitcoin Core

       Bitcoin	Core  version v22.0.0 Copyright	(C) 2009-2021 The Bitcoin Core

       Please contribute if you	find Bitcoin Core useful. Visit	 <https://bit->  for further information about the software.  The	source
       code is available from <>.

       This is experimental software.  Distributed under the MIT software  li-
       cense, see the accompanying file	COPYING	or <


	      Print this help message and exit


	      Execute command when a relevant alert is received	or  we	see  a
	      really long fork (%s in cmd is replaced by message)


	      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:


	      Maintain	an index of compact filters by block (default: 0, val-
	      ues: basic). If <type> is	not supplied or	if <type> = 1, indexes
	      for all known types are enabled.


	      Execute  command	when  the best block changes (%s in cmd	is re-
	      placed by	block hash)


	      Extra transactions to keep in memory for	compact	 block	recon-
	      structions (default: 100)


	      Specify  directory  to  hold blocks subdirectory for *.dat files
	      (default:	<datadir>)


	      Whether to reject	transactions  from  network  peers.  Automatic
	      broadcast	and rebroadcast	of any transactions from inbound peers
	      is disabled, unless the peer has	the  'forcerelay'  permission.
	      RPC transactions are not affected. (default: 0)


	      Maintain	coinstats  index  used by the gettxoutsetinfo RPC (de-
	      fault: 0)


	      Specify path to read-only	 configuration	file.  Relative	 paths
	      will be prefixed by datadir location. (default: bitcoin.conf)


	      Run  in the background as	a daemon and accept commands (default:


	      Wait for initialization to be finished before exiting. This  im-
	      plies -daemon (default: 0)


	      Specify data directory


	      Maximum  database	cache size <n> MiB (4 to 16384,	default: 450).
	      In addition, unused mempool memory is shared for this cache (see


	      Specify  location	of debug log file. Relative paths will be pre-
	      fixed by a net-specific datadir  location.  (-nodebuglogfile  to
	      disable; default:	debug.log)


	      Specify  additional configuration	file, relative to the -datadir
	      path (only useable from configuration file, not command line)


	      Imports blocks from external file	on startup


	      Keep the transaction memory pool below <n>  megabytes  (default:


	      Keep  at most <n>	unconnectable transactions in memory (default:


	      Do not keep transactions in the mempool longer  than  <n>	 hours
	      (default:	336)


	      Set  the	number	of  script verification	threads	(-6 to 15, 0 =
	      auto, <0 = leave that many cores free, default: 0)


	      Whether to save the mempool on shutdown and load on restart (de-
	      fault: 1)


	      Specify  pid file. Relative paths	will be	prefixed by a net-spe-
	      cific datadir location. (default:


	      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	incom-
	      patible with -txindex, -coinstatsindex and -rescan. Warning: Re-
	      verting	this   setting	 requires  re-downloading  the	entire
	      blockchain. (default: 0 =	disable	pruning	blocks,	1 = allow man-
	      ual  pruning via RPC, >=550 = automatically prune	block files to
	      stay under the specified target size in MiB)


	      Rebuild chain state and block index from the blk*.dat  files  on


	      Rebuild  chain  state from the currently indexed blocks. When in
	      pruning mode or if blocks	on disk	might be corrupted,  use  full
	      -reindex instead.


	      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:


	      Execute command on startup.


	      Create  new  files  with	system default permissions, instead of
	      umask 077	(only effective	with disabled wallet functionality)


	      Maintain a full transaction index, used by the getrawtransaction
	      rpc call (default: 0)


	      Print version and	exit

       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 -max-
	      connections limit.


	      Specify  asn  mapping  used for bucketing	of the peers (default: Relative paths will be prefixed by the net-specific
	      datadir location.


	      Default  duration	 (in seconds) of manually configured bans (de-
	      fault: 86400)


	      Bind  to	given  address	and  always  listen  on	 it  (default:	 Use  [host]:port  notation for	IPv6. Append =onion to
	      tag any incoming connections to that address and port as	incom-
	      ing  Tor	connections  (default:, testnet:, signet:,  regtest:


	      Connect  only  to	 the specified node; -noconnect	disables auto-
	      matic connections	(the rules for this peer are the same  as  for
	      -addnode).  This	option can be specified	multiple times to con-
	      nect to multiple nodes.


	      Discover own IP addresses	(default: 1 when listening and no -ex-
	      ternalip or -proxy)


	      Allow DNS	lookups	for -addnode, -seednode	and -connect (default:


	      Query for	peer addresses via DNS lookup,	if  low	 on  addresses
	      (default:	1 unless -connect used)


	      Specify your own public address


	      Allow fixed seeds	if DNS seeds don't provide peers (default: 1)


	      Always query for peer addresses via DNS lookup (default: 0)


	      If set and -i2psam is also set then incoming I2P connections are
	      accepted via the SAM proxy. If this is not set  but  -i2psam  is
	      set  then	only outgoing connections will be made to the I2P net-
	      work.  Ignored if	-i2psam	is not set. Listening for incoming I2P
	      connections  is  done through the	SAM proxy, not by binding to a
	      local address and	port (default: 1)


	      I2P SAM proxy to reach I2P peers and accept I2P connections (de-
	      fault: none)


	      Accept  connections  from	 outside  (default:  1 if no -proxy or


	      Automatically create Tor onion service (default: 1)


	      Maintain at most <n> 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.


	      Maximum per-connection receive buffer, <n>*1000 bytes  (default:


	      Maximum  per-connection  send  buffer,  <n>*1000 bytes (default:


	      Maximum allowed median peer time offset adjustment.  Local  per-
	      spective	of time	may be influenced by peers forward or backward
	      by this amount. (default:	4200 seconds)


	      Tries to keep outbound traffic under the given  target  (in  MiB
	      per 24h).	 Limit does not	apply to peers with 'download' permis-
	      sion. 0 =	no limit (default: 0)


	      Use NAT-PMP to map the listening port (default: 0)


	      Enable all P2P network activity (default:	1). Can	be changed  by
	      the setnetworkactive RPC command


	      Use separate SOCKS5 proxy	to reach peers via Tor onion services,
	      set -noonion to disable (default:	-proxy)


	      Make outgoing connections	 only  through	network	 <net>	(ipv4,
	      ipv6, onion, i2p). Incoming connections are not affected by this
	      option. This option can be specified  multiple  times  to	 allow
	      multiple	networks.  Warning:  if	it is used with	non-onion net-
	      works and	the -onion or -proxy  option  is  set,	then  outbound
	      onion  connections  will still be	made; use -noonion or -onion=0
	      to disable outbound onion	connections in this case.


	      Serve compact block filters to peers per BIP 157 (default: 0)


	      Support filtering	of blocks and transaction with	bloom  filters
	      (default:	0)


	      Relay non-P2SH multisig (default:	1)


	      Listen  for  connections	on <port>. Nodes not using the default
	      ports (default: 8333, testnet: 18333,  signet:  38333,  regtest:
	      18444)  are  unlikely  to	get incoming connections. Not relevant
	      for I2P (see doc/


	      Connect through SOCKS5 proxy, set	-noproxy to disable  (default:


	      Randomize	 credentials  for every	proxy connection. This enables
	      Tor stream isolation (default: 1)


	      Connect to a node	to retrieve peer  addresses,  and  disconnect.
	      This option can be specified multiple times to connect to	multi-
	      ple nodes.


	      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)


	      Tor control port to use if  onion	 listening  enabled  (default:


	      Tor control port password	(default: empty)


	      Use UPnP to map the listening port (default: 0)


	      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 permis-
	      sions separated by commas	 (default:  download,noban,mempool,re-
	      lay). Can	be specified multiple times.

       -whitelist=<[permissions@]IP address or network>

	      Add  permission  flags to	the peers connecting from the given IP
	      address	(e.g.   or	CIDR-notated   network	 (e.g.  Uses  the  same  permissions as -whitebind.	Can be
	      specified	multiple times.

       Wallet options:


	      What type	of  addresses  to  use	("legacy",  "p2sh-segwit",  or
	      "bech32",	default: "bech32")


	      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 out-
	      puts 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.


	      What  type  of  change  to  use  ("legacy",  "p2sh-segwit",   or
	      "bech32").   Default  is	same as	-addresstype, except when -ad-
	      dresstype=p2sh-segwit a native segwit output is used when	 send-
	      ing to a native segwit address)


	      Do not load the wallet and disable wallet	RPC calls


	      The fee rate (in BTC/kvB)	that indicates your tolerance for dis-
	      carding 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


	      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)


	      Set key pool size	to <n> (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.


	      Spend up to this amount in additional (absolute) fees  (in  BTC)
	      if it allows the use of partial spend avoidance (default:	0.00)


	      Fee rates	(in BTC/kvB) smaller than this are considered zero fee
	      for transaction creation (default: 0.00001)


	      Fee rate (in BTC/kvB) to add to transactions you send  (default:


	      Rescan  the  block  chain	 for  missing  wallet  transactions on


	      External signing tool, see doc/


	      Spend unconfirmed	change when sending transactions (default: 1)


	      If paytxfee is not set, include enough fee so transactions begin
	      confirmation on average within n blocks (default:	6)


	      Specify  wallet  path  to	 load at startup. Can be used multiple
	      times to load multiple wallets. Path is to a directory  contain-
	      ing  wallet  data	and log	files. If the path is not absolute, it
	      is interpreted relative to <walletdir>. This only	loads existing
	      wallets  and does	not create new ones. For backwards compatibil-
	      ity this also accepts names of existing top-level	data files  in


	      Make the wallet broadcast	transactions (default: 1)


	      Specify directory	to hold	wallets	(default: <datadir>/wallets if
	      it exists, otherwise <datadir>)


	      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  'un-
	      confirmed'  if  the  transaction	is not included) and %h	is re-
	      placed by	the block height (-1 if	not included). %w is not  cur-
	      rently 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.


	      Send  transactions  with	full-RBF opt-in	enabled	(RPC only, de-
	      fault: 0)

       ZeroMQ notification options:


	      Enable publish hash block	in <address>


	      Set publish hash block outbound message  high  water  mark  (de-
	      fault: 1000)


	      Enable publish hash transaction in <address>


	      Set  publish  hash  transaction outbound message high water mark
	      (default:	1000)


	      Enable publish raw block in <address>


	      Set publish raw block outbound message high water	mark (default:


	      Enable publish raw transaction in	<address>


	      Set  publish  raw	 transaction  outbound message high water mark
	      (default:	1000)


	      Enable publish hash block	and tx sequence	in <address>


	      Set publish hash sequence	 message  high	water  mark  (default:

       Debugging/Testing options:


	      Output debugging information (default: -nodebug, supplying <cat-
	      egory> is	optional). If <category> is not	supplied or if	<cate-
	      gory>  = 1, output all debugging information. <category> can be:
	      net, tor,	mempool, http, bench, zmq, walletdb, rpc, estimatefee,
	      addrman,	selectcoins,  reindex, cmpctblock, rand, prune,	proxy,
	      mempoolrej, libevent, coindb, qt,	leveldb, validation, i2p, ipc.
	      This  option  can	be specified multiple times to output multiple


	      Exclude debugging	information for	a category.  Can  be  used  in
	      conjunction  with	 -debug=1  to  output debug logs for all cate-
	      gories except the	specified category. This option	can be	speci-
	      fied multiple times to exclude multiple categories.


	      Print help message with debugging	options	and exit


	      Include IP addresses in debug output (default: 0)


	      Prepend  debug  output with name of the originating source loca-
	      tion (source file, line number and function name)	(default: 0)


	      Prepend debug output with	name of	the originating	 thread	 (only
	      available	on platforms supporting	thread_local) (default:	0)


	      Prepend debug output with	timestamp (default: 1)


	      Maximum  total  fees (in BTC) to use in a	single wallet transac-
	      tion; setting this too low may  abort  large  transactions  (de-
	      fault: 0.10)


	      Send trace/debug info to console (default: 1 when	no -daemon. To
	      disable logging to file, set -nodebuglogfile)


	      Shrink debug.log file on client startup (default:	1 when no -de-


	      Append comment to	the user agent string

       Chain selection options:


	      Use  the	chain  <chain>	(default: main). Allowed values: main,
	      test, signet, regtest


	      Use the signet chain. Equivalent to -chain=signet. Note that the
	      network is defined by the	-signetchallenge parameter


	      Blocks  must  satisfy  the  given	 script	to be considered valid
	      (only for	signet networks; defaults to the global	default	signet
	      test network challenge)


	      Specify  a  seed	node  for  the	signet	network,  in the host-
	      name[:port] format, e.g.  (may  be	used  multiple
	      times to specify multiple	seed nodes; defaults to	the global de-
	      fault signet test	network	seed node(s))


	      Use the test chain. Equivalent to	-chain=test.

       Node relay options:


	      Equivalent bytes per sigop in transactions for relay and	mining
	      (default:	20)


	      Relay and	mine data carrier transactions (default: 1)


	      Maximum  size  of	data in	data carrier transactions we relay and
	      mine (default: 83)


	      Fees (in BTC/kvB)	smaller	than this are considered zero fee  for
	      relaying,	mining and transaction creation	(default: 0.00001)


	      Add  'forcerelay'	 permission  to	whitelisted inbound peers with
	      default permissions. This	will relay transactions	 even  if  the
	      transactions were	already	in the mempool.	(default: 0)


	      Add 'relay' permission to	whitelisted inbound peers with default
	      permissions. This	will accept relayed transactions even when not
	      relaying transactions (default: 1)

       Block creation options:


	      Set maximum BIP141 block weight (default:	3996000)


	      Set lowest fee rate (in BTC/kvB) for transactions	to be included
	      in block creation. (default: 0.00001)

       RPC server options:


	      Accept public REST requests (default: 0)


	      Allow JSON-RPC connections from specified	source.	Valid for <ip>
	      are   a  single  IP  (e.g.,  a	network/netmask	 (e.g. or	a network/CIDR (e.g. This
	      option can be specified multiple times


	      Username	and  HMAC-SHA-256 hashed password for JSON-RPC connec-
	      tions.  The  field  <userpw>  comes  in	the   format:	<USER-
	      NAME>:<SALT>$<HASH>.  A  canonical  python script	is included in
	      share/rpcauth. The client	then connects normally using  the  rp-
	      cuser=<USERNAME>/rpcpassword=<PASSWORD>  pair of arguments. This
	      option can be specified multiple times


	      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: and ::1 i.e.,	localhost)


	      Location	of the auth cookie. Relative paths will	be prefixed by
	      a	net-specific datadir location. (default: data dir)


	      Password for JSON-RPC connections


	      Listen for JSON-RPC connections on <port>	(default: 8332,	 test-
	      net: 18332, signet: 38332, regtest: 18443)


	      Sets  the	serialization of raw transaction or block hex returned
	      in non-verbose mode, non-segwit(0) or segwit(1) (default:	1)


	      Set the number of	threads	to service RPC calls (default: 4)


	      Username for JSON-RPC connections


	      Set a whitelist to filter	incoming  RPC  calls  for  a  specific
	      user. The	field <whitelist> comes	in the format: <USERNAME>:<rpc
	      1>,<rpc 2>,...,<rpc n>. If multiple whitelists  are  set	for  a
	      given  user,  they are set-intersected. See -rpcwhitelistdefault
	      documentation for	information on default whitelist behavior.


	      Sets default behavior for	rpc whitelisting. Unless rpcwhitelist-
	      default is set to	0, if any -rpcwhitelist	is set,	the rpc	server
	      acts as if all rpc  users	 are  subject  to  empty-unless-other-
	      wise-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.


	      Accept command line and JSON-RPC commands

bitcoind v22.0.0		September 2021			   BITCOIND(1)


Want to link to this manual page? Use this URL:

home | help