In the past few days you might have noticed that Copay occasionally got your outgoing transactions "stuck".





The stuck transactions are not nonstandard; in fact, you can't really know, since if you click into them and click "view on blockchain" the explorer does not even register its existence. It does, however, remain on the Copay server your wallet is talking to; and as seen before, the ghost still remains even if you recover the seed somewhere else and double-spend its inputs (trivial because the transaction was not broadcast).

While your funds are not lost (because transaction was not broadcast) and the recipient likely didn't lose anything (because he/she wouldn't have seen the incoming payment anyway if it never broadcast), it's incredibly annoying to have your transaction stuck, now you can't trust the wallet to do what you want. Furthermore, since it's "sending", you can't even spend the change! This is most likely a problem with the Copay servers.

To remedy this problem - since the Bitcoin Cash chain itself is not encountering any problem, only the Copay backend - you'll need to recover your backup seed somewhere else. More experienced users can already do this themselves at any wallet of their choice, but I'll show the quick steps for a casual user here. The fastest way to do this is through a Bitcoin.com wallet, which shares the same seed format as Copay.

Update: An alternative method ("Importing directly") that takes advantage of the fact that Bitcoin.com uses the same wallet format has been posted, scroll to the bottom to read it. It'll also allow direct recovery of multisig wallets if all the cosigners do it the same way.

Get your Copay 12-word backup seed. If you have not backed it up, do it right now! (following screenshot in "settings")

2. Got your seed on paper? Good. Now download the Bitcoin.com wallet if you haven't already.

3. In Bitcoin.com wallet, add a new wallet from the main screen.

4. In the next screen, "show advanced options". Scroll down and change "wallet key" from "random" to "specify recovery phrase".

5. Type in your recovery phrase in the screen above where it says "Enter recovery phrase". Do not change anything else. Scroll down and hit "Create new wallet".

6. If it complaints that the wallet is not registered and needs to be rescanned, tap the message to rescan. If not, let it sit for a minute or so anyway after tapping into your newly recovered wallet.

7. Your funds are back and are now usable!

Note that this recovery will get your confirmed transactions and broadcasted transactions back; the "stuck" transactions were not broadcast, bitcoin.com's servers will likely not know they even exist. It is advisable that you send the contents of this wallets to somewhere unaffected (such as a native, not-recovered wallet inside the same bitcoin.com app) as soon as possible.

Alternative method: Direct import into Bitcoin.com wallet

Since Copay and Bitcoin.com uses the same exact format in their wallet data, we can directly import from one to the other.

In the wallet settings page, instead of "Backup", choose "More options".

2. Choose "Export Wallet".

3. Set a simple password, then "Copy to clipboard".

4. Now go to Bitcoin.com wallet, click the plus sign to add a new wallet as in the first half of the guide, then "Import Wallet".

5. Tap "File/Text" on top, long-press the "paste backup plain text code" section and paste, enter your password set justnow, and tap "import backup".

6. Proceed as in the first part of the guide. This also works for multisig wallets.

Did you find that useful? If you have additional pointers, leave a comment below.

Tips appreciated!

Note: There is no additional how-to behind the paywall, just a rant on how we should bug Bitpay to get their wallet server together.