As the Lightning Network becomes more mature and users begin to experiment with more BTC, this feature allows users to opt-in to a higher level of security.

This feature simultaneously lays the foundation for many more ambitious features that rely on advanced security practices. With this feature, we’ve built the foundation to store hashes of sensitive data to your operating system’s secure storage. This will now enable us to roll out much-improved onboarding with one global password, as well as financial services related to Olympus. We will enable Windows support in an upcoming minor release. Turns out dealing with Windows is a bit more complicated than Mac and Linux, who knew? 🙂

Invoicing and Activity History Improvements

Zap Desktop 0.6.0-beta comes with an array of invoicing and activity history improvements.

Fallback Addresses

You can now enable fallback on-chain addresses inside of your BOLT 11 Lightning invoices through your preferences. One of the more painful user experiences in Lightning today is managing the different layers. We see various attempts from wallets to separate “on-chain” and “lightning”. One of the most notable for me personally, is my beloved BTCPay Server. When checking out with BTCPay Server, as a user, you see this interface:

Having to toggle between “Bitcoin” and “Bitcoin (Lightning)” is not the best user experience of all time, especially considering we have a solution ready for us with BOLT 11. The specification states Lightning invoices can include an on-chain address, known as a “fallback address”. The point is, wallets can now scan the invoice, and decide if the user has sufficient channel balance to make the payment, or if they should offer the user the option to make the payment on-chain.

With Zap Desktop 0.6.0-beta we first start by allowing users to enable fallback addresses inside their invoices. In upcoming releases, we will support paying to fallback addresses. We hope that this encourages all wallets to support fallback addresses, as it will surely improve Bitcoin’s UX.

Infinite Scrolling Pagination

Over the last few months, users would frequently report performance issues with Zap. After digging into the problem, we realized it was less to do with the software and more to do with the growing size of the user’s node. I faced this problem personally, as one of my nodes has close to 600 channels and thousands of payments both sent and received. In previous Zap releases, we would load all activity at once, causing serious issues if a user’s node was rather large. Now, we paginate with infinite scrolling, which results in a nice user experience and gives Zap serious performance improvements.

Export Transactions As a PDF

Lastly, we’ve added the ability for users to export their transaction as a PDF. We’ve seen an increase in users using Zap as it relates to their business. Whether you are a merchant, a taxpayer, a trader, etc. we hope this feature provides you a nice enhancement when attempting to stay on top of things.

If you are a business and would like to see more features like this added to Zap, feel free to open an issue and we’ll get to it.

Message Signing

With this release, Zap users can now sign and verify messages from within their wallet’s profile.

I had a tweetstorm about this feature which caused a bit of a stir on the internet, so I’d like to clarify a few things. Even today, a reputation system exists and continues to be built on the Lightning Network. At the protocol level, nodes keep track of actions and punish others who don’t play nice. I have ambitious plans on how this type of idea can extend itself to the application layer and be exposed through a user interface to general consumers. Nonetheless, with this release, we're making a step in the right direction.

The current LND API only validates the signature and then checks that the recovered public key exists in the channel graph. Because of this, the current API will not work for private channels. So, all users will be able to verify signatures, but only remote (routing) nodes with public channels will be able to sign messages. I’d love to hear the community’s feedback on this feature as we enhance it and build out some of the ambitions I mentioned on Twitter.

User Experience Improvements

Lastly, there are many user experience improvements that we are very excited about.

Skeleton Loading Screens

This release of Zap Desktop includes skeleton loading screens. Skeleton loading screens are perceived to be a shorter wait time when compared to a blank screen or progress bars/spinners. We first introduced them in Zap iOS and we will continue to use them throughout our applications.

Auto-Complete Seed Recovery

Now when recovering a wallet with your seed, Zap Desktop comes with auto-complete and will suggest words from the BIP39 word list as you type. Typing 24 words can be daunting and a huge pain, and we hope this enhances that user experience and speeds up the process of your wallet recovery.

Error Boundaries

Last but not least, my personal favorite, Zap Desktop’s new error boundaries. We’ve added error boundaries throughout the app so that if the application encounters a critical error, it will no longer crash. Instead, users will see a modal showing the error, details of the error, and the ability to click and submit the issue to us.

You all drive Zap forward. It’s your feedback and bug reports that help us improve Zap and make it better. I hope this makes it easier to report issues and over time helps Zap become more and more stable.