tldr: Mutiny Wallet is now released, but still early! Learn more about it below and some of the early limitations. These issues may be more prominent with the expected load we'll see this week.
What is Mutiny? It's the first self-custodial lightning wallet that runs on the web! Control your funds on an open standard that does not depend on Apple or Google app stores. No downloads are needed!
We've set out to solve the onboarding problem for Bitcoin no matter who you are, where you live, or what device you are using. And because funds are fully in your control, there's no need to provide identity to a regulated institution. This is what it looks like to make Bitcoin accessible to the 5 billion global internet users with access to a web browser.
But we're not stopping there! Our goal is to make the experience as easy as possible and provide features that no one else has seen before. Due to stringent App Store requirements, many Bitcoin wallets or services get stripped of features, such as tipping users or paying for digital content.
We're in a unique position to experiment with things never attempted before, and we're excited to share some of this with you.
Lightning is a quick, affordable, and scaling payment technology built on top of Bitcoin. The building blocks of our application are built off of Block's Lightning Development Kit (LDK) project. LDK is a new Lightning library that is fine-tuned to allow developers like us to customize every aspect of the Lightning stack, including the ability to compile it for the web. Until LDK, this has been an impossible task. We couldn't be more grateful for the hard work of the Spiral team for that.
Users managing their own liquidity is tough, so that's why we've partnered with Voltage to be the main Liquidity Service Provider with their new Flow 2.0 product that we helped develop. This service lets you receive Lightning payments without worrying about opening channels or managing liquidity. This integration allows a new Mutiny user to receive their first Lightning payment within seconds of opening the application.
We've decided to separate the balance between your funds locked up in Lightning channels and funds available for on-chain spending. While unified balances are the end goal, some sacrifices have been made with other Bitcoin wallets that confuse users with different trade-offs. Our trade-off here is that users are in control at the cost of a little more complexity. When splicing is more widely available, this should significantly help solve all the problems with unified balances. We applaud Pheonix for being the first in this space and for all the hard work they've done along with Dusty Daemon.
Like many Bitcoin wallets, your seed words secure all your funds on Mutiny. When you first load the wallet, you may go to settings to view it, or you will be prompted to back up your seed after receiving funds for the first time. After backing up, you can set a password to encrypt your local storage data. This requires you to unlock the wallet every time it loads to protect the funds on your device.
Typically, only your on-chain funds are secured by your seed words. So now, we've added encrypted & remote storage into the mix for restoring your latest Lightning-related data. If you ever clear your browser storage or move to a new device, your Lightning data will be pulled down from your configured backup server to restore your funds. We use a new project called Versioned Storage Service to do this, which you may self host yourself. VSS is also made by Block's Spiral team, primarily by Gursharan, so huge acknowledgments for making that possible.
In the future, we will add the ability to use your same wallet across multiple devices simultaneously but please stay on a single device for now, bad things will happen otherwise.
Nostr Wallet Connections
Nostr is a simple, open protocol that enables global, decentralized, and censorship-resistant social media. However, it can also be used for decentralized programmability on the internet. One of the cool innovations built out is the social tipping feature known as Nostr Wallet Connect. NWC now has first-class support in Mutiny!
At its core is the ability to request a payment from your wallet. This can be used in nostr clients like Damus or Amethyst to tip users, but also allow any other NWC application as well. You can create a new NWC profile and share it with another app. Every app tip or payment request will appear straight into your wallet. For now, all payments will require manual approval, so you must go back to the wallet for the payment to complete. Future iterations will allow you to set a threshold and make automatic payments under a certain amount that you specify.
The cool thing about it is at any time you would no longer like an app or service to be able to make payment requests to your wallet, you may deactivate it.
The technology powering NWC can be used for much more than just tipping notes or profiles on Nostr. This feature can change the game for all payments on the web. That's why we are shipping with our first subscription feature, Mutiny+!
Mutiny+ does not provide you with many perks for the time being. But the beauty is that we're demonstrating how easy it is to offer a pull-based subscription feature built on top of NWC. With a Mutiny+ subscription, you will get a payment request from Mutiny to renew your subscription each month. Since we enforce manual approvals, money will only leave your wallet once you accept the payment request. Deny the payment or turn off the integration to cancel your subscription.
We're starting Mutiny+ at 21k sats per month. We plan on shipping various paid-only features soon, such as gifting sats, custom payment algorithms to increase payment reliability, and priority support.
But subscriptions are not just for us. If you're a merchant or service provider interested in pushing payment requests straight to a user's wallet, we would love to hear from you!
While opening this beta up to everyone, we would love to thank the hundreds of users who have tested our wallet in close beta and provided bug reports. Your feedback has gone a long way in allowing us time to fix most of the issues seen so far. There are still a few bugs we'd like to make well-known.
One of the main ways to fund the Mutiny Wallet is to send a Lightning payment which will open your first channel. However, we're expecting a lot of load on our LSP for the first few days or week to come. Payments may appear stuck for a few hours if we're experiencing issues.
Alternatively, you can open a channel manually with any node on the Lightning Network and Mutiny should work just the same. To do this, go into the Admin Tools setting page to connect to a node, and then open a channel manually. It does require the channel to reach 6 confirmations first.
When you make a payment on Lightning with Mutiny, your wallet is the one that constructs the path to take. We do not know who you are paying and can't currently help find the correct path. There are over 68k public channels on the Lightning Network, so finding the most reliable path to the destination without knowing who is online or what paths have enough liquidity is a difficult problem. Custodial wallets like River, Strike, and Cashapp have always-online nodes that constantly probe the entire network to have a good view of what paths would work. But you, as a Mutiny user, do not get that luxury. We have some features in the works to improve this, but please excuse any failed payments for now.
Force-closes on Lightning happen when there's a communication problem between two nodes, or one goes offline, and the other node needs to close a channel. We've run into several force-close bugs during closed beta and fixed many of them this week. However, it never feels good to pay for a lightning channel and have that close, even if it's weeks later. We've seen that most channels are not force closing, but the few that have is no fun. Funds may lock up for three or more days when it happens.
We’ve fixed every bug we’ve identified, but there are still potential hidden problems due to the complexity of Lightning. Because of this, we express some caution when opening large channels while we are still in beta.
Sometimes when the app reloads, it may need to recheck the blockchain for all your on-chain transactions. So while this happens, it may show a 0 balance for up to a minute while it resyncs. We admit it is scary to see 0, but we're working to ensure that displaying balances persist across restarts without needing to sync again.
Working Towards Normie-Ready
Some lesser-known bugs exist, but we generally want to exercise caution when using this wallet for now. We've reintroduced the "Reckless" phase of Lightning once again, so treat this as a "spending" wallet like you would cash in your pocket. We appreciate your optimism but do not load up millions of sats on day 1.
We aim to make this experience normie ready over time and make it a solid wallet for all. But we need your help to get there. Test the wallet, let us know how it is, and I promise we will surprise you with how fast we fix your bugs and ship new features.
We want this to be the wallet all bitcoiners love and their friends and family get onboarded onto. Stay tuned as we develop more content around specific features and how the wallet works. Some of our planned articles are around lightning privacy improvements, self-hosting guides, and a deep dive into features like Nostr Wallet Connect.
We're a team of three engineers and have been working on this full time for the past 3 months. However, there's been some key contributors that have provided a lot of help along the way. We'd like to thank Mia White for much of the design and figma help, Sahil Chaturvedi for our website design, Ben Allen for his multiple frontend contributions, and Fernando Porazzi for building in the framework for translation support. Also shoutout to the great teams at BDK & LDK for building the core tech powering this app.
Thank you for taking the time to read this, and if you test out the wallet, please let us know what you think!