Magma Tezos Wallet Adds BIP-44 Support
on April 14, 2021
Introducing BIP-44 Support for Magma
Decentralization is a core concept for us at camlCase — it’s at the heart of everything we do. The Magma Tezos wallet is a fully decentralized wallet application, in that no party has custody of your assets except you. The services we rely on for the app to display financial data are similarly decentralized services.
Because decentralization is in the camlCase DNA, we’ve had our eye on adopting the BIP-44 proposal for some time. BIP-44 opens up wider wallet portability for our users, and brings additional flexibility. The Tezos development community has adopted BIP-44 as its wallet creation standard, and users have told us they expect to be able to import BIP-44 wallets into our mobile app. As of version 1.5.0, this support is now available.
Advantages of BIP-44
BIP-44 is very powerful, and it not only benefits our users in terms of current compatibility with other applications — it also unlocks our ability to offer features down the road that we would otherwise have been unable to add. These include potential future features like support for managing multiple Tezos addresses with a single seed phrase.
Interoperability Across Applications
A primary consideration for many users when setting up a new wallet is compatibility across applications within the ecosystem. Desktop and web wallets don’t offer the same convenience some users prefer with a mobile wallet. In the past, you couldn’t import Galleon, Temple (Thanos) or Kukai seed phrases into Magma. Now you can import these addresses into Magma, and also use seed phrases created with Magma in other applications.
Magma Supports User-Defined Optional Passphrases for Additional Security
Another user request we've received is support for user-created passphrases during wallet creation. Because security is of the utmost importance to us and to our users, we are always looking for ways to make our applications, and the assets they allow access to, more secure. So we’re now adding the option for users to add their own additional passphrase when creating a wallet.
This user-defined passphrase can be created in addition to the seed phrase generated by the app when you create a wallet. If your seed phrase is ever compromised, a wallet created with your own passphrase would still be protected.
Magma also supports optional passphrases during import / recovery of existing wallets. If you created a wallet with another application and added a passphrase at that time, you can now import your wallet into Magma.
More about Passphrases
You might have questions about whether or not you should add an optional passphrase when creating an HD wallet. The folks at Trezor have put together a great article about this topic. We highly recommend reading this article, as well as the primer from the same team.
The Trezor article also lays out some other reasons beyond just security for why you might want to create a passphrase. Use cases might include wanting to use a single passphrase to access multiple wallets, for example.
Note that you can’t add, modify or delete a user-defined passphrase for an existing wallet. A passphrase can only be added when creating a new wallet.
Confirming Your Seed Phrase and Passphrase
Users also suggested a confirmation step when creating a wallet, in which you could input your seed phrase as you had written it down, before adding any assets to your wallet. This would even further reduce the chances of being locked out of your wallet in the future in the case that you had written the seed words down in the wrong order or that a typo had made its way into your written record. We’ve added this confirmation step as well.
Listening to Our Users
We take your security seriously, and we take your suggestions to heart when we make decisions about what to build next. The Tezos community has been incredibly supportive of Magma and the Dexter exchange, and we at camlCase don’t take that for granted — we review every piece of feedback you give us. Understanding your needs helps drive the decisions behind our product feature releases and upgrades.
Let’s take a look at what to expect as you encounter Magma’s BIP-44 support and other new features. There are two main paths we’ll explore: New Wallet Creation, and Import / Recover.
New Wallet Creation
If you’re setting up a new wallet, you’ll be presented with the Wallet Setup screen. For most users, the existing workflow is still going to be a great option. You’ll receive a highly-secure 12-word recovery phrase (AKA seed phrase), generated by the app. You must write down your seed phrase and keep it secure. Note that you can view your seed phrase later in the app, assuming you are logged in via your PIN code or biometric authentication.
Advanced users might opt here for the new Advanced option — to add a user-defined passphrase to their new wallet.
Advanced Users: Set Optional Passphrase
If you’ve chosen the Advanced path, enter your own passphrase here. Note that there will never be an opportunity within the app to see this phrase again without you entering it — unlike the case with your seed phrase. Thus it’s even more critical that you write it down and store it safely, or make it something you can’t forget. We recommend that you don’t store your recovery phrase and seed phrase in the same physical location.
When creating a passphrase during this wallet-creation step, Magma supports entering up to 50 characters.
Whether or not you elected to add your own passphrase, you’ll be taken through a confirmation step in your wallet setup. Here, you’ll be asked to input your seed phrase. If you’ve also added a passphrase, you can confirm that here as well. This confirmation step gives you peace of mind that you have everything written down correctly so that if you later need to import or recover your wallet, you can be sure everything is correct and in the right order.
Once you’ve correctly confirmed the information needed here, you’ll be asked to create your PIN so that you can log into the app. We highly recommend that you do not skip this step, for security reasons. We will never have access to a seed phrase or optional passphrase in the event that you should lose it.
Once you’ve set your PIN (and optionally set up biometric authentication), you’ll be taken to your new wallet.
New Wallet, Ready for Funding
Your new wallet is ready for funding!
Importing or Recovering a Wallet
Using Magma’s Import / Recover flow, you can access a wallet you created in Magma before — or import a wallet that was created with another application. Magma supports BIP-44 derivation paths, and non-HD (Hierarchical Deterministic) address generation. If you are importing a wallet created in a previous version of Magma, look for the non-HD option when it is presented. More on that below. Magma allows import of recovery phrases ranging from 12 to 24 words, and an optional user-defined passphrase.
Regardless of how you set up your wallet originally, your recovery options are on this screen. Enter your recovery phrase. If you created your own passphrase, enter that as well.
Custom Derivation Paths
For most users, the default derivation path should be sufficient, and you shouldn’t need to enter anything in the Advanced Options input. This is also the case for non-HD wallet imports.
If you need to enter a custom derivation path for your wallet, you can enter it under the Advanced Options dropdown menu. Here’s a reference for more information about derivation paths. (Also note that the Tezos registered coin type for level 2 of BIP-44 is 1729.)
There is more than one derivation path format. Check the developer documentation to find out which derivation path format their application uses.
Magma supports all formats that start with the m/44’/1729’ path.
A Single Recovery Phrase for More than One Account
To support previous versions of Magma, we generate both HD (BIP-44) and non-HD wallets.
Note that the addresses that are presented on this screen are not part of the BIP-44 multi-account functionality. To import an account different from the default derived account presented, you can edit the derivation path in the Import Seed phrase’s Advanced Options, described above.
The same recovery phrase can generate both HD (BIP-44) and non-HD wallets. To help you select the wallet you wanted to import, we present you the balances of each wallet.
You May See More than One Wallet Available for Import
During this step, you may see more than one wallet address appear, even if you only created and used a single address with the seed phrase and optional passphrase you entered. The app will generate the HD and non-HD addresses and show them both, with their related funds. Since Magma can’t know which (if any) of these addresses you want to import, we show both.
Most users will see one funded wallet, and one unfunded one:
Usually you’re just looking for the wallet which has assets in it.
However, it’s important to note that multiple wallets can be funded using the same credentials, and that this situation may apply to some users.
Users who have already funded both an HD and a non-HD wallet under the same seed phrase will see them both showing assets:
Android Users Looking to Migrate an Early Magma Wallet
For Android users who created their wallets using Magma before version 1.1.9 (Oct 17th, 2020), you may be looking for the Android Security Migration flow. That migration is available starting at this step, and such wallets will appear under the non-HD wallet option. (We detailed this issue and included a video tutorial in October 2020, as a reference.)
Completing the Import / Recovery Process
Once you’ve passed the recovery steps, you’ll be presented with the Success screen, indicating your wallet has been successfully recovered / imported into Magma.
If you’ve recovered a wallet with XTZ and/or compatible tokens, you’ll see them appear on the main Wallet screen, and you’re all set to go.
Thanks for being a Magma user!
Questions about the Wallet Creation or Import / Recovery process? Email us at firstname.lastname@example.org.