# HUSHD

NAME
DESCRIPTION
Usage:
OPTIONS
COPYRIGHT

## NAME

hushd - manual page for hushd v3.10.4

## DESCRIPTION

Hush Daemon version v3.10.4-7e63e2f01-dirty

In order to ensure you are adequately protecting your privacy when using Hush, please see <https://hush.is/security/>.

### Usage:

hushd [options]

Start a Hush Daemon

## OPTIONS

| -? |

This help message

| -blocknotify=<cmd> |

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

| -checkblocks=<n> |

How many blocks to check at startup (default: 288, 0 = all)

| -checklevel=<n> |

How thorough the block verification of -checkblocks is (0-4, default: 3)

| -clientname=<SomeName> |

Full node client name, default ’GoldenSandtrout’

| -conf=<file> |

Specify configuration file (default: HUSH3.conf)

| -daemon |

Run in the background as a daemon and accept commands

| -datadir=<dir> |

Specify data directory (this path cannot use ’˜’)

| -exportdir=<dir> |

Specify directory to be used when exporting data

| -dbcache=<n> |

Set database cache size in megabytes (4 to 16384, default: 512)

| -loadblock=<file> |

Imports blocks from external blk000??.dat file on startup

| -maxdebugfilesize=<n> |

Set the max size of the debug.log file (default: 15)

| -maxorphantx=<n> |

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

| -maxreorg=<n> |

Specify the maximum length of a blockchain re-organization

| -mempooltxinputlimit=<n> |

[DEPRECATED/IGNORED] Set the maximum number of transparent inputs in a transaction that the mempool will accept (default: 0 = no limit applied)

| -par=<n> |

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

| -pid=<file> |

Specify pid file (default: hushd.pid)

| -txexpirynotify=<cmd> |

Execute command when transaction expires (%s in cmd is replaced by transaction id)

| -prune=<n> |

Reduce storage requirements by pruning (deleting) old blocks. This mode disables wallet support and is incompatible with -txindex. Warning: Reverting this setting requires re-downloading the entire blockchain. (default: 0 = disable pruning blocks, >550 = target size in MiB to use for block files)

| -reindex |

Rebuild block chain index from current blk000??.dat files on startup

| -sysperms |

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

| -txindex |

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

| -txsend=<cmd> |

Execute command to send a transaction instead of broadcasting (%s in cmd is replaced by transaction hex)

| -addressindex |

Maintain a full address index, used to query for the balance, txids and unspent outputs for addresses (default: 0)

| -timestampindex |

Maintain a timestamp index for block hashes, used to query blocks hashes by a range of timestamps (default: 0)

| -spentindex |

Maintain a full spent index, used to query the spending txid and input index for an outpoint (default: 0)

| -zindex |

Maintain extra statistics about shielded transactions and payments (default: 0)

Connection options:

| -addnode=<ip> |

Add a node to connect to and attempt to keep the connection open

| -asmap=<file> |

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

| -banscore=<n> |

Threshold for disconnecting misbehaving peers (default: 100)

| -bantime=<n> |

Number of seconds to keep misbehaving peers from reconnecting (default: 86400)

| -bind=<addr> |

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

| -connect=<ip> |

Connect only to the specified node(s)

| -discover |

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

| -dns |

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

| -dnsseed |

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

| -externalip=<ip> |

Specify your own public address

| -forcednsseed |

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

| -listen |

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

| -listenonion |

Automatically create Tor hidden service (default: 1)

| -maxconnections=<n> |

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

| -maxreceivebuffer=<n> |

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

| -maxsendbuffer=<n> |

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

| -onion=<ip:port> |

Use separate SOCKS5 proxy to reach peers via Tor hidden services (default: -proxy)

| -nspv_msg |

Enable NSPV messages processing (default: true when -ac_private=1, otherwise false)

| -i2psam=<ip:port> |

I2P SAM proxy to reach I2P peers and accept I2P connections (default: none)

| -i2pacceptincoming |

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 network. 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)

| -onlynet=<net> |

Only connect to nodes in network <net> (ipv4, ipv6, onion or i2p)

| -disableipv4 |

Disable Ipv4 network connections (default: 0)

| -disableipv6 |

Disable Ipv6 network connections (default: 0)

| -clearnet |

Enable clearnet connections. Setting to 0 will disable clearnet and use sane defaults for Tor/i2p (default: 1)

| -permitbaremultisig |

Relay non-P2SH multisig (default: 1)

| -peerbloomfilters |

Support filtering of blocks and transaction with Bloom filters (default: 1)

| -port=<port> |

Listen for connections on <port> (default: 55555 or testnet: 55420)

| -proxy=<ip:port> |

Connect through SOCKS5 proxy

| -proxyrandomize |

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

| -seednode=<ip> |

Connect to a node to retrieve peer addresses, and disconnect

| -timeout=<n> |

Specify connection timeout in milliseconds (minimum: 1, default: 60000)

| -torcontrol=<ip>:<port> |

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

| -torpassword=<pass> |

Tor control port password (default: empty)

| -tls=<option> |

Specify TLS usage (default: 1 => enabled and required); Cannot be turned off.

| -tlsvalidate=<0 or 1> |

Connect to peers only with valid certificates (default: 0)

| -tlskeypath=<path> |

Full path to a private key

| -tlskeypwd=<password> |

Password for a private key encryption (default: not set, i.e. private key will be stored unencrypted)

| -tlscertpath=<path> |

Full path to a certificate

| -tlstrustdir=<path> |

Full path to a trusted certificates directory

| -allowbind=<addr> |

Bind to given address and allowlist peers connecting to it. Use [host]:port notation for IPv6

| -allowlist=<netmask> |

Allowlist peers connecting from the given netmask or IP address. Can be specified multiple times. Allowlisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway

Wallet options:

| -disablewallet |

Do not load the wallet and disable wallet RPC calls

| -keypool=<n> |

Set key pool size to <n> (default: 100)

| -consolidation |

Enable auto Sapling note consolidation (default: false)

| -consolidationinterval |

Block interval between consolidations (default: 25)

| -consolidatesaplingaddress=<zaddr> |

Specify Sapling Address to Consolidate. (default: all)

| -consolidationtxfee |

Fee amount in Puposhis used send consolidation transactions. (default 10000)

| -zsweep |

Enable zaddr sweeping, automatically move all shielded funds to a one address once per X blocks

| -zsweepaddress=<zaddr> |

Specify the shielded address where swept funds will be sent)

| -zsweepfee |

Fee amount in puposhis used send sweep transactions. (default 10000)

| -zsweepinterval |

Sweep shielded funds every X blocks (default 5)

| -zsweepmaxinputs |

Maximum number of shielded inputs to sweep per transaction (default 8)

| -zsweepexternal |

Enable sweeping to an external wallet (default false)

| -zsweepexclude |

Addresses to exclude from sweeping (default none)

| -deletetx |

Enable Old Transaction Deletion

| -deleteinterval |

Delete transaction every <n> blocks during inital block download (default: 1000)

| -keeptxnum |

Keep the last <n> transactions (default: 200)

| -keeptxfornblocks |

Keep transactions for at least <n> blocks (default: 10000)

| -paytxfee=<amt> |

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

| -keepnotewitnesscache |

Keep partial Sapling Note Witness cache. Must be used with -rescanheight to find missing cache items.

| -rescan |

Rescan the block chain for missing wallet transactions on startup

| -rescanheight |

Rescan from specified height when rescan=1 on startup

| -salvagewallet |

Attempt to recover private keys from a corrupt wallet.dat on startup

| -sendfreetransactions |

Send transactions as zero-fee transactions if possible (default: 0)

| -spendzeroconfchange |

Spend unconfirmed change when sending transactions (default: 1)

| -txconfirmtarget=<n> |

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

| -txexpirydelta |

Set the number of blocks after which a transaction that has not been mined will become invalid (default: 200)

| -maxtxfee=<amt> |

Maximum total fees (in HUSH) to use in a single wallet transaction; setting this too low may abort large transactions (default: 0.10)

| -upgradewallet |

Upgrade wallet to latest format on startup

| -wallet=<file> |

Specify wallet file absolute path or a path relative to the data directory (default: wallet.dat)

| -walletbroadcast |

Make the wallet broadcast transactions (default: 1)

| -walletnotify=<cmd> |

Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)

| -allowlistaddress=<Raddress> |

Enable the wallet filter for notary nodes and add one Raddress to the allowlist of the wallet filter. If -allowlistaddress= is used, then the wallet filter is automatically activated. Several Raddresses can be defined using several -allowlistaddress= (similar to -addnode). The wallet filter will filter the utxo to only ones coming from my own Raddress (derived from pubkey) and each Raddress defined using -allowlistaddress= this option is mostly for Notary Nodes).

| -zapwallettxes=<mode> |

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

Debugging/Testing options:

| -debug=<category> |

Output debugging information (default: 0, supplying <category> is optional). If <category> is not supplied or if <category> = 1, output all debugging information. <category> can be: addrman, bench, coindb, db, deletetx, estimatefee, http, libevent, lock, mempool, net, tls, partitioncheck, pow, proxy, prune, rand, randomx, reindex, rpc, selectcoins, stratum, tor, zrpc, zrpcunsafe (implies zrpc).

| -experimentalfeatures |

Enable use of experimental features

| -help-debug |

Show all debugging options (usage: --help -help-debug)

| -logips |

Include IP addresses in debug output (default: 0)

| -logtimestamps |

Prepend debug output with timestamp (default: 1)

| -minrelaytxfee=<amt> |

Fees (in HUSH/kB) smaller than this are considered zero fee for relaying (default: 0.000001)

| -printtoconsole |

Send trace/debug info to console instead of debug.log file

| -shrinkdebugfile |

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

| -testnet |

Use the test network

Node relay options:

| -datacarrier |

Relay and mine data carrier transactions (default: 1)

| -datacarriersize |

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

Block creation options:

| -blockminsize=<n> |

Set minimum block size in bytes (default: 0)

| -blockmaxsize=<n> |

Set maximum block size in bytes (default: 2000000)

| -blockprioritysize=<n> |

Set maximum size of high-priority/low-fee transactions in bytes (default: 1000000)

Mining options:

| -gen |

Mine/generate coins (default: 0)

| -genproclimit=<n> |

Set the number of threads for coin mining if enabled (-1 = all cores, default: 0)

| -equihashsolver=<name> |

Specify the Equihash solver to be used if enabled (default: "default")

| -mineraddress=<addr> |

Send mined coins to a specific single address

| -minetolocalwallet |

Require that mined blocks use a coinbase address in the local wallet (default: 1)

RPC server options:

| -server |

Accept command line and JSON-RPC commands

| -rest |

Accept public REST requests (default: 0)

| -rpcbind=<addr> |

Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces)

| -rpcuser=<user> |

Username for JSON-RPC connections

| -rpcpassword=<pw> |

Password for JSON-RPC connections

| -rpcport=<port> |

Listen for JSON-RPC connections on <port> (default: 0 or testnet: 10000)

| -rpcallowip=<ip> |

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

| -rpcthreads=<n> |

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

Metrics Options (only if -daemon and -printtoconsole are not set):

| -showmetrics |

Show metrics on stdout (default: 1 if running in a console, 0 otherwise)

| -metricsui |

Set to 1 for a persistent metrics screen, 0 for sequential metrics output (default: 1 if running in a console, 0 otherwise)

| -metricsrefreshtime |

Number of seconds between metrics refreshes (default: 1 if running in a console, 600 otherwise)

Stratum server options:

| -stratum |

Enable stratum server (default: off)

| -stratumaddress=<address> |

Mining address to use when special address of ’x’ is sent by miner (default: none)

| -stratumbind=<ipaddr> |

Bind to given address to listen for Stratum work requests. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces)

| -stratumport=<port> |

Listen for Stratum work requests on <port> (default: 19031 or testnet: 19031)

| -stratumallowip=<ip> |

Allow Stratum work requests from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times

Hush Arrakis Chain options:

| -ac_algo |

Choose PoW mining algorithm, either ’equihash’ or ’randomx’. default is Equihash (200,9)

| -ac_blocktime |

Block time in seconds, default is 60

| -ac_beam |

BEAM integration

| -ac_burn |

Allow sending funds to the transparent burn address when -ac_private=1

| -ac_minopreturnfee |

OP_RETURN minimum fee per tx, regardless of tx size, default is 1 coin

| -ac_coda |

CODA integration

| -ac_decay |

Percentage of block reward decrease at each halving

| -ac_end |

Block height at which block rewards will end

| -ac_eras |

Block reward eras

| -ac_founders |

Number of blocks between founders reward payouts

| -ac_halving |

Number of blocks between each block reward halving

| -ac_name |

Name of asset chain

| -ac_notarypay |

Pay notaries, default 0

| -ac_perc |

Percentage of block rewards paid to the founder

| -ac_private |

Shielded transactions only (except coinbase + notaries), default is 0

| -ac_pubkey |

Public key for receiving payments on the network

| -ac_public |

Transparent transactions only, default 0

| -ac_randomx_interval |

Controls how often the RandomX key block will change, default is 1024

| -ac_randomx_lag |

Sets the number of RandomX blocks to wait before updating the key block, default is 64

| -ac_reward |

Block reward in satoshis, default is 0

| -ac_script |

P2SH/multisig address to receive founders rewards

| -ac_supply |

Starting supply, default is 10

| -ac_txpow |

Enforce transaction-rate limit, default 0

## COPYRIGHT

In order to ensure you are adequately protecting your privacy when using Hush, please see <https://hush.is/security/>.

Copyright (C) 2016-2025 Duke Leto and The Hush Developers

Copyright (C) 2016-2020 jl777 and SuperNET developers

Copyright (C) 2016-2018 The Zcash developers

Copyright (C) 2009-2014 The Bitcoin Core developers

This is experimental Free Software! Fuck Yeah!!!!!

Distributed under the GPLv3 software license, see the accompanying file COPYING or <https://www.gnu.org/licenses/gpl-3.0.en.html>.