Skip to main content

Configuration Options

Complete reference of configuration options, including Knots-specific additions.

Knots-Specific Options

These options are unique to Bitcoin Knots or have different defaults than Bitcoin Core.

Data Carrier & Transaction Filtering

OptionTypeDefaultDescription
-datacarrierbool1Relay and mine data carrier (OP_RETURN) transactions
-datacarriersizeint83Maximum size in bytes of OP_RETURN data we relay and mine
-datacarriercostdecimal1.0Treat extra data as N vbytes per actual byte for weight calculation
-datacarrierfullcountbool1Apply datacarriersize limit to all known datacarrier methods
-acceptnonstddatacarrierbool0Relay non-OP_RETURN datacarrier injection transactions
-permitbaredatacarrierbool0Relay transactions that only have data carrier outputs
-rejectparasitesbool1Refuse to relay CAT21 spam transactions
-rejecttokensbool0Refuse to relay transactions involving non-bitcoin tokens

Script & Validation Policy

OptionTypeDefaultDescription
-acceptnonstdtxnbool0Relay and mine non-standard transactions
-permitbarepubkeybool0Relay transactions with bare pubkey outputs
-permitbaremultisigbool0Relay transactions with bare multisig outputs
-permitephemeralstring"anchor,-send,-dust"Comma-separated ephemeral output options
-acceptunknownwitnessbool1Relay transactions to unknown witness versions
-maxscriptsizeint1650Maximum script size (including witness) in bytes
-bytespersigopint20Equivalent bytes per sigop for relay/mining
-bytespersigopstrictint20Minimum bytes per sigop we relay and mine

Dynamic Fee & Dust

OptionTypeDefaultDescription
-dustdynamicstring"off"Auto-adjust dust fee: target:<blocks> or mempool:<kvB>
-dustrelayfeeamount0.00003Fee rate to define dust threshold (BTC/kvB)
-minrelaytxfeeamount0.00001Minimum fee for relay (BTC/kvB)
-incrementalrelayfeeamount0.00001Fee increment for RBF replacement (BTC/kvB)

Maturity Requirements

OptionTypeDefaultDescription
-minrelaycoinblocksint0Minimum "coin blocks" (satoshis × blocks) to relay
-minrelaymaturityint0Minimum blocks inputs must mature before spending

Mempool Policy

OptionTypeDefaultDescription
-spkreusestring"allow"Address reuse policy: "allow" or "conflict"
-mempoolreplacementstring"fee,-optin"RBF policy: "fee,optin" or "fee,-optin" (full RBF)
-mempoolfullrbfbool1Accept RBF without signaling
-mempooltrucstring"accept"TRUC transaction handling: "reject", "accept", or "enforce"

Block Creation (Mining)

OptionTypeDefaultDescription
-blockmaxsizeint300000Maximum block size in bytes
-blockmaxweightint1200000Maximum block weight
-blockmintxfeeamount0.00001Minimum fee rate for block inclusion (BTC/kvB)
-blockprioritysizeint100000Space for high-priority/low-fee transactions
-blockreservedweightint8000Reserved weight for coinbase
-maxtxlegacysigopsint2500Maximum legacy sigops per transaction

Core Policy Mode

OptionTypeDefaultDescription
-corepolicybool0Use Bitcoin Core policy defaults instead of Knots

When -corepolicy=1 is set, multiple options change to match Core behavior:

  • Allows non-standard datacarriers
  • Enables bare pubkey/multisig
  • Disables parasite rejection
  • Sets datacarriercost to 0.25
  • Increases block sizes/weights
  • Enforces TRUC

Standard Options

These options exist in both Core and Knots.

Network

OptionTypeDefaultDescription
-listenbool1Accept incoming connections
-maxconnectionsint125Maximum peer connections
-portint8333Listen port
-bindstringallBind to specific address
-proxystring-SOCKS5 proxy (supports per-network syntax)
-onlynetstringallRestrict to networks: ipv4, ipv6, onion, i2p, cjdns
-upnpbool0Enable UPnP port mapping
-natpmpbool1Enable NAT-PMP (default on in Knots v29+)

RPC

OptionTypeDefaultDescription
-serverbool0Enable RPC server
-rpcuserstring-RPC username
-rpcpasswordstring-RPC password
-rpcportint8332RPC port
-rpcbindstring127.0.0.1RPC bind address
-rpcallowipstring127.0.0.1Allowed RPC source IPs

Performance

OptionTypeDefaultDescription
-dbcacheint450Database cache size (MB)
-parintautoScript verification threads
-maxmempoolint300Maximum mempool size (MB)
-mempoolexpiryint336Mempool transaction expiry (hours)

Pruning

OptionTypeDefaultDescription
-pruneint0Prune to N MB (0 = disabled)
-txindexbool0Maintain full transaction index

Wallet

OptionTypeDefaultDescription
-disablewalletbool0Disable wallet functionality
-walletdirstring-Wallet directory
-addresstypestringbech32Default address type
-changetypestring-Change address type

Debug

OptionTypeDefaultDescription
-debugstring-Debug categories (net, rpc, mempool, etc.)
-debuglogfilestring-Log file path
-printtoconsolebool0Print to console
-logsourcelocationsbool0Include source locations in logs

Software Expiry (Knots v29+)

OptionTypeDefaultDescription
-softwareexpirybool1Enable expiry warnings (4-week warning, alerts at expiry)

Example Configurations

Conservative (Knots Defaults)

bitcoin.conf
# Uses Knots defaults - filters parasites, conservative limits
server=1
listen=1

Match Bitcoin Core Behavior

bitcoin.conf
# Single flag to use Core defaults
corepolicy=1
server=1

Maximum Filtering

bitcoin.conf
# Strict filtering of non-monetary transactions
rejectparasites=1
rejecttokens=1
datacarriersize=42
permitbarepubkey=0
permitbaremultisig=0
acceptnonstddatacarrier=0

Miner Configuration

bitcoin.conf
# Mining-focused settings
blockmaxsize=750000
blockmaxweight=3000000
blockprioritysize=50000

Privacy-Focused

bitcoin.conf
# Enhanced privacy
proxy=127.0.0.1:9050
onlynet=onion
listen=0

Configuration File Location

PlatformPath
Linux~/.bitcoin/bitcoin.conf
macOS~/Library/Application Support/Bitcoin/bitcoin.conf
Windows%APPDATA%\Bitcoin\bitcoin.conf

See Also