The Transaction-Filtering Policy in satd provides node operators with a configurable language for defining how their node handles certain Bitcoin transactions. Rather than altering consensus rules or transaction validity, this policy framework allows operators to specify transaction shapes to withhold from relay, block template inclusion, or both, offering a mechanism to decline participation in the propagation or mining of selected transactions while maintaining full compliance with Bitcoin consensus.
This policy system is designed for operators seeking fine-grained, reversible, and observable control over transaction relay and mining assistance. Operators describe rules in a policy file, using a versioned syntax where each rule can either quarantine or explicitly allow transactions based on defined conditions. The quarantine model does not reject transactions outright; instead, it holds them back in the mempool along specified scopes—relay, template, or both—without affecting their validity. Transactions that do not match any rule continue to be relayed and included in block templates as usual. The system supports a first-match-wins evaluation order, with explicit allow rules shielding transactions from subsequent quarantine rules, and supports inheritance of quarantine scopes through transaction ancestry.
The policy engine is configurable at node startup via an absolute path to the policy file and supports live reloading on SIGHUP, recompiling and reapplying rules without downtime. The quarantine mempool has a separate byte budget, preventing quarantined transactions from crowding out standard transactions. Operators can validate policy files offline using the sat-cli policylint tool, which offers parsing, type checking, cost reporting, and safety advisories for Lightning Network and Layer 2 enforcement transactions. A strict danger gate prevents policies that would inadvertently block critical Lightning enforcement transactions, with an override option available for deliberate use cases.
This transaction-filtering policy framework is intended for node operators who require transparent and reversible control over transaction relay and mining assistance, without impacting network consensus or the validity of transactions. The system emphasizes local operator preference and observability, ensuring that filtering remains a configurable aspect of node behavior rather than a mechanism of network censorship.
Transaction-Filtering Policy is an Infrastructure & Backend product. It focuses on enabling Bitcoin node operators to filter transactions and manage relay policies with a Rust-based full node. Transaction-Filtering Policy is an open-source project aimed at bitcoin node operators and blockchain developers. The project is open source (Open Source). Transaction-Filtering Policy is available on the web, and it can be self-hosted.
epochbtc builds and maintains Transaction-Filtering Policy, and the product first shipped in 2026. The project is developed in the open on GitHub with 555 commits in the last 90 days. Among its 6 catalogued features are transaction filtering, policy language, and quarantine model.
Latest indexed changes and source events
Satd: Bitcoin Transaction Filtering Language verified by the PulseGate indexer
Other apps tracked under the same category.