Skip to main content

Patches Overview

Bitcoin Knots includes over 200 patches organized into several categories. This page provides an overview of the major patch categories and their purposes.

Patch Categories

Policy Patches

Control what transactions your node relays and accepts into its mempool.

Policy
PatchPurposeConfig Option
rejecttokensFilter BRC-20/token transactionsrejecttokens=1 (off by default)
rejectparasitesFilter CAT21 spam transactionsrejectparasites=1 (on by default)
dustdynamicDynamic dust thresholddustdynamic=1
datacarriercostWeight OP_RETURN datadatacarriercost=<n>
bytespersigopstrictStricter sigops limitsbytespersigopstrict=1
unique_spk_mempoolOne tx per scriptPubKeyEnabled by default
maxscriptsizeMaximum script sizemaxscriptsize=<n>

Learn more about Policy Patches →

Wallet Patches

Extended wallet functionality beyond Bitcoin Core.

Wallet
PatchPurpose
wallet_undeprecate_legacyMaintain legacy wallet support
sweepprivkeysImport and sweep private keys
codex32Codex32 seed phrase support
bip322Generic message signing (BIP-322)
dumpmasterprivkeyExport HD master key
importfromcoldcardColdcard wallet import

Learn more about Wallet Features →

RPC Enhancements

Additional and enhanced RPC commands.

RPC
PatchPurpose
listmempooltxsList mempool transactions
getblocklocationsBlock file location info
fee_histogramFee histogram in mempool info
getblockfileinfoBlock file details
savefeeestimatesPersist fee estimates
multiwallet_rpcMulti-wallet improvements

Learn more about RPC Commands →

GUI Improvements

Qt interface enhancements.

GUI
PatchPurpose
qt_darkmodeDark mode support
gui_netwatchNetwork monitoring widget
old_stats_qtMempool statistics
blockviewBlock explorer view
tor_gui_pairingTor GUI configuration
qt_console_historyPersistent console history

Learn more about GUI Features →

Networking

Network and connectivity enhancements.

Network
PatchPurpose
restore_upnpRestore UPnP support
tor_subprocessEmbedded Tor support
v2onlyclearnetV2 transport preference
net_identify_librerelayLibreRelay node detection
net_identify_utreexoUtreexo node detection
p2p_forceinboundForce inbound connections

Learn more about Networking →

Mining & Block Production

Enhancements for miners.

PatchPurpose
restore_blockmaxsizeRestore block size option
mining_priorityTransaction priority
gbt_rpc_optionsGetblocktemplate options
mining_avoid_block_copyPerformance optimization

Learn more about Mining →

Restored Features

Features removed from Bitcoin Core but maintained in Knots.

FeatureRemoved in CoreStatus in Knots
Legacy Walletv24+Maintained
UPnPv28Restored
-blockmaxsizev0.15Restored
libconsensusv28Restored
Fee filter optionv24Restored

Security & Checkpoints

PatchPurpose
enforce_checkpointsEnforce historical checkpoints
checkpoint_updateUpdated checkpoint list
softwareexpiryExpiry warnings for updates

Patch Naming Convention

Knots patches follow a naming convention:

<name>-<core_version>+knots

For example:

  • dustdynamic-29.1+knots - Dust dynamic patch for Core 29.1
  • rbf_opts-29+knots - RBF options for Core 29.x

Finding Specific Patches

Patches are merged as individual branches. To see all patches:

git log --oneline FETCH_HEAD..HEAD --grep="^Merge" | head -50

To examine a specific patch:

# Find commits for a patch
git log --oneline --grep="dustdynamic"

# See the diff
git show <commit-hash>

Enabling/Disabling Features

Most patches add optional configuration. Features are not forced on users:

bitcoin.conf
# Enable inscription filtering (off by default)
rejectparasites=1

# Disable if you want Core behavior
rejectparasites=0

Contributing Patches

Want to contribute a patch to Bitcoin Knots?

  1. Fork the repository
  2. Create a feature branch from 29.x-knots
  3. Implement your changes
  4. Submit a pull request

See Contributing Guide for details.

See Also