Earlier today I sent a tx with too low a fee (5.4sat/byte). After many hours in BitcoinCore I abandoned the transaction with the right-click option with a plan to send it again with a higher fee. I achieved this by starting BitcoinCore with -walletbroadcast=0 and thereby accessing the abandon menu item

Now none of my transactions small - or - large will broadcast. In BitcoinCore I just get stuck with Status: 0/unconfirmed, in memory pool and when I try to use a pushtx like blockchain.com or viabtc I get the error Validation Error: BitcoindException(super=com.neemre.btcdcli4j.core.BitcoindException: Error #-26: 18: txn-mempool-conflict, code=-26)

Deleting the memcache file won't help either as its clearly in the memcache of other nodes.

In BitcoinCore the funds are showing as spendable and I am able to click send, it just wont broadcast.

What can I do? I run a pruned node so I can't use zapwallettxes and I can't use bumpfee as the Transaction is not BIP 125 replaceable (code -5)

I'm fresh out of ideas other than downloading 180GB full chain in order to run zapwallettxes

  • Even a tiny < 5 USD tx will not send. It's not like its locked just the balance that I attempted to send with the small fee Nov 20, 2018 at 10:45

2 Answers 2


-zapwallettxes won't help because you already have done abandontransaction. When you use abandontransaction, all it does is it removes the transaction from your wallet and node locally. It will not effect other nodes as you cannot force a node to forget a transaction. -zapwallettxes will do effectively the same thing as abandontransaction, so it is useless to try using it.

The reason that you have a problem with sending a new transaction is because it is spending the same input as the one you abandoned. This means that that transaction is a double spend of your low fee one. Since the low fee transaction is still in the mempools of other nodes, the new transaction you are trying to make will be rejected as a double spend.

All you can really do now is wait for either the original transaction to confirm or wait for it to be evicted from everyone else's mempools.

  • I did a child-pays-for-parent tx using the change address of the stuck tx as the sender. Used coinb.in to sign and broadcast. Thanks for the helpful info Nov 20, 2018 at 15:51

Once the tx is broadcast, you cannot simply cancel it. This is because nodes already know about it, and it is a valid transaction waiting to be mined. Since the fee is low, it might sit in the mempool for a couple weeks (see -mempoolexpiry), or until the mempool gets large enough it gets bumped out as the lowest fee rate tx (see -maxmempool default is 300MB). You can do something like replace by fee, which replaces the previous transaction with one that has a higher fee. I think the real question that needs to be asked is Why is my transaction not getting confirmed and what can I do about it? Also, How do transactions leave the memory pool might also be helpful.

  • Can I do replace-by-fee if the transaction was not sent with any special flag to indicate this can be applied to tx? I don't know what the 'special flag' is called in Bitcoin Core but on coinb.in it is a check box to Make this a RBF transaction. Nov 20, 2018 at 15:21
  • I did a child-pays-for-parent tx using the change address of the stuck tx as the sender. Used coinb.in to sign and broadcast. Thanks for the helpful info Nov 20, 2018 at 15:51
  • Glad you were able to get it moving.
    – JBaczuk
    Nov 20, 2018 at 16:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.