Does anyone know how to change non-RBF transactions to RBF-enabled ones? I'm trying to help some folks with TrustWallet who can't bump unconfirmed transactions. Seems like the only way with TrustWallet is via CPFP, but what if we could rebuild the transaction and enable RBF instead? I found a tool called coinb.in, but I wonder if it really works to turn non-RBF into RBF.
How to Convert Non-RBF Transactions to RBF?
12 replies 210 views
wallet_vaultFull Member
Posts: 321 · Reputation: 431
#2Nov 3, 2022, 07:48 PM
-Dave
chrisomegaFull Member
Posts: 158 · Reputation: 631
#3Nov 3, 2022, 10:01 PM
You can't really turn a non-RBF transaction into an RBF one. If you change anything in the transaction, the signature breaks and you'd need to sign it again. But if you replace it with a new transaction, some nodes that support full RBF might take it, even if the original wasn’t flagged as RBF. So there’s a workaround if you act fast with an unconfirmed non-RBF transaction.
wallet_vaultFull Member
Posts: 321 · Reputation: 431
#4Nov 4, 2022, 12:38 AM
-Dave
chrisomegaFull Member
Posts: 158 · Reputation: 631
#5Nov 4, 2022, 04:33 AM
There are mining pools that will accept replacement transactions, even if the original wasn’t tagged as RBF. You can check out mempool.space for these transactions. So, I guess it means enough nodes are running full RBF.
Replace-by-Fee is a setting in node policy. There’s opt-in RBF and full RBF. The opt-in method uses BIP 125, which means we need to flag our transactions for a fee bump later. Full RBF doesn’t require that, but it’s safer to use opt-in to avoid problems.
You can't change existing transactions in the mempool since the opt-in RBF signal is in the nSequence field of each input. If you change that to a lower number, you’ll get errors. Changing it results in a new txid, and nodes will reject it if it has the same fee as the original.
Using full RBF is probably the best route. It’s the norm now. According to Peter, 17% of nodes are running full RBF. So it’s not wise to assume that non-RBF transactions are non-replaceable. Even newbies can now broadcast replacement transactions to nodes that support it.
I’ve been testing ways to rebuild transactions and noticed that coinb.in lets you toggle RBF. Makes me wonder if there's still hope for those non-RBF transactions. I might try it on Bitcoin Core using "-mempoolfullrbf" to see if that works for replacements.
chrisomegaFull Member
Posts: 158 · Reputation: 631
#10Nov 6, 2022, 12:10 PM
If you’re running your own node, you don’t necessarily need Electrum to broadcast transactions. You can do it directly. I haven’t tried it myself, but I think you’ll find a node that supports full RBF, and your transaction should get through.
If you have a full node, you’re likely already connected to a mempool that supports full RBF. So replacing a non-RBF transaction should go through. Just a heads up, if you’re not running your own node, you might want to check out Blockstream's explorer for Full RBF transactions.
I tested it in a testnet version of Electrum connected to their server, and it accepted replacement transactions without the RBF flag. I guess mainnet should work similarly depending on the server’s node. Just not sure if the Electrum client can handle it yet.
You can add nodes with full RBF to improve transaction propagation. Peter Todd's nodes are a good start. Mempool.space accepts full RBF replacements, but it all depends on whether the server you’re using has full RBF enabled.
Related topics
- Can I run a Bitcoin node on a non-standard port? 4
- Is Mempool.space Accurate for Fee Estimates? 19
- HD Wallet vs Descriptor Wallet: What's the Deal? 3
- New Wallet Regulations for Crypto Purchases Over $10K in the US 15
- Advice on Channel Size for Lightning Network 5
- Creating a Brain Wallet Generator with Bash 15