So far, I've identified these great open source lightning wallets that also allow you to send and receive Bitcoin to an on-chain address. Note that I didn't add Simple Bitcoin Wallet because they are removing lightning support and also didn't add Muun because they don't provide an apk and they require Google Play services.
Blixt Wallet
This is a really nice and modern lightning wallet. It has a lot of state of the art features like Keysend, Lightning Address, LNURL and WebLN. Our own DarthCoin is one of the contributors. They use LND and Neutrino to provide lightning capabilities. This means you are running a lightning node on the phone. To provide on-chain capabilities, the wallet connects by default to their own BIP-157 supporting node at node.blixtwallet.com but you can set it to use your own Bitcoin node. As of today, there's no built-in swapping mechanism between lightning and on-chain:
Blixt, doesn't have (yet) an internal swap service LN --> onchain, only onchain --> LN (opening LN channels, with Dunder LSP or manually).
Breez
Another open source, non-custodial wallet. It also uses LND and Neutrino to provide lightning capabilities, and the wallet comes with a lot of great features. For the on-chain capabilities, it connects to their own BIP-157 supporting node at bb1.breez.technology but you can set it it to use your own Bitcoin node. They use Boltz to send Bitcoin from lightning to an on-chain address. Here are the fees for swapping between lightning and on-chain:
Receiving from BTC address involves a trustless submarine swap. Check the limits below the QR code before sending funds.No additional fees are incurred unless a new channel is required.Sending to a BTC address involves a trustless reverse swap. Reverse swaps require a minimum transaction amount of 50k sats. Please note that in a high fees environment, the minimum amount may be higher.Further, Boltz, the reverse swap provider, charges a fixed service fee of 0.5% plus an additional mining fee, which is based on the current bitcoin mempool usage.
Electrum
This is one of the oldest and most trusted wallets out there, and they implemented their own lightning support years ago(since version 4.0). You can send and receive Bitcoin with ligthning and on-chain. There is no automatic channel opening, so you must do that manually. In general this wallet is very powerful but you need to know what you are doing. Once you have lightning and on-chain funds you can swap between those balances directly(Electrum uses Boltz for this).
Phoenix
Phoenix is a lightning wallet based on Eclair and this means that it also runs its own lightning node directly in your phone. This wallet provides a great user experience, and comes with many features as well. For the on-chain capabilities, it connects by default to random public Electrum servers, but you can set it to use your own Electrum server. Here are the fees for swapping between lightning and on-chain:
Swap-in (on-chain tx to Phoenix): 1% of the amount received, with a 3000 sat minimum fee. This covers the cost of opening a channel. The amount received must be at least 10 000 sat.Swap-out (sending from Phoenix to a bitcoin address): variable, depending on the bitcoin mempool usage and our current UTXO set. Note that we're not taking a cut here, everything goes to the miners.
Zeus
This is a great wallet for lightning node operators. You can send and receive Bitcoin through lightning or on-chain. It provides a direct connection to your node where you can manage all the details of its operation. It works for lnd, Eclair, and c-lightning nodes. As of today, it does not provide a built-in way of swapping between lightning and on-chain.
BlueWallet
This is also a great wallet for node operators. It supports importing a lightning wallet through LNDHub. It connects to their own server ("the users are sharing a single node controlled by BlueWallet"), but you can set it to connect to your own LNDHub server. As of today, it does not provide a built-in way of swapping between lightning and on-chain
External swapping services
Here are some services that allow you to swap between Bitcoin lightning and on-chain, for a fee. These can be used with any lightning wallet, even if it doesn't have on-chain support(or vice-versa):
- Boltz (Bitcoin only)
- FixedFloat (Altcoins as well)