How to use wallets that enable instant transactions via the Lightning Network.
LN wallets are software applications that allow users to interact not only with the on-chain layer but also with the Lightning Network protocol. They enable sending and receiving payments in seconds, with instant settlement and low fees. These wallets are the best solution for holding funds dedicated to daily expenses.
In this guide, we will explore three of the main open-source and non-custodial wallets available on the market:
Phoenix, Breez, and Bitkit are three wallets that provide users with an LN node, allowing them to interact with the Lightning Network by opening and closing channels.
Setting up your wallet
- Download and install your chosen wallet: you can find the app on the Google Play Store or the App Store.
- Once installed, open the app and create a new wallet.
- To create a new wallet in Phoenix, click on Get started and then on Create new wallet.
- For Breez, simply click the Let’s Breez button and then Continue.
- To generate a new wallet in Bitkit, click on Get started and then on New wallet. If you click on Advanced Setup, you can choose to add a passphrase to your on-chain wallet.
When using a non-custodial LN wallet, it is necessary to also have an on-chain wallet to access your funds in case an LN channel closes. (Link to the LN deep dive).
Saving the seed or mnemonic phrase
To restore an LN wallet like Phoenix, Breez, or Bitkit, you need both the seed phrase and the backup file of the LN channel state.
For Phoenix and Bitkit, the channel backup is automatically managed by Acinq and Synonym, respectively. In the case of Breez, the backup file is saved to a cloud service (Google Drive, Apple iCloud, or Nextcloud) or to a personal server.
If you decide to use a cloud service, ensure that your account is secured with a strong password and two-factor authentication (2FA). Additionally, Breez allows you to encrypt the backup file. To do this:
- Go to Preferences > Security & Backup.
- Click on Encrypt Cloud Backup.
- Save the 24 words displayed on the screen.
These words are essential to restore your Breez wallet.
Save the seed phrase of the on-chain wallet
The seed or mnemonic phrase is a series of 12 or 24 words that allows you to restore the wallet in case of device loss or app uninstallation. It is crucial to store it in a secure location and never share it with anyone.
- Save the mnemonic phrase:
Go to the security settings, where the 12 or 24 words will be displayed. Write them down and store them in a safe place. Never save the mnemonic phrase in digital format. - Confirm the mnemonic phrase:
Some wallets may require you to confirm the mnemonic phrase to ensure you have written it down correctly.
To save the seed phrase in Phoenix, click on Backup my wallet and then on Display seed.
To back up your wallet on Bitkit, go to Settings, click on Back up or Restore > Back up your wallet.
Receiving Bitcoin on the Lightning Network (LN)
To receive payments via the Lightning Network, you must first generate an invoice.
- On Phoenix:
- Click on Receive, and Phoenix will display an invoice in the form of a QR code.
- By pressing Edit, you can request a specific amount of satoshis.
- Share the invoice with the sender by copying it to your clipboard and sending it, or simply show the QR code to the sender.
- In addition to using an invoice, Phoenix also allows receiving payments through the LNURL protocol by clicking on the Use a LNURL link button.
- On Breez:
- A similar process applies when you want to receive an LN transaction.
- On Bitkit:
- To create an LN invoice, you must enable the Receive Instantly option at the bottom.
- Unlike Breez and Phoenix, Bitkit does not support receiving payments via the LNURL protocol or Lightning Addresses.
Important note:
The first transaction on a non-custodial LN wallet is used to open an LN channel. After this initial transaction, some wallets may charge a fee for channel opening.
Receiving Bitcoin Onchain
LN wallets also allow receiving Bitcoin through an onchain address.
- To receive via an onchain address:
- Click on Receive and then on Show a Bitcoin address/Receive via BTC address.
Note: The onchain address displayed is not controlled directly by your wallet. It is a swap address. Any onchain funds sent to this address will be converted into an LN channel.
- Fees:
- On Phoenix, you will pay mining fees associated with the swap transaction.
- On Breez, a 0.4% fee is charged for opening an LN channel without waiting for an onchain confirmation.
- On Bitkit, there are no fees for receiving Bitcoin onchain, but you can choose to pay a fee for opening an LN channel.
Sending Bitcoin on the Lightning Network
To send Bitcoin from your LN wallet:
- Click on Send.
- Scan or paste the recipient’s invoice.
- Enter the amount of satoshis to send if requested.
- Click Pay.
You can send to an LN invoice, an LNURL request, or a Lightning Address.
- Fees:
- On Phoenix, a fixed fee of 4 sats plus 0.4% of the sent amount is applied.
- On Breez and Bitkit, standard routing fees apply. These fees vary based on the payment path and the destination node.
Fees and channel management
When receiving your first transaction on an LN wallet, the company behind the wallet will establish an LN channel with your mobile node.
- Phoenix’s Splicing Functionality:
Phoenix allows you to manage a single “dynamic LN channel” that adjusts its capacity through an onchain transaction based on how much you need to send or receive.- This transaction increases liquidity for receiving funds and decreases it for sending funds.
To optimize the splicing function:
- Consider opening a large LN channel initially and sending most of the funds to an external wallet through an LN transaction.
- This setup ensures a channel with sufficient capacity for receiving funds without frequently resizing the channel.
Creating an LN channel
- On Phoenix, the LN channel is created upon the first onchain transaction sent. The fee for opening the channel is 1,000 sats plus the mining fees for the swap transaction. If resizing the channel, a fee of 1% plus mining fees is applied.
- On Breez, the cost of creating an LN channel is 0.4% of the amount sent. Unlike Phoenix, Breez does not support splicing. Therefore, if you receive a payment that exceeds the capacity of your existing channels, a new LN channel will be created, incurring an additional fee.
- On Bitkit, there are no additional costs for channel creation other than the network fees for an onchain transaction.
Privacy considerations
Phoenix, Breez, and Bitkit operate as mobile LN nodes that allow users to create channels and send/receive satoshis. However, for routing payments on the Lightning Network, they rely on trampoline nodes (Acinq for Phoenix, Breez’s node, and Bitkit’s node).
- While this ensures higher reliability for payment success, it may involve privacy trade-offs.
Default privacy concerns:
- Without enabling a Tor connection, the companies behind these wallets can access your IP address, the amount of satoshis sent, and the recipient’s node for each payment.
Improving privacy:
- Enable Tor within the wallet settings.
- Use a personal Electrum Server to enhance privacy when closing a channel or sending onchain transactions.
Restoring an LN Wallet
If you lose your smartphone or uninstall the app, you can restore your LN wallet using the backup made during setup.
Steps to restore:
- Reinstall the wallet app.
- Select Restore my wallet/Restore from backup.
- On Phoenix and Bitkit: Enter the backup seed words and click Import. Your wallet balance should reappear on the main screen after a few seconds.
- On Breez: Select the service and account where the backup was saved and enter the 24 words initially provided.
Important note: LN wallet restoration must be done on the same wallet used previously. For example, you cannot create a wallet on Breez and restore it later on Phoenix.