An error occurred when sending: You have enough funds, but it will not send

This is an issue that occurs when you have mixed coinbase BTCP (i.e. directly mined into wallet) with BTCP that has already entered circulation. This is an issue that can cause problems for mined funds as well as coins that need to be claimed directly after the fork.

BTCP must be mined to a transparent (b1) address, then sent to a z-address. If you are mining in a pool, this is usually not an issue as the pool is designed to send to a z-address before payout. In the case of claimed BTCP, it can be sent directly to a b1 address.

This means that any mined funds (not claimed) must be sent to an address in a Full-Node wallet as Electrum does not currently support shielded addresses.

Here is how to solve the issue:

  1. If using electrum, import private keys to a full-node wallet.
  2. Isolate which funds are coinbase in that address. In the GUI, they usually show as "mined" instead of "in."
    1. Add these amounts up and then send to a z-address, minus the TX fee you set.
  3. Now the rest of the BTCP in that wallet can be sent normally. From now on, send all mined BTCP to a separate address.

EXAMPLE:

total BTCP in wallet 2.5625

total coinbase BTCP: 1.5625

total coinbase BTCP sent: 1.5625

TX fee: 0.00005

total BTCP received in z-address: 1.56245