Although it is generally easier to build a great experience with a specific use case in mind, let’s look at a case where we would like to make a wallet that is made for a broad range of uses and audiences. It needs to be suitable both for beginners and expanding users, and for holding anything between small and significant amounts. How do we choose a single private key management scheme for this situation?
The solution in this case could be a wallet that enables the user to upgrade the scheme as their experience and funds grow. The idea is to provide progressive security that doesn’t introduce unnecessary friction until it is required. Our wallet will be able to switch from;
- Automatic cloud backup - as default for new users, who often start out with small amounts
- External signing device - for more experienced users, and when funds have grown
- 2-of-3 multi-key - for seasoned users, and critical amounts
- 3-of-5 multi-key - for really serious situations and/or very high amounts
Design considerations #
- Low friction onboarding
- Guide the user through scheme upgrades as funds grow
Technical considerations #
- Need to handle many schemes; automatic cloud backups, recovery phrases, external signing devices, multi-key
Onboarding & upgrading #
The screens below show how this architecture allows users to get onboarded quickly, with upgrade options easily accessible.