Bitcoin Core 28.0 is a significant release that brings a host of technical improvements, enhanced security, and new functionalities to the most widely used Bitcoin full node implementation. Designed for developers, node operators, and advanced users, this update strengthens the network’s reliability, scalability, and developer tooling.
Whether you're running a personal node or integrating with Bitcoin’s backend infrastructure, understanding the changes in version 28.0 is essential for maintaining compatibility and leveraging new capabilities.
👉 Discover how upgrading your node boosts performance and security
Core Keywords
- Bitcoin Core 28.0
- JSON-RPC 2.0
- Testnet4 support
- Mempool policy
- P2P network changes
- Wallet RPC updates
- libbitcoinconsensus removal
- UTXO set management
How to Upgrade to Bitcoin Core 28.0
If you're currently using an older version of Bitcoin Core, upgrading is straightforward but requires careful attention to ensure data integrity.
Begin by shutting down your existing node completely—this may take several minutes depending on your system and blockchain sync status. Once fully stopped:
- Windows: Run the new installer.
- macOS: Replace the
/Applications/Bitcoin-Qtapplication. - Linux: Overwrite the
bitcoindandbitcoin-qtbinaries.
Upgrading from end-of-life (EOL) versions is supported, though migration may take longer if your data directory requires conversion. Legacy wallet formats remain compatible, ensuring smooth transitions.
⚠️ Note for macOS Users: Running binaries on macOS now requires self-signing due to security policies. Use the following commands in your terminal:
cd /path/to/bitcoin-28.0/bin
xattr -d com.apple.quarantine bitcoin-cli bitcoin-qt bitcoin-tx bitcoin-util bitcoin-wallet bitcoind test_bitcoin
codesign -s - bitcoin-cli bitcoin-qt bitcoin-tx bitcoin-util bitcoin-wallet bitcoind test_bitcoinThis ensures your system trusts the locally compiled or downloaded binaries.
System Compatibility
Bitcoin Core 28.0 is officially supported on:
- Linux Kernel 3.17+
- macOS 11.0+ (Big Sur and later)
- Windows 7 and newer
While it may function on other UNIX-like systems, these are not regularly tested. Unsupported environments are discouraged due to potential instability or security risks.
👉 Ensure your setup meets the latest requirements for optimal node operation
Notable Changes in Bitcoin Core 28.0
Testnet4 and BIP94 Support
Bitcoin Core 28.0 introduces support for Testnet4, as defined in BIP94. This experimental network aims to replace the aging Testnet3, offering improved stability and testing capabilities.
To use Testnet4:
bitcoind -testnet4The configuration section in bitcoin.conf is now [testnet4]. While Testnet3 remains available in this release, its deprecation is expected in future versions.
Windows Data Directory Relocation
The default data directory on Windows has moved from:
C:\Users\Username\AppData\Roaming\Bitcointo:
C:\Users\Username\AppData\Local\BitcoinFor backward compatibility, Bitcoin Core checks for the old path first and continues using it if present. New installations will use the updated location.
JSON-RPC 2.0 Full Compliance
The JSON-RPC server now fully supports JSON-RPC 2.0, adhering strictly to the official specification. This enables better interoperability with modern clients and tools.
Key implications:
- Requests must follow JSON-RPC 2.0 formatting.
- Responses include proper error codes and structured payloads.
- Backward compatibility with JSON-RPC 1.1 is maintained for most use cases.
Developers should verify their RPC clients are updated to avoid parsing issues.
Removal of libbitcoinconsensus
As previously deprecated in v27.0, the libbitcoinconsensus library has been completely removed. Projects relying on this library for transaction validation must now use alternative methods or embed full Bitcoin Core logic.
This change simplifies the codebase and reduces maintenance overhead.
P2P and Network Improvements
Several under-the-hood networking enhancements improve reliability and flexibility:
Tor Binding Control: Previously, enabling P2P listening also implicitly bound to
127.0.0.1:8334for Tor connections. Now,bind=addr:portonly binds to the specified address. To accept Tor connections, explicitly add:bind=127.0.0.1:8334=onion- Strict Bind Failure Handling: If any P2P bind fails, Bitcoin Core will now halt startup—previously it only failed if all binds failed.
UNIX Domain Sockets Support: You can now route proxy and ZMQ connections via UNIX sockets:
-onion=unix:/home/me/torsocket-zmqpubrawtx=unix:/path/to/file
- Enhanced Whitelisting: The
-whitelistoption now supportsinandoutflags to differentiate between inbound and outbound connection permissions. - Limited Package Relay: Nodes can now relay 1-parent-1-child transaction packages even if the parent has a low feerate. This improves fee-bumping reliability and supports BIP431 (TRUC) transactions.
Use the submitpackage RPC to directly submit transaction packages to your node.
Mempool Policy Updates
The mempool now enforces more sophisticated transaction handling:
- Version 3 Transactions: Now considered standard, enabling broader use of advanced scripting features under BIP431 (TRUC).
- Pay To Anchor (P2A): A new standard output type that allows keyless anchor outputs with compact spending conditions and improved txid stability.
- Limited Package RBF: Enables replacement of small clusters (size ≤2) in the mempool.
- Default Full RBF Enabled:
-mempoolfullrbf=1by default, allowing full Replace-by-Fee unless opted out.
These changes promote more efficient fee markets and better incentive alignment.
Updated RPCs and REST APIs
Key RPC Changes
dumptxoutset/loadtxoutset: Now use a new UTXO dump format; old dumps must be regenerated.estimatesmartfee: Default mode changed fromconservativetoeconomical, reducing fee overestimation.scantxoutset: Returns newblockhashandconfirmationsfields.submitpackage: Supportsmaxfeerateandmaxburnamountparameters.- Wallet RPCs like
fundrawtransactionnow acceptmax_tx_weight.
REST API Improvements
The /rest/getutxos endpoint now validates txids and outpoint indices more rigorously, returning HTTP 400 errors for malformed inputs—previously handled silently.
Wallet and GUI Enhancements
Wallet Features
- Detects mempool-conflicting transactions via the
gettransaction"mempoolconflicts"field. - New
createwalletdescriptorandgethdkeysRPCs allow advanced descriptor management—ideal for upgrading legacy wallets to Taproot. sendallcan now spend unconfirmed change with automatic fee bumping.bumpfeeallows custom feerates beyond the default 5 sat/vB increment.
GUI Updates
- “Migrate Wallet” menu now works regardless of loaded wallets.
- “Information” window displays max mempool size alongside current usage.
Low-Level and Infrastructure Upgrades
Block Storage
Block files are now XOR-encrypted by default using a key stored in the blocks directory (-blocksxor). This prevents unauthorized access but means older Bitcoin Core versions cannot read the data.
Chainstate Optimization
Pruning blocks no longer clears the database cache, significantly speeding up initial block download (IBD) on pruned nodes.
Build System Requirements
- GCC 11.1+ or Clang 16.0+ required
- Minimum glibc 2.31 — drops support for RHEL 8 and Ubuntu 18.04
--enable-lcov-branch-coverageremoved; useLCOV_OPTSinstead
Frequently Asked Questions (FAQ)
Q: Can I still use Testnet3 with Bitcoin Core 28.0?
A: Yes, Testnet3 is still supported in this release, but it will likely be phased out in future versions. Use -testnet as usual.
Q: What happens if I don’t update my RPC client after JSON-RPC 2.0 changes?
A: Most basic calls will still work, but advanced features or strict parsers may fail. Update your client to ensure full compatibility.
Q: Is libbitcoinconsensus completely gone?
A: Yes, it was removed in v28.0 after being deprecated in v27.0. You’ll need to migrate to alternative validation methods.
Q: Why did the Windows data directory change?
A: The move to AppData\Local follows modern Windows best practices for application data storage and improves user experience.
Q: Can I run Bitcoin Core 28.0 on Ubuntu 18.04?
A: No—glibc 2.31 is required, which means Ubuntu 18.04 (Bionic) is no longer supported. Upgrade to Ubuntu 20.04 or later.
Q: How does package relay improve transaction reliability?
A: It allows low-fee parent transactions to be relayed with high-fee children, helping them confirm faster—especially useful for RBF scenarios.
👉 Stay ahead with tools that integrate seamlessly with the latest Bitcoin Core features
Final Thoughts
Bitcoin Core 28.0 represents a mature evolution of the reference implementation—focusing on robustness, developer experience, and long-term sustainability. From enhanced mempool logic to better tooling for wallet upgrades, this release lays the groundwork for more scalable and user-friendly Bitcoin applications.
Node operators and developers are encouraged to upgrade promptly to benefit from performance gains and stay aligned with network standards.