I was a big advocate of Muun wallet before, the main reason to this was because is the easiest wallet to onboard new people to the lightning network, you just download the wallet, create a lightning invoice and receive the funds via the lightning network, you will receive the whole amount, no fees or anything disruptive to the receiver, just magic internet money at work.
The problem with Muun is that they hide how they operate. For example, if you receive 10000sats on chain you can see on any blockchain explorer that they money is there, you are in control of it and you are informed in which address they are. But when you receive 10000sats on lightning, in theory they are doing a submarine swap for you to keep your funds “non-custodial” on chain. And that’s fine but there is no way to know if that is true, they don’t inform the user what on-chain address they are using or how many. I guess the only way to know this is restore your wallet using the emergency kid they provide or doing a subsequent on chain transaction to yourself.
This issue gets more noticeable when you receive on chain funds and later you make off chain payments, because following the trail on chain you can see how the funds flow from your wallet to the submarine swap wallet. This is fine to me, they explained well they are doing this for me, but the issue here is I saw different amounts on my wallet and the on chain explorer, so here I noticed that they are not 100% transparent of what they are doing with my funds, and that’s for me is a conceptual flaw, because the main point of using a non-custodial wallet is to feel you are on control of your funds or at least know what is happening under the hood, and you can only have that if you are well informed, in this case the information the wallet is giving you is not correlated with the information you see on the blockchain using a blockchain explorer.
Here an example:
The wallet says I paid 751691 sats but the on-chain explorer shows a different amount
Another issue I found deal breaker for me is when you receive a big number of small payments in lightning, The wallet does a good job managing that for you and that’s one of the big selling points when you are recommending Muun wallet to someone new. You don’t need to worry about creating channels or be aware of inbound capacity. But it can become a big issue later, because it creates a big number of small transactions on chain. And like I said before, you are not being informed of what is happening. Here an example of a transaction of few incoming lightning payments when I send all my funds to an on-chain address.
This graph only shows a small number of incoming transactions but imagine if you are a store or someone who use the LN in a daily basis, you will create without knowing it a monstrous transaction of hundreds of inputs. I think the LN should clean the Bitcoin blockchain of unnecessary small transactions, not make this worst.
To finalize I also find disturbing that Muun is the only mayor wallet that do not recognize LNURL addresses. And that can be headache later for the newcomers who wants to pay online sites that are already implementing this. I think this is vital to have a homogeneous lightning experience and for some reason Muun does not give this a priority. (LRURL auth is also out of their road map).
I understand Phoenix wallet is not perfect, it has a nasty 1% (3000sats min) fee for channel creation which is terrible if you plan to give 10$ to someone to test. But after creating a big channel the experience is the best we can have in a non-custodial lightning environment.
I don’t want to be the guy who talk bad about great bitcoin projects, but I wanted to share with everyone here my findings on Muun and help others to decide if they want to keep using it or maybe look other options.
One of the worst things Muun does is to charge very large fees to senders. This means that automated services can be unable to send to muun, e.g., exchanges. It can charge over 1000 sats sometimes.
Note that this is quite different than the way Phoenix charges for a new channel. Phoenix charges the recipient. Muun charges a huge fee to the lightning sender, so if the sender has a limit on fees based on normal lightning expectations, it simply won’t go through.
IMHO if you don’t have your own node, Phoenix is the best non-custodial wallet at the moment.
reply
I hope you also realize that Phoenix is a highly trusted LN wallet too. If you're concerned about Muun's on chain wallet just wait till you learn how Phoenix handles on chain funds.
reply
Please, Illustrate me.
reply
The "on chain wallet" generates addresses that belong to Acinq. If they decide to, they later open a channel with you if you're online at some point after they receive money. When you send on chain, you pay one of their invoices and they later send their own on chain funds to the address.
When you receive LN when you don't have enough inbound, their own invoice is created so people pay them. If they decide to, they later open a channel with you and push funds over.
They essentially operate as a trusted money service business. Eventually you may have custody of the funds, but it's even more trusted than muun in multiple aspects.
reply
I understand when you send funds to the onchain address is not your address, that is specified on the wallet, and we are all agree with that, I mean you and I are in the same page.
But when you receive funds to an invoice you created, and you don't have the inbound balance, they create a turbo channel with YOUR node.
What you say about they receive the funds and they "decide" to create a channel with you later doesn't make any sense to me, are you saying that in ALL invoices you create on phoenix wallet send information to route the funds to a third node in case your node doesn't have a channel with enough inbound capacity? sorry I lost you on this.
reply
No, not all invoices, just when you can't receive (I believe).
But yes, I guess they're calling it turbo and that's correct. They accept the funds, then later open a channel with you and push funds through.
Sounds like you're fully aware of how trusted it is and the custodial situations it has. Surprised you had such a stance against muun then. Ignore my concerns I guess.
reply
No, I'm not against muun at all,
My two big turn offs were the onchain footprint and I explained why on the main article, and the lack of implementation of several features of LNURL.
But I love the project, I hope they release a big update soon improving all this.
reply
You're not alone. Some people have been pointing out their shortcomings and prioritization issues for a long time.
reply
Been using Phoenix lately and until now I have no major complains.
I agree the channel creation cost is a bit high, but at least they are very clear about that. The rest of the experience is good.
Nevertheless, I'm still open to try (and looking for) better wallets/apps.
reply
I switched to Phoenix as well - I really liked MUUN but like you it was hard to figure out what was really going on.
reply
+1
A big problem with Muun's tx-using implementation is if fees ever spike up for some reason, we'll have a lot of people using Muun who thought they were using Lightning, complaining that now their transactions are suddenly expensive.
It's also very problematic that Muun's implementation is insecure: when you send money, they're relying on zeroconf, because you could use your seed to double-spend the underlying on-chain transaction after the Lightning tx was sent.
reply
This might be the reason why they make it so difficult to access your keys.
Sure, they give you an "emergency kit" with which you technically are in possession of the private key material. But this is all encrypted and the only simple way to use it is with an open source recovery tool that will automatically sweep the funds for you.
A more self-sovereign way would be to provide you with a complete output descriptor, that could then be imported into bitcoin core for instance.
reply
They give you output descriptors in the recovery pdf
reply
Yes, but like I said, it's encrypted, and if you want to use it you're forced to perform at least one on-chain tx with their recovery tool before anything else.
reply
Yes, it is weird, also when you empty the funds onchain you see 2 outputs + the fee. What is that second output??? It's like you were sharing your funds with someone else. I still use it sometimes for loop outs (sometimes are very cheap with muun), but less and less everyday. Since I run a node I prefer zeus. If you don't have a ln node, breez can be a safe option.
reply
I use both. I prefer to use Pheonix but sometimes it doesn't connect by the time the merchant is ready to receive.
So to avoid awkwardly waiting around I switch quickly to Muun which seems to always work flawlessly.
reply
I think this "delay" was fixed on the last patch, It was killing me, after this was fixed I was ready to make the move.
reply
I also made the switch from Muun to Phoenix after trying a bunch of different wallets. It works great and haven't ran into any real issues yet.
reply
I appreciate your review and you have definitely helped me in regards of trying to understand how Muun wallet works under the hood. At first I was thinking as long as the final numbers on the ledger are correct in my new total amount of BTC owned then who cares about all the little details and shortcuts they took to get there, because it made it quicker, easier and less complicated. But are you saying that the final input on the ledger isn’t even correct, or isn’t always correct? Because if the accuracy isn’t there then all the shortcuts don’t even matter, right? Sorry for my ignorance on the subject. I really just started to go deep down the rabbit hole about 3 months ago lol. Thanks!
reply
Thanks for the information dude.
reply
Muun is a good enough experience for an easy lightning experience for people.
While I hate to recommend it, I almost always do to newbies.
The best wallet is Zeus wallet with your own node. You can even use Voltage if you're not technical enough. They also accept lightning payments too
reply
Yes Is hard to recommend a custodial solution or 3k sat first transaction fee wallet
I think Muun is the better choice for newcomers
reply
Great post for pointing out all the intricate details.
We use both as each has its pros and cons.
reply
Nice work
reply
I’m using Muun now and read your article with great interest. Thanks for this informative critique
reply
It had to be said. Totally agree that Phoenix is better than Muun even with those high fees.
reply
Just got Phoenix and I’m going to play with it this weekend. Tried muun, blue and breez so far. Each has strengths and weaknesses.
reply
Let us know how it goes.
reply
Nice article. I use Phoenix Myself too
reply
Someone that did several transactions (50+) with Muun can calculate the average % fee?
reply
I think is imposible to calculate, because it depend of the congestion of the blockchain, long time ago in bull market I saw transactions of more than 10k sats ,
Maybe they improve the algorithm that manage that since that transaction but it is sure when bull market come back the transaction fee in the blockchain will increase.
Right now you can send a large transaction with only 172 sats
reply
phoenix will swap onchain funds into a lightning channel opposite of muun
reply
Yes, but when I send you 1000 sats (for example) phoenix doesn't have a foodprint on chain, and muun does.
They are not telling you when they broadcast transactions to the blockchain when you receive lightning transactions.
reply
sure but why do you need to know when your lightning funds move from lightning channel to chain, especially when they control all the fee selection
reply
why I need to know?
why they hide it?
reply