This is my concept and design case study for an iOS bitcoin wallet. It was inspired by my desire to learn more about bitcoin.
Design a mobile wallet for anyone who wants a simple and secure way to store bitcoin on their iOS device.
I read the original bitcoin white paper, which provided a high level summary of how bitcoin works. I looked at the best bitcoin wallets for iOS (Bread, Bitpay, Blockchain), paying attention to how they were designed, and learned about how they work.
This led me to read about Simple Payment Verification (SPV), which allows confirming a Bitcoin transaction using only a few megabytes of data from the blockchain, compared to the many gigabytes of raw blockchain data, making a mobile wallet possible.
I also looked at other payment apps for design and user flow inspiration, like Venmo, Paypal, and Google Wallet. Apple’s iOS guidelines were also invaluable, especially for recommended fonts and font sizes.
I liked the idea of a standalone wallet, like Bread, which does not depend on any other company’s servers to function, just the Bitcoin networks itself. I think that this concept has some advantages, compared to wallets that run on someone else's server. If a user is sophisticated enough to move their bitcoin to a mobile wallet, they would also likely be interested in having full control over their funds.
For the design, I liked the simplicity of the PayPal homescreen, which clearly shows the current balance and gives quick access to send and receive functionality, and shows a history of transactions. Most of the features of Venmo were superfluous for my simple wallet, but I liked the ability to do simple arithmetic in the send screen.
PayPal left, Venmo right
The onboarding flow is dictated by how a standalone wallet handles security, and follows closely to that of Bread Wallet. There are no usernames or passwords, since the wallet is only accessible on the mobile device.
During onboarding, a cryptographic passphrase (equivalent to a private key) is created, which can be used to recover the wallet if the device is lost. The user can also enable additional security in the form of a PIN or Touch ID.
I started by creating some very brutal wireframes to nail down the main screens and the steps for onboarding. The wireframes show all of the main elements that should exist per screen, and also any possible interactions. They ended up being a good guide for the higher fidelity mockups.
Main App Flow
I went with a dark theme to differentiate the app from the other bitcoin wallets I researched, which were light and a bit bland. I iterated on different layouts and colors until I found something that worked and had the right visual hierarchy. I ensured that the app would be usable by people with colorblindness by using the Stark plugin for Sketch.
Currently learning Swift to gain a better understanding of the design possibilities and limitations of the iOS ecosystem and planning to build a functional protype of Koi Wallet.
Feel free to reach out to me if you have any questions!