Cryptocurrencies create a new financial paradigm. For quite some time many developers around the globe tried their best to bring it closer to the people by making it easier to buy, store and transfer crypto-coins. This is a continuous process, and we see improvement year by year. In this article, we would like to share with the community what we have done to put Bitcoin user-experience on a new level.

Among all those new concepts that inevitably float to the surface as soon as one enters the world of cryptocurrencies, two are especially important in a context of usability: a private key and an address. Both of them are quite unfamiliar to a novice: lost your key? Lost your coins. Want to make a payment? Get a new address. Some companies mimic a solution by enclosing Bitcoin into a closed system — users do not have control over their keys, but transactions within such a system are fast and do not require an input of a scary-looking address. An easy solution, but it goes against the very purpose of Bitcoin — to empower individuals with control over their financial activity. It is vital to the health of the overall cryptocurrency ecosystem to build products utilizing open protocols.

With BIP47 Reusable Payment Codes it is possible to build a system of contacts that is cross-cryptocurrency, cross-platform, and works non-interactively in a server-free environment. We have written an in-depth overview of this technology in a previous article, here we show how it improves usability in practice.

We believe that sending a coin should ultimately be no harder than sending an instant message, so we invented the brand new visual paradigm for a crypto-wallet that is free from decade-old cliches.

A side-bar is a mauvais ton these days, and a traditional tab-bar introduces several distinct spaces that, in case of a cryptocurrency environment, does not allow a user to perceive the full picture. We very much wanted to make an interaction model that is consistent with modern UI trends yet encompasses all the necessities into a single space.

Billion at a glance

A home screen displays a history of user’s transactions, each presented as a message-like bubble, whose color — green or red — indicates whether it is an incoming or an outgoing transaction. The bubble itself only displays what is necessary: a transaction cost in a fiat currency fixed on a moment of confirmation, an absolute amount transferred denominated in satoshis, and status of the transaction, such as ‘awaiting confirmation’ or ‘sent.’ The detailed information can be quickly revealed by pressing onto the bubble.

bubble inflates… bubble bursts… just kidding 😁

At the bottom of the home screen, there is a special control panel that displays balance, syncing status, and allows one-tap access to the most important functions.

To experience the magic of reusable payment codes, two users need to exchange them at first. Air Connectivity is the most private and hassle-free way to do that if users are nearby:

Air Connectivity only works in a Billion-to-Billion setup, but we hope to advance the technology further to make it an open and cross-platform protocol

The exchange can be done the traditional way as well, using a camera to scan the QR-code. The option is useful in case users are not nearby or use different wallets with BIP47 capabilities, such as Samourai or Stash.

Once this procedure is finished, a newly generated private address is used for each transaction to a particular contact. It is essential because from that moment it is possible to hide this address from the work-flow completely. No need to copy or scan anything to make a transaction anymore. The experience is further enriched by 3D Touch capabilities: it is possible to initiate a transaction and simultaneously choose a recipient — either a contact or an external address — without releasing a finger from the screen. Works blazing fast.

Another feature that smoothens the transaction-creation workflow is about custom fees. As soon as the amount and a local note are specified, user falls through into a fee-selection screen where he can choose from a wide spectrum of possible values. Combined with 3D Touch, this is apparently a smoothest fee-selection mechanism on the market.

Payment Codes lay the foundation for the next generation privacy-oriented messaging system that, among other use-cases, can be used to send direct payment requests. Just as with transactions, there is no a single line of cryptography-related string that comes into notice. Fulfilling such a request is no less pleasant because the interface does not require immediate action as is typical with a classic ‘scan a request QR code’ work-flow.

Taking all the above into account it is very important to keep in mind that Billion is not any abstraction-service built on top of Bitcoin, but a fully featured wallet that gives a user full control over private keys, and does not rely on any of the outdated authentication mechanisms such as email or SMS verification.