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

FreeBSD Manual Pages


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

       bitcoind	- manual page for bitcoind v0.20.1.0

       bitcoind	[options]		      Start Bitcoin Core

       Bitcoin Core version v0.20.1.0


	      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 '-whitelistforcerelay' is '1', in which case
	      whitelisted peers' transactions will be  relayed.	 RPC  transac-
	      tions are	not affected. (default:	0)


	      Specify  configuration  file. Relative paths will	be prefixed by
	      datadir location.	(default: bitcoin.conf)


	      Run in the background as a daemon	and accept commands


	      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 and -rescan. Warning: Reverting this set-
	      ting 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	speci-
	      fied 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.


	      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 command help for more info). This	option
	      can be specified multiple	times to add multiple nodes.


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


	      Threshold	for disconnecting and discouraging  misbehaving	 peers
	      (default:	100)


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


	      Bind to given address and	always listen on it.  Use  [host]:port
	      notation for IPv6


	      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


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


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


	      Automatically create Tor hidden service (default:	1)


	      Maintain at most <n> connections to peers	(default: 125)


	      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),	0 = no limit (default: 0)


	      Use  separate  SOCKS5  proxy  to reach peers via Tor hidden ser-
	      vices, set -noonion to disable (default: -proxy)


	      Make outgoing connections	only through network <net> (ipv4, ipv6
	      or onion). Incoming connections are not affected by this option.
	      This option can be specified multiple times  to  allow  multiple


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


	      Relay non-P2SH multisig (default:	1)


	      Listen for connections on	<port> (default: 8333, testnet:	18333,
	      regtest: 18444)


	      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 connection timeout in milliseconds (minimum: 1, default:


	      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 given address and whitelist peers connecting to it. Use
	      [host]:port notation for IPv6. Allowed permissions are bloomfil-
	      ter  (allow  requesting BIP37 filtered blocks and	transactions),
	      noban (do	not ban	for misbehavior), forcerelay  (relay  transac-
	      tions  that  are	already	 in the	mempool; implies relay), relay
	      (relay even in -blocksonly mode),	and mempool (allow  requesting
	      BIP35  mempool contents).	Specify	multiple permissions separated
	      by commas	(default: noban,mempool,relay).	 Can be	specified mul-
	      tiple times.

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

	      Whitelist	 peers	connecting  from  the  given  IP address (e.g. or CIDR notated	network(e.g.  Uses  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 all or none, instead of  se-
	      lecting on a per-output basis. Privacy is	improved as an address
	      is only used once	(unless	someone	sends  to  it  after  spending
	      from  it),  but may result in slightly higher fees as suboptimal
	      coin selection may result	due to the added limitation  (default:
	      0	(always	enabled	for wallets with "avoid_reuse" enabled))


	      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/kB) 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/kB) that will be used when fee	estimation has
	      insufficient  data.  0  to entirely disable the fallbackfee fea-
	      ture.  (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.


	      Fees  (in	 BTC/kB) smaller than this are considered zero fee for
	      transaction creation (default: 0.00001)


	      Fee (in BTC/kB) to add to	transactions you send (default:	0.00)


	      Rescan the  block	 chain	for  missing  wallet  transactions  on


	      Attempt to recover private keys from a corrupt wallet on startup


	      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)


	      Upgrade wallet to	latest format on startup


	      Specify wallet database path. Can	be specified multiple times to
	      load  multiple wallets. Path is interpreted relative to <wallet-
	      dir> if it is not	absolute, and will be created if it  does  not
	      exist  (as  a  directory	containing  a  wallet.dat file and log
	      files). For backwards compatibility this will also accept	 names
	      of existing data files in	<walletdir>.)


	      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  and %w is replaced by	wallet name. %w	is not
	      currently	implemented on windows.	On systems where  %w  is  sup-
	      ported,  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)


	      Delete  all  wallet transactions and only	recover	those parts of
	      the blockchain through -rescan on	startup	(1 = keep tx meta data
	      e.g.  payment request information, 2 = drop tx meta data)

       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)

       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.


	      Exclude debugging	information for	a category.  Can  be  used  in
	      conjunction  with	 -debug=1  to  output debug logs for all cate-
	      gories except one	or more	specified 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	 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, regtest


	      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/kB) 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/kB) 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, 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

       Copyright (C) 2009-2020 The Bitcoin Core	developers

       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 <

bitcoind v0.20.1.0		   July	2020			   BITCOIND(1)


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

home | help