BlogWallet
Inside the Non-Custodial Wallet
Wallet

Inside the Non-Custodial Wallet

Robin Percy
Robin Percy
on Mar 13, 2020

Status is an open source, decentralised messaging platform, non-custodial crypto wallet, and web 3.0 browser, designed to act as a network node which interacts with decentralised applications (DApps) that run on the Ethereum network.

Status is an open source community of people committed to building better decentralised tools for web3, and making sure that everyone across the world can access these tools directly from their pockets.

The Status Network is an ecosystem of decentralised applications – building private, secure communication tools. We stand for upholding human rights, and empowering sovereign communities, therein becoming a gateway to undeniable free trade, peer-to-peer payments, and encrypted p2p communication for anyone with a smartphone and internet access.

Last week, I released the first in this mini-series of articles, covering The Big 3 functions of Status – namely Messenger, Wallet and Browser. I wrote-up a break-down of our Messenger; detailing the innermost functionality, and just what makes it so privacy & security focused.

This week's article is going to focus on the second of the Big 3Wallet. The Status Wallet is an open source, non-custodial, cryptocurrency wallet which supports all ERC20 tokens, whilst also supporting ERC721 (collectibles & NFTs). The aim of the Status Wallet is to provide security-focused functionality, whilst also being as handy as possible.

So once again; let's dive on in!

In the most simple terms, the Status Wallet is a safe & secure place to store your crypto assets. Being a multi-currency wallet; there is support for all ERC20 tokens, and also many ERC721 tokens.

The ability to store ERC721 tokens is one of my favourite Wallet features. I foresee the Crypto gaming industry skying the same way the Crypto asset industry has.

Currently, we are building an Ethereum developer-focused game with Embark, which will make full use of ERC721 Non-fungible tokens. I also partake in already established NFT-based games like CryptoKitties.

All that being said, it's nice to know that there is somewhere all of my tokens / currencies can safely live, and more than that – somewhere I can share those with friends.

The list of supported ERC721 NFTs is currently limited. To request additional NFCs, please join in the Status chat, within the #support channel in Discord.

As a non-custodial wallet, Status gives you full control over your funds without the use of a central server. As mentioned above, private keys are stored in an encrypted manner on your device. Your money is under your control, and cannot be accessed by anyone without the private key.

The Status Wallet, naturally, utilises all of the underlying security of the Status app.  I covered the ins-and-outs of the underlying Status security tech stack in my article a few weeks ago.  You can also read about Status' full security details here.

Status never uses third party services for managing and storing public and private keys. Once generated, the first BIP44 key is saved in a keystore json file locally on your device. This file is encrypted with the password you choose for your Status account, and is only accessible by the Status app.

If you lose your mnemonic phrase, you will never be able to restore access to your funds. So backup your private keys somewhere safe, offline!

The signing phrase is an added layer of protection for your wallet and funds. It is an anti-phishing mechanism, designed to protect you from malicious actors intercepting a transaction. You’ll see your unique three word signing phrase when you set up your wallet for the first time. Commit this phrase to memory and check for it each time you sign a transaction.

The signing phrase confirms that a transaction is being generated by Status and that the receiving party is as specified.

If you see the wrong signing phrase, cancel the transaction and log out of Status. Verify that you have a build provided by an official source: the Play Store, App Store, or https://status.im.

The signing phrase is auto-generated and stored only on the user’s device.

Previously, Status managed only one keypair (and therefore one account). That keypair was used to identify you in the Messenger, the Wallet, and when Browsing DApps – meaning your Ethereum Wallet key is also connected to your Chat key. Naturally, this isn't ideal as it is the equivalent of, for example, allowing anyone in your Telegram groups to see the balance of your bank account.

I wrote recently about The new Status multi-account structure, which allows users to manage multiple wallet keys in one place. You can now separate different crypto asset activities, using different addresses under your main Status account – and as mentioned above, this mitigates the issue of everyone in your chat history being able to see all of your crypto transactions.

One of the main ideas behind the Status Wallet is to take advantage of the other Big 3 features to provide truly frictionless payment solutions:

I always thought that it would be amazing if I could send money via text to do things like split bills, or instantly send across the odd £20 loan our friends always ask us for. I realise fiat currency is still the dominant form; but more and more people want to keep things private and away from the big banks. With the release of Status V1, you can now make payments from directly within Messenger.

Another of my favourite features is the integration between the Wallet and the Web3 Browser.  Having a borderless transaction flow between the two, means that in-DApp purchases and things of the sort are super streamlined, and super easy.

The Status browser is designed to keep the end user informed and their funds safe. Browser Privacy mode is enabled by default. This means that DApps will be required to ask permission before connecting to your wallet. (Which may cause some DApps to break, if they are not compatible with this security measure.)

Status Keycard is a new type of smartcard built with an open API for simple integration with crypto wallets and hardware. Designed to safely send, store, and receive cryptocurrencies in a seamless contactless experience.

Compatible with both mobile and desktop wallets, keycard creates a safe and trustworthy crypto ecosystem for users. It can be loaded with cryptocurrency to be used as a debit card and also integrate with point of sale systems for easy retail crypto transactions.

The aim of the Status Wallet is to provide an integrated, secure, and handy multi-currency wallet taking advantage of Status' focus on privacy and security.

In the near-future, we will be adding more useful functionality to the Wallet, such as separating accounts, importing accounts, and making DApp-specific accounts more accessible and manageable. We are also conducting research into making transactions themselves private.

If you have any questions about the Status Wallet, feel free to email us at support@status.im or better yet, join our chat.

Want to learn more about the tech used? Looking for a specific answer? Ask your question in our open forum discuss.status.im.

Not finding what you need? Get support in the #support channel in Discord.

Otherwise, if you would like to reach out to me personally, you can do so here!

- @rbin

Robin Percy
Robin Percy
Share article on: