Node Filters
CleanPool • Bitcoin Knots policy
■ Back to dashboard
CleanPool builds its block templates from a Bitcoin Knots node running tightened relay and mempool policy. These are policy settings, not consensus rules: they control what this node relays and what ends up in CleanPool blocks. They do not make anyone else's blocks invalid, and no transaction is at risk of being rejected by the network because of them.
Active filter settings
datacarrier=1 policy
Allows OP_RETURN outputs to be relayed and mined, rather than dropping them entirely. OP_RETURN is the provably unspendable way to attach data to a transaction, so keeping it enabled is preferable to pushing that data into outputs that permanently bloat the UTXO set.
datacarriersize=83 policy
Caps the OP_RETURN script at 83 bytes, restoring the limit that stood before Bitcoin Core v30. The 83 is the total script size: an 80-byte data payload plus the OP_RETURN opcode and the push bytes.
Core v30 raised this default to 100,000, which in practice removes the cap because the standard transaction size limit is hit first. This is the single most important setting on this page.
permitbaremultisig=0 policy
Refuses to relay bare multisig outputs, which are unwrapped multisig scripts sitting directly in an output rather than behind a P2SH or P2WSH hash. They have been widely abused as a data-stuffing channel because each fake pubkey can hold 33 bytes, and unlike OP_RETURN those outputs stay in the UTXO set forever.
Already the Knots default, pinned explicitly here.
rejectparasites=1 policy
A Knots-specific filter that refuses to relay or mine transactions matching known parasitic patterns. Per the Knots release notes, many parasite transactions cannot be detected, and this filter currently targets so-called CAT-21 transactions built using the Ordinal attack.
Knots-only and enabled by default. It is listed here for transparency, not because it was changed.
rejecttokens=1 policy
Refuses to relay or mine transactions involving non-bitcoin tokens. Knots-only, and off by default, so this one is an explicit choice: CleanPool is a bitcoin pool and does not sell blockspace to token schemes.
dustrelayfee=0.00003000 policy
Sets the dust threshold at 3000 sat/kvB, which is 3 sat/vB. An output worth less than it would cost to spend at that rate is treated as dust and not relayed, which discourages spraying thousands of tiny outputs that permanently occupy the UTXO set.
This is the standard default, pinned explicitly rather than left implicit. Legitimate payments are unaffected; it only bites on outputs that cost more to spend than they are worth.
Relay floor
minrelaytxfee=0.00000001 policy
Sets the minimum relay fee rate to 1 sat/kvB, or 0.001 sat/vB. This is deliberately low and it is not a spam setting: it means CleanPool will relay and mine real monetary transactions that most nodes drop for paying too little.
If you have a transaction stuck below the usual 1 sat/vB floor, CleanPool's node will carry it and include it in a template when there is room. The filters above are pattern-based script checks applied independently of fee rate, so paying more does not buy a token or oversized-OP_RETURN transaction a way in.
Honest tradeoff: a low floor does make witness-embedded data cheaper to push at this node, since that vector is only partly covered by the filters above. We accept that in exchange for keeping cheap real payments confirmable.
What this means for miners
Nothing changes for your payouts. These filters affect which transactions CleanPool includes in a block template, not how shares are counted or how rewards are split. A block CleanPool finds is valid under normal Bitcoin consensus rules and will be accepted by every node on the network, filtered or not. See payouts for reward details.