5

I often receive an -32700 'Insufficient Funds' error when attempting to create 'child pays for parent' (CPFP) transactions using unconfirmed change output. This can be problematic since it can prevent me from sending further transactions until the parent transaction is confirmed.

My question: Is there a bitcoin.conf setting (or other workaround/solution) that would allow for the acceptable length of chains of CPFP transactions/unconfirmed change outputs to be increased, and thereby avoid being stuck, unable to broadcast further bitcoin transactions until parent txs are confirmed?

A related side question - I have not yet discovered the logic behind how bitcoin core decides to allow an additional CPFP transaction to be chained, and when it gives an 'Insufficient Funds' error. It seems to be anywhere between a chain of 1 to ~5 (i.e. sometimes I get 'Insufficient Funds' error when there is only a 'chain' of one tx, other times, up to around 5) and it is not clear to me how this is determined. What is the logic here?

1

The maximum unconfirmed descendant count is a mempool setting, not a wallet one. Assuming most of the network run with the default of 25, even if you changed your own mempool to accept a longer chain the last child transaction would not relay.

Anyways, in such an extreme case (a chain of >25 unconfirmed transactions) you likely want to bump your fees already. And batch your transaction next time..

how bitcoin core decides to allow an additional CPFP transaction to be chained, and when it gives an 'Insufficient Funds' error.

The wallet will by default spend unconfirmed change (transactions it itself created), but not unconfirmed incoming payments.

  • Thanks for your answer. Unfortunately this doesn't really explain why I am unable to spend unconfirmed funds with chains less than 5. Currently I have unconfirmed change output from a single transaction ('chain' of 1) which I am unable to spend, with a 'Insufficient Funds' error, despite getbalance showing all of my expected funds. Do you have any idea what may be causing this, or a possible solution? – qmux Jan 12 at 14:13
  • What command are you using? Do you have spendzeroconfchange=1 (the default) ? Are you sure the wallet is only including this specific utxo (you may be confused by fees, too. Maybe and if possible do a dry run with a smaller amount) – darosior Jan 12 at 14:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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