Lightspark fund recovery kit instructions

Overview

In most cases, you can withdraw your funds from Lightspark services through the normal withdrawal process. The funds recovery kit serves as a valuable backup mechanism in case the Lightspark services are completely unavailable or you otherwise need to recover your funds and do not intend to use the services. The recovery kit is a text file that consists of fully signed bitcoin transactions that close all of your channels and send your bitcoin to a Bitcoin address you have specified during the recovery kit setup process. In some cases there are built-in delays associated with the Lightning Network protocol for these types of transactions, and it may take several days before your bitcoin is transferred.

How it works

The recovery kit is a text file that consists of fully signed bitcoin transactions that close all of your channels and send your bitcoin to your Bitcoin recovery address you specified. Each time your account makes, forwards, or receives payments, the recovery kit is updated. Therefore, you should stop payments activity in your account before using the recovery kit. You should use only the most recent recovery file; use of outdated recovery data can be ineffective or at worst can result in loss of your bitcoin.

Recovery kit step-by-step instructions

1. Secure the recovery kit file

If someone inappropriately gains access to your recovery kit file without your knowledge, the recovery kit transactions could be broadcast and you could lose all the bitcoin you hold through the Lightspark services. You should secure your recovery kit file as you would your private keys, including where you have multiple authorized users for your Lightspark account.

2. Before initiating recovery, cease use of all Lightspark services

Before you use the recovery kit, you and any authorized users for your account must completely cease use of all Lightspark services. If you broadcast recovery transactions while still using Lightspark services, there is a high chance that you will lose most or all of the bitcoin. It's up to you to ensure that you do not initiate payment activity through Lightspark services after you have the recovery kit file you intend to broadcast. 

3. Broadcast all of your transactions from the recovery kit

To use the recovery transactions to move bitcoin to your Bitcoin recovery address, all transactions from the recovery kit must be broadcast. 

Use your own bitcoin node (recommended)

Use the command:

bitcoin-cli sendrawtransaction <hex data>

Use an online service (less private)

Alternatively, you can paste the transaction hex data and click "broadcast transaction" into public sites that allow transaction broadcast.

Examples include:
https://mempool.space/tx/push
https://blockstream.info/tx/push
https://live.blockcypher.com/btc/pushtx/

Privacy considerations
These sites are generally calling the same "sendrawtransaction" command on their back-end which results in identical functionality, with some loss of privacy as these sites can associate the users IP address with the transactions.

4. Confirm transfer

Once the recovery process has finished, all of your bitcoin, less transaction fees, will have been sent to the Bitcoin recovery address.

Important Notes

Lock times

There will generally be a small number of transactions to broadcast for recovery, but in some cases, particularly with heavy usage, there may be tens of transactions.  Each transaction needs to be individually broadcast.  Some transactions will have "lock times," meaning that they will not be accepted by the network before a certain date, usually several days to a week after the recovery process has begun.  These lock times will be indicated in the recovery file above every transaction which has such a restriction.  Attempting to broadcast a transaction with a lock time before the indicated date is safe but will be ineffective and result in an error.  Similarly, attempting to broadcast a previously broadcast transaction is safe but won't do anything.  This means that in a case where somehow the locktimes have been forgotten or can't be dealt with, it is possible to simply try broadcasting all transactions every day.