Wallet Export
Since the Wallaby platform was designed with interoperability in mind, we've made the seed phrase core to our system. However, we know seed phrase/private key management is the most difficult part of transitioning to self custody. We didn't want to force users to deal with that complexity.
So to find a balance between UX and interoperability, we've simplified our operations so that they can be done utilizing just a single seed phrase across all chains/addresses. That means to offer maximal flexibility when exporting, you will need to unravel this simplification as described below.
How to export a wallet
With your primary seed phrase
This covers most use cases for exporting and is the only thing we recommend you give to a user upfront when creating a wallet. When creating a wallet, we will generate a new 24 word seed phrase. When importing a wallet, your primary seed phrase is the one given for import which can be 12, 18, or 24 words.
The primary seed phrase can be used to recover your entire wallet and generate transaction signing keys on any supported blockchain within the Wallaby system. We do not provide one seed phrase per blockchain or per transaction signing key. We provide one seed phrase for your entire wallet. This primary seed phrase can then be used in most Bitcoin and EVM wallets that allow you to import a wallet.
{image of primary seed phrase}
With the Algorand seed phrase
Algorand is an example of a supported blockchain which requires a 25 word seed phrase. We do not provide this 25 word seed phrase when creating a wallet. However, you can convert your existing seed phrase to an Algorand seed phrase as requested by the wallet holder.
{image of Algorand Seed Phrase}
With your private keys
Our system does not currently provide the private key directly to the client. The wallet holder would need to utilize the seed phrase within another platform to generate it.
{image of private key}
Security Considerations for Exporting
Once you determine which element above is required for the user to export (depending on the use cases described above), you need to determine when you would provide the user with this information.
Do not allow export
If you would like to take the most conservative stance on theft, you may choose never to expose the seed phrase directly to your user. You may choose to automatically and securely export it to some backup location, partner vault, or utilize our Seed Phrase Recovery (Beta) to avoid having to provide the seed phrase to the user. However, this has downsides for wallet holders.
Exposing the seed phrase backup to the user empowers them to maintain full ownership over their wallet by enabling wallet interoperability and giving them an option if that backup location is corrupted.
{wireframe}
Only allow during wallet creation
If you would like to allow the wallet holder to export, but want to limit the potential of theft, you can restrict displaying these elements to the wallet creation process. The upside of this decision is that the wallet holder may take seed phrase storage more seriously if they know it is the only time the information will be revealed AND it prevents incidences of theft during screen recordings, screen shares, or in person.
{wireframe}
Allow after wallet creation
Most warm wallet providers take the approach of allowing users to view their seed phrase after wallet creation directly on devices where the wallet keys are stored. In order to access it, the wallet holder needs to take the same actions they would for transaction signing.
{wireframe}
How to export a wallet
With our SDK, you can simply use the decrypt function as described in Exporting a wallet with the SDK to display the seed phrase and give the user the ability to export a wallet to a BIP-39 compatible provider. However, our SDK does not support Algorand seed phrase conversion.
Last updated