Author

Topic: Pseudo(?) self-custodial LN wallets (Read 434 times)

hero member
Activity: 714
Merit: 1010
Crypto Swap Exchange
October 01, 2024, 05:16:26 AM
#20
Has anyone tried Pheonix? Seems like the best self-custodial wallet out there, and it was the first one to implement Bolt12.
I've used Phoenix for a payment that I couldn't make successfully with the custodial WalletOfSatoshi that I occasionally (rather rarely) use for small payments via LN.

I'm pretty happy with Phoenix and I would label it as non-custodial. You've 12 mnemonic recovery words for your wallet. Taproot on-chain addresses are default.

As I currently don't have any payment channel open (due to only a small amount of Sats sitting in my Phoenix wallet after legacy wallet migration), I can't say much to unilateral channel control from your own side. Channel control should be covered by their documentation and FAQ section which isn't bad at all.

You've optional automatic channel creation for incoming payments (if your current incoming liquidity can't handle it, another channel is automatically opened for you; you can set a limit for channel creation fees which is very good if state of mempool is crazy; should automatic channel creation exceed your set limit, an incoming payment causing a new channel created would be rejected).

When you fund a channel Phoenix automatically gives you some amount of incomming liquidity (don't know exactly if it's some sort of percentage of your channel capacity). Nice feature so that incoming payments may not automatically need another automatic channel with its on-chain fees required (btw, Phoenix displays an estimate of current on-chain fees for channel creation, based on mempool waterlevels).

To enhance privacy, you can choose your preferred Electrum server for the wallet, even an own one. You can enable Tor.

To lock the wallet you can enable system screen-lock/unlock via fingerprint and/or a custom PIN code. Lock timeout can be individually set for the wallet.

My Android app version 2.3.9 currently shows BOLT12 payments "coming soon".

I don't have much experience with the app as I only used it as workaround app, but so far I like it. It's convenient, it claims to be open-source (frankly, I haven't checked, too small amounts involved so far), I like the amount of control and the optional automatic channel handling, also that you immediately have at least some amount of incoming payment liquidity.

I'm not a proponent of having a lot of value in a mobile wallet, regardless if on-chain or LN. My personal limits are in the ballpark of pocket money or what I comfortably would carry in my daily fiat wallet. YMMV...
legendary
Activity: 2212
Merit: 7064
September 06, 2024, 12:55:56 PM
#19
For wallets like Zeus, which do not restore full access to the channel after reinstalling on a new device, one potential solution is to initially run them in a virtual environment and save a snapshot. Even then, I'm no longer sure that the channel state is preserved correctly.
Thanks for explaining this, and for posting potential dolution.
It's just like I expected, most Lightning wallets are not ready for mass adoption, and I suspect they never will be  Tongue
I found one semi-compromise with Aqua wallet that is converting LN payments to Liquid Network assets, and everything can be restored with regular seed words backup.
Not perfect solution, since Liquid is federated, but it's ok for smaller amounts.

Has anyone tried Pheonix? Seems like the best self-custodial wallet out there, and it was the first one to implement Bolt12.
And the first one to be banned in US, or they self-banned themselves  Tongue
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
September 06, 2024, 12:01:27 PM
#18
Most wallets that claim to be self-custodial create backups of channels. The problem is that users can't extract the necessary transaction from these backups and send it to the network via Bitcoin Core or something similar.
You're not supposed to extract that, but to broadcast it directly from the LN software. Among all transactions saved in the database, only the latest can be broadcasted with no penalties. Therefore, the transaction you want is always one, which can be broadcasted to the network by force-closing the channel. (If closing cooperatively is not an option.)

Has anyone tried Pheonix? Seems like the best self-custodial wallet out there, and it was the first one to implement Bolt12.
legendary
Activity: 1610
Merit: 2026
September 06, 2024, 07:48:22 AM
#17
What do you think about Zeus LN wallet?
It is self-custodial open source wallet and better alternative to Mutiny and other custodial LN wallets.
To fully manage the bitcoins in a payment channel, you need a private key and a transaction which has been signed by both parties in the channel but hasn't been sent to the network. This pre-signed transaction reflects the latest state of the channel (indicating what share of the deposited assets belongs to each party).

Here's the catch: I don't know of any wallet that provides this transaction to the user. The Zeus wallet doesn't offer it either.

Most wallets that claim to be self-custodial create backups of channels. The problem is that users can't extract the necessary transaction from these backups and send it to the network via Bitcoin Core or something similar. You need the same software that created the backup to decrypt it.

So, for complete self-custody and full control in wallets that restore access to channels after being launched on a new device (like Phoenix, Blixt, and Valet), three components are needed: a seed phrase, the application installation file, and the channel backup. If you have all of this, you can manage your bitcoins under any circumstances. This was also the case with Mutiny. However, it turned out that the backup was faulty, and unfortunately, the error was not in my favor.

For wallets like Zeus, which do not restore full access to the channel after reinstalling on a new device, one potential solution is to initially run them in a virtual environment and save a snapshot. Even then, I'm no longer sure that the channel state is preserved correctly.
legendary
Activity: 2212
Merit: 7064
September 04, 2024, 03:36:31 PM
#16
The Mutiny wallet is shutting down
I heard about it.
RIP Mutiny.

I closed my channel and lost most of my funds. Here’s how it happened.
Oh how many times I heard that sentence from people using Lightning Network  Tongue

I believe a similar situation could arise in other mobile wallets with limited functionality. Full control over funds in Lightning channels is only available to those who operate a full node.
What do you think about Zeus LN wallet?
It is self-custodial open source wallet and better alternative to Mutiny and other custodial LN wallets.
legendary
Activity: 1610
Merit: 2026
September 04, 2024, 06:04:36 AM
#15
Can you control the channels or do they?
What does “control” mean?
In Mutiny wallet, I can open channels only to their default lightning service provider Voltage. So all the sats I receive to Mutiny via LN comes through Voltage’s node.
But I have some control over my channels. At least, I may close them unilaterally. (Actually, I haven’t tried, but there is such a button in the wallet interface.)
Here’s another observation regarding the Mutiny wallet, and possibly other wallets as well.

The Mutiny wallet is shutting down, and it was announced yesterday that it’s time to close existing channels. I closed my channel and lost most of my funds. Here’s how it happened.

Initially, the channel was funded by a transaction from my side, with an output of 3,999,344 satoshis. That was the total capacity of the channel.

During the lifetime of the channel, there were 8 transactions, and the total fees for them amounted to 701 satoshis. As a result of these transactions, I should have had 94,308 satoshis remaining in the channel, while the rest belonged to the LSP.

However, when I initiated the channel closure today through the wallet interface (which was the only option), it created a transaction where 771 satoshis were sent to miners, 3,953,983 satoshis went to the other party in the channel (LSP Voltage), and only 44,580 satoshis were sent back to me. This means that the LSP received nearly 50,000 satoshis more than they were entitled to, while I received almost 50,000 less. I had no way to influence this outcome because I didn’t have full control over my funds.

I believe a similar situation could arise in other mobile wallets with limited functionality. Full control over funds in Lightning channels is only available to those who operate a full node.
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
March 28, 2024, 06:58:57 AM
#14
It is easily fixed with either a CPFP OR bumping the fee if RBF is enabled (which it should) OR using a TX accelerator.

So it's not the end of world.

Did they share the TXID?

Makes you wonder what happened to cause the issue.

-Dave
Channel closing transactions are usually beyond the user's control in mobile LN wallets. So, it's impossible to initiate RBF.

For CPFP, you must control one of the receiving addresses. But Blitz wallet is based on BreezSDK/Greenlight. In this architecture, the addresses which receive the outputs of channel closing transactions are not controlled by users. The user whose channel is closed must order a "refund" after the closure. Thus, CPFP is impossible, too.

A TX accelerator may help. But one needs to know the TXID for it. And wallets may provide users with wrong TXIDs. At least, Green wallet, after the closure of my channel, gave me the TXID which cannot be found in mempool.space. I knew the TX which had opened the channel, so I managed to find the actual closing TX. But it was possible only because I opened the channel myself. Usually such wallets (Green, Relai, Blitz etc) open the channels when users top-up their wallets via LN invoices. In this case, users don't know the actual TXID of their opening transaction, and it may be hard to allocate the closing one.

Sorry, I was pointing out that Blitz could do it, not that the person with the issue could. Did not make myself clear.
As, you pointed out they could possibly do #3 if they had the TXID but that's about it.

The issue can be handled / solved. It's not like the BTC went to an unknown address or something like that.

If Blitz chooses not to help their user that's their choice. But, then people can choose not to use them if issues like this keep coming up.

-Dave

legendary
Activity: 1610
Merit: 2026
March 28, 2024, 01:53:54 AM
#13
It is easily fixed with either a CPFP OR bumping the fee if RBF is enabled (which it should) OR using a TX accelerator.

So it's not the end of world.

Did they share the TXID?

Makes you wonder what happened to cause the issue.

-Dave
Channel closing transactions are usually beyond the user's control in mobile LN wallets. So, it's impossible to initiate RBF.

For CPFP, you must control one of the receiving addresses. But Blitz wallet is based on BreezSDK/Greenlight. In this architecture, the addresses which receive the outputs of channel closing transactions are not controlled by users. The user whose channel is closed must order a "refund" after the closure. Thus, CPFP is impossible, too.

A TX accelerator may help. But one needs to know the TXID for it. And wallets may provide users with wrong TXIDs. At least, Green wallet, after the closure of my channel, gave me the TXID which cannot be found in mempool.space. I knew the TX which had opened the channel, so I managed to find the actual closing TX. But it was possible only because I opened the channel myself. Usually such wallets (Green, Relai, Blitz etc) open the channels when users top-up their wallets via LN invoices. In this case, users don't know the actual TXID of their opening transaction, and it may be hard to allocate the closing one.
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
March 27, 2024, 06:12:57 PM
#12
A user of Blitz wallet shared how after closing the channel to the LSP, the balance of his wallet became zero. It turned out that the closing transaction was broadcasted to the network with a fee of 2 sat/vB and was subsequently dropped from the provider's mempool. Now the provider (and consequently, the wallet application) cannot see the funds either on the Lightning Network or on the base layer, indicating that they simply don't exist.

Of course, if the mempool ever clears, the provider will eventually see the transaction, and it will appear in the wallet. Nevertheless, this story suggests that calling such storage non-custodial when you don't control the fee isn't entirely accurate. Due to incorrectly set fees by the application, you could lose access to your funds for a long time.

It is easily fixed with either a CPFP OR bumping the fee if RBF is enabled (which it should) OR using a TX accelerator.

So it's not the end of world.

Did they share the TXID?

Makes you wonder what happened to cause the issue.

-Dave
legendary
Activity: 1610
Merit: 2026
March 27, 2024, 01:50:07 PM
#11
A user of Blitz wallet shared how after closing the channel to the LSP, the balance of his wallet became zero. It turned out that the closing transaction was broadcasted to the network with a fee of 2 sat/vB and was subsequently dropped from the provider's mempool. Now the provider (and consequently, the wallet application) cannot see the funds either on the Lightning Network or on the base layer, indicating that they simply don't exist.

Of course, if the mempool ever clears, the provider will eventually see the transaction, and it will appear in the wallet. Nevertheless, this story suggests that calling such storage non-custodial when you don't control the fee isn't entirely accurate. Due to incorrectly set fees by the application, you could lose access to your funds for a long time.
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
February 15, 2024, 10:33:09 AM
#10
Can you control the channels or do they?
What does “control” mean?
In Mutiny wallet, I can open channels only to their default lightning service provider Voltage. So all the sats I receive to Mutiny via LN comes through Voltage’s node.
But I have some control over my channels. At least, I may close them unilaterally. (Actually, I haven’t tried, but there is such a button in the wallet interface.)

I was asking if you can open to wherever you like. And if they could open / close channels on your behalf.

In theory it's still self-custody but if they can have your wallet open channels to places that they want them opened to without you interacting it's different.

Yes you control it, but you can only open channels to these 50 other nodes....all of which we control....

-Dave
sr. member
Activity: 1680
Merit: 379
Top Crypto Casino
February 13, 2024, 05:59:25 AM
#9
Do you know if Breeze wallet falls into this category or not?
It's been years since I tried Breeze, but I remember that I could receive sat without any channel, which gave me the impression it is custodial.

It is not custodial. Many lightning wallets are doing this now. When you receive a payment they will open a channel on demand to your node. You will have instant inbound capacity by opening a channel this way, instead of having to send a few payments first before you are able to receive sats.
legendary
Activity: 1610
Merit: 2026
February 13, 2024, 01:22:44 AM
#8
Can you control the channels or do they?
What does “control” mean?
In Mutiny wallet, I can open channels only to their default lightning service provider Voltage. So all the sats I receive to Mutiny via LN comes through Voltage’s node.
But I have some control over my channels. At least, I may close them unilaterally. (Actually, I haven’t tried, but there is such a button in the wallet interface.)
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
February 12, 2024, 11:13:52 AM
#7
I doubt the self-custodial nature of the Mutiny wallet.

Their website states that the wallet is self-custodial.
***image removed***

However, recently Mutiny introduced a fee of 1 satoshi for each incoming transfer. If I create an invoice for 1000 satoshis, and someone pays it and sends me 1000 satoshis, Mutiny somehow manages to take one satoshi for itself from the received amount, leaving me with 999.

In my opinion, such a maneuver wouldn't be possible with self-custodial storage. If a thousand satoshis are received via my invoice, no one should be able to withdraw anything from that thousand without my permission. Yet, Mutiny can. Therefore, the wallet developers have access to the bitcoins in it. Applying the term "self-custodial" to such a wallet, in my view, is incorrect.

Can you control the channels or do they? If all the BTC goes though their channels then yes they can.
You have your channel(s) but they all go through theirs. It's a crappy way to do things and a logistical programming disaster but it can be done without them having access to your BTC

If you can connect to whatever peers and open channels to them then I do not see a way off the top of my head for them to take their fee.

-Dave
legendary
Activity: 1610
Merit: 2026
February 12, 2024, 03:38:03 AM
#6
I doubt the self-custodial nature of the Mutiny wallet.

Their website states that the wallet is self-custodial.


However, recently Mutiny introduced a fee of 1 satoshi for each incoming transfer. If I create an invoice for 1000 satoshis, and someone pays it and sends me 1000 satoshis, Mutiny somehow manages to take one satoshi for itself from the received amount, leaving me with 999.

In my opinion, such a maneuver wouldn't be possible with self-custodial storage. If a thousand satoshis are received via my invoice, no one should be able to withdraw anything from that thousand without my permission. Yet, Mutiny can. Therefore, the wallet developers have access to the bitcoins in it. Applying the term "self-custodial" to such a wallet, in my view, is incorrect.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
January 05, 2024, 06:55:39 AM
#5
Do you know if Breeze wallet falls into this category or not?
It's been years since I tried Breeze, but I remember that I could receive sat without any channel, which gave me the impression it is custodial.

Any self-respecting Lightning service provider should allow you to export your macaroons and seed phrases, so that you can interact with the node with a command-line tool or some other wallet.
I would also add that for a lightning wallet to respect self-custody, it has to be open-source, and as far as I can see, Bridge isn't. You wouldn't call a closed-source Bitcoin wallet self-custodial; don't trust, verify.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
December 30, 2023, 11:12:37 PM
#4
Any self-respecting Lightning service provider should allow you to export your macaroons and seed phrases, so that you can interact with the node with a command-line tool or some other wallet. Don't bother using them if they don't let you do that.

I don't use mobile LN apps, but I do have a browser extension. It's not much better security wise, but there is only a couple of sats in there.

You  might be able to buy channels to your node with some service like Amboss though.
legendary
Activity: 1610
Merit: 2026
December 27, 2023, 02:09:16 AM
#3
Do you know if Breeze wallet falls into this category or not?
I didn’t use Breez, so I can’t answer. They say they provide an option to close channels (https://doc.breez.technology/How-to-close-Breez's-channels.html) but it’s not clear whether it needs to be a cooperative closure, or users may close their channels unilaterally. Similar buttons are present in Electrum and in Green.

I like Blixt. It has a special “force-close” button, and it works. Such button is present in Phoenix also. I think, it must work. But I’ve never tried it.
legendary
Activity: 2212
Merit: 7064
December 26, 2023, 12:11:13 PM
#2
I was playing with BitMask wallet recently and I didn't like it, but I never tested other wallets you mentioned here.

Some LN wallets pretend to be self-custodial, but there is no option for users to force-close their channels there. So users have to rely on LSPs. If the LSP goes offline, users cannot access their money, and, in the worst scenario, they can completely loose it.
Do you know if Breeze wallet falls into this category or not?
They claim that non-custodial Lightning node is running on mobile devices after installing Breeze app, but there is also a warning that you may loose funds when you first start the app, because they are in beta stage.
https://breez.technology/mobile/
legendary
Activity: 1610
Merit: 2026
December 26, 2023, 04:17:11 AM
#1
Some LN wallets pretend to be self-custodial, but there is no option for users to force-close their channels there. So users have to rely on LSPs. If the LSP goes offline, users cannot access their money, and, in the worst scenario, they can completely loose it.

Here are some examples of such wallets.

Defiant


Bitmask


Bridge wallet


10101


None of them has any tools for channel management. Their users cannon force-close LN channels and may send money only from their channels only if wallet servers remain online and collaborate.

I asked support teams of all these wallets how I can access my money incase their servers go offline forever. But they have no answer. Only Bitmask says something that looks like kind of an answer:
I believe our server does support LNURL, we just don't have a way for a user to see that
Will look into it

Maybe I err, and funds in LN channels are self-custodial even if I have no tools for force-close?
Jump to: