Over the past 20 years, the internet as we know it has been controlled by a few corporations, with an incentive to collect and sell data. Status provides an alternative. Status uses state of the art technology to provide private, secure communication. Status uses a peer-to-peer model that prevents any 3rd party from controlling users' data. Status combines a messenger, crypto wallet, and web3 browser and gives you full control over your assets and communication.
Most messengers offer end-to-end encryption. This standard protection means that the company providing the service can not read the content of your messages. But the flow of information over their network is public, and allows for interpretation of who is talking to whom, from where. Traditional messengers also require identifying information to sign up, like a phone number, and this is usually connected to a host of other personal data about you. Status requires no personal information whatsoever for you to get started. Because of its peer-to-peer infrastructure, Status has no knowledge about who is contacting whom, nor about the content of your messages. Here you can find specifications of how this technology works.
Status is packaged with go-ethereum, which connects to the Ethereum network. All you need to do to connect to Ethereum is run the Status app! Note that only the wallet and browser interact with the Ethereum blockchain. Messages are not stored on the blockchain.
Status has no hidden fees. When you make a transaction using your crypto wallet, you will see a network fee included in the cost. This network fee is otherwise known as “gas,” and is a requirement of the Ethereum network, used in exactly the same way by all Ethereum wallets and applications to facilitate transactions. Status does not collect any percentage of this fee.
As Status is an open source, community-driven project, you can both request and contribute to feature development. Share your thoughts in the public channel #status or on our discuss forum: https://discuss.status.im/. You're also welcome to open a Github issue.
Status is built by the Status Network. The Status Network builds products, tools and infrastructure for resilient, sustainable and inclusive communities. More about Status and its core contributors here.
Sovereign communities need uncensored, private and secure communication to organize. Messaging offers a promising road to the adoption of Ethereum because of its suitability for mobile use. This in turn can pave the way to making payment networks and other decentralized applications accessible to more communities.
Ultimately Status is much more than a messenger. Combining asset management with the crypto wallet and access to a world of decentralized applications through the web3 browser, it is a communication tool in the broadest sense.
Status messenger does not use one central server to and from which communication can be blocked. Instead Status uses a distributed network of 'Status nodes'. This ensures resilience of the network. If a Status node is shut down you can connect to another node or start running your own. However, Status and nodes in the network still rely on having an Internet connection. If the Internet is shut down through telecom providers you will not be able to use Status.
We are committed to getting light nodes working on resource restricted devices. This would allow you to connect to Ethereum from your mobile phone or IoT device directly, no server required. More importantly, it would increase accessibility and resilience of the network overall. For more information, please check out https://nimbus.team/.
If you want to run go-ethereum now, you can set up a node on a Linux device and configure the Status app to connect to this node. You can find more information here.
Not at the moment. Our code base is designed so that Status can run on either mobile or desktop devices. Development of Status desktop is currently paused while the team focuses on the mobile app and other infrastructure projects.
Absolutely. No payment is needed to use Status' core features. To get the most out of Status, it does help to hold the cryptocurrencies ETH (Ethereum) and SNT (Status Network Token). Certain features require SNT to use, as this helps to support our project.
To get SNT, you can use an exchange DApp to trade crypto you already own, or you can buy ETH and SNT in exchange for a fiat (e.g. Euro or US dollar) currency using a fiat-to-crypto exchange.
Status is an open source project and welcomes all contributions, both technical and non-technical. The ambassadors page is a great place to start. Here you can get in touch with active contributors who can support you in promoting, teaching about or otherwise contributing to the next generation of the web.
If you're a developer and want to get your hands dirty, head over to documentation on DApp development docs. If you are a mobile developer yourself and love functional languages, then build Status yourself and start submitting those PRs.
SNT is the Status Network Token. It's Status' ERC20 (Ethereum standard) token, used to power the Status Network. Certain features and functionalities require users to deposit or spend SNT. Utility of the token is a primary goal of the Status Network, as the value of SNT helps to ensure longevity of the project.
Keys are a form of identity and the backbone of Status and Ethereum. They always come in pairs, a public key and a private key. You generate the very first pair when you start using Status, you can consider this the master key pair. After that, n-number of key pairs can be generated based on this first pair. Creating something like a keychain of identities. One of the keys on this chain is your chat key; You can find it in Profile > Share icon.
Your wallet address has 42 characters and starts with 0x. It's an on-chain identity for your Ethereum account. If you have multiple accounts, you have multiple addresses. You can find your wallet address by going to Wallet > Account card > Receive or by tapping on the share icon on the Account card.
Note that although it looks similar, your wallet address is not the same as your chat key. You can find your chat key in Profile > Share icon.
You can compare accounts in Status to bank accounts. Each account is based on its own key pair. Like a bank account, an account typically has an address, balance and can transact. Each account also has its own history of transactions that is public. For ultimate privacy you use multiple accounts. You can view your accounts in the Wallet tab.
You can generate as many accounts as you want. Go to Wallet > Add account. Accounts added this way can be recovered with your seed phrase, along with your master key pair, if you lose access to your account.
You can also create more master key pairs by going to the start screen Your keys > Generate keys or Access existing keys if you want to import keys from another wallet or or create a completely new keychain of identities.
An ENS username is a name registered with Ethereum Name Service; A register that connects an Ethereum address to a unique, human-readable name, e.g. Alice. Like registering a web domain, it comes with different suffixes. If you register a name through Status, you get alice.stateofus.eth. When you register an ENS name you can use it in Status chat, transforming your random name, e.g. Sneaky White Koala, into your ENS name. This makes it much easier for others to find and recognize you.
Your seed phrase in Status is comprised of 12 words. It is the origin of your chat key as well as the account keys in your wallet. All keys are derived from this first seed through some cryptographic wizardry. If you lose access to your account, for example by losing your phone, you can access your keys using your seed phrase. The same wizardry will let you regenerate the exact same keychain of identities.
That's a pain. First check if you can no longer back up your seed phrase under Profile > Privacy and Security. If the item `Back up seed phrase` is greyed out, you are no longer able to access the seed phrase.
The best option now is to generate a new key using a new seed, and transfer your assets to this new account. In Status go to Sign out > Generate a new key. Follow the steps on the screen to store and secure this new key. Once you're done, go to Profile > Privacy and Security > Back up seed phrase. Store the seed phrase securely offline. Then go to Wallet > Share icon or Receive > Tap address to copy. Sign out.
Unlock the keys for which you lost your seed phrase using your password. Send all assets from the accounts in your wallet to your new address.
Your private keys are encrypted at all times and can only be used by you to sign transactions in combination with your password or passcode. Information that is not encrypted includes the 3 word name, when you last used Status (unlocked your keys), your profile picture, and the identifier of your Keycard if you have one.
Buying a stateofus.eth name is cheaper. You pay 10 SNT deposit to license the name, after 1 year you can either retrieve the funds or continue using the name at no further cost. A .eth domain currently (January 2020) costs around $5 annually in ETH. You can connect both names to your chat key to use, your name e.g., @alice, in chat.
The 'Back up seed phrase' item is greyed out when you have already walked through the screens that instruct you to write down your seed phrase. At this point, you can no longer view the seed phrase in the app. The phrase is removed from local storage to minimize the risk of anyone but you ever being able to access it.
Your profile only exists locally. Any messages you have sent will remain on Status nodes for 30 days. After that, the message cease to exist. Transactions you have made with using an account in your wallet will remain on the blockchain.
Status can be bandwidth heavy. The best way to prevent too much data consumption is by using Status only when connected to wifi. You can prevent Status from using mobile data by adjusting your settings under Profile > Sync settings > Mobile data.
Yes. Status uses Waku, a peer-to-peer protocol for private, secure and censorship-resistant communication, built by the Vac Team. Waku provides resilient messaging with zero dependence on centralized servers, data centers or service providers.
Every message is end-to-end encrypted, and broadcast to every single peer in the network. This makes it not only impossible for unintended audiences to read the content of messages, but also to see who sends messages to who. The sender information is always encrypted, rendering it impossible for Status nodes to collect any communication metadata. For private 1:1 messages, only the intended recipient of a message is able to decrypt the content. For public chats, anyone who knows the name of the chat can decrypt the content.
An additional safeguard is the use of a new encryption key with every message after the initial key exchange between users (perfect forward secrecy). If your message key is compromised, only the message for that particular key is compromised, and not for any prior messages.
Waku requires a special kind of Status node that stores encrypted messages while users may be offline. Currently, Status hosts a set of these special nodes in order to support its users. However, anyone is able to host such a Status node with the proper hardware. You can find instructions on how to do so here.
You can share either your profile or a specific chat with friends outside of Status.
To share your own profile and chat key, go to your profile screen and click the share button in the upper right hand corner. A link will be generated that your friend can follow to get Status and load your profile.
To share a public chat, open the chat, and select “Share chat” from the [...] menu in the top right hand corner. This will generate a link to the chat, which you can then send to your friend outside of Status.
Status nodes that are closer to you in geographic distance will return messages faster. It's recommended that you keep the default setting for automatic Status node selection. With automatic selection enabled, Status can measure the latency of messages between servers and choose the fastest one for you.
If you want to connect to your own Status node, or to one running on a specific trusted device, you can add a custom Status node.
Messages are not stored on the blockchain and do not cost anything to send. By default, encrypted messages are cached on Status nodes for 30 days so that you can still receive messages even if your phone is offline. Even when encrypted messages are stored in this manner, it is impossible for the Status nodes to read the contents of any of the messages, or to know who is talking to who.
If you want to add a custom name, you can register an ENS username. Go to Profile > ENS usernames. When you register or connect an existing ENS username to your Status chat key, others can then find you by this username. You can also display it in place of your three word name.
Public chats are like radio channels. You can tune into a channel, but you will only see messages if others are broadcasting on that channel. You can start your own conversation and invite others by going to [...] in the top right corner and sharing the channel with others, e.g. https://get.status.im/chat/public/introductions
Status is a web3 enabled browser. A web3 enabled browser can open any website, but on top of that allows you to use decentralized apps, or ‘DApps’. In order to do so, Status injects an object into the DOM of a given site, allowing that site to reference your account on the blockchain—with your permission first.
Typically, DApps use the Ethereum blockchain to send and receive information and process payments that would conventionally be stored on a centralized server. DApps present little risk of a single party controlling and profiting from your data.
Go to https://dap.ps, find your favorite DApp and tap Upvote. Set the amount of SNT you want to use and tap ‘upvote’. When you downvote a DApp, the amount is already set. The more DApp developers invested to increase their ranking, the cheaper it will be for you to downvote. This reduces the risk of well-funded DApps to take over and make your vote on the DApps usefulness count. Note that voting requires SNT as well as a small amount of ETH to pay for the transaction.
DAp.ps is a decentralized and community curated directory of DApps built for Ethereum, so that you can easily explore the best of web3. DApp developers can submit their DApps for free, or stake SNT to boost their ranking. Users can upvote or downvote DApp listings with SNT as well. The more SNT a developer has staked, the easier it is to downvote their DApp.
DApps must ask permission to view and use your wallet address and/or your chat key. Usually, a DApp asks to `Connect your wallet`. When it does, you receive a popup asking to ‘Deny’ or ‘Allow’ this request. Permissions to connect your wallet address are specific to each account you hold in your wallet. If you give permission for a new account, permission to the previously connected account is revoked. If you reject a permission request, the DApp will not know anything about your Ethereum address, nor will it be able to initiate transactions.
Go to Profile > Privacy and security > Set DApp permissions to see which DApps can access which accounts, and to revoke permissions if you would like.
Note that if the DApp has stored your address, this cannot be revoked by Status.
Status includes a Hierarchical Deterministic (HD) wallet. Any keys generated in this wallet are encrypted and stored locally on your phone, using secure hardware if available. Nobody has access but you. For enhanced security you can get a Keycard to store your keys.
The signing phrase is a security feature. When you use Status for the first time, the wallet will show you your signing phrase, which is a unique combination of three words. Only you and the app know this signing phrase. Every time you sign a transaction, the app will show you the signing phrase. If you recognize the signing phrase, you know for sure that the signature request is coming from Status and is safe to sign.
By default, only ETH and SNT are displayed in your wallet. If you import an account that also holds other tokens, Status shows these as well. In other cases, for example when you send tokens to an account in Status, you will need to add these to your account view.
You can add tokens to your account view by going to your `Wallet overview screen` > `[...]` Menu in the top right corner > `Manage assets`.
The network fee, also known as “gas,” covers the computational cost of executing an action on the Ethereum blockchain. It’s standard to the network. No changes can be made to the Ethereum blockchain, including transactions between users, without the expenditure of gas. The Status wallet allows you to adjust the network fee with each transaction. A higher fee will improve the processing speed for your transaction.
No, they’re not lost. If you generated additional wallets from within Status, and you later recover your account, you will need to manually recover the additional wallets by following the same steps you took to create them. You can add an account from the Wallet > Add an account. Rather than generating a brand new wallet, Status will recuperate each additional wallet you created in order, and your assets will be recovered with them.
In the future, we’ll ensure all of your Status wallets are recovered automatically.
Any change on Ethereum is considered a transaction. Information is transferred from one address to another. This information can be assets or an agreement. When you sign a transaction using Status you are approving this transaction. Status will tell you what type of transaction you are asked to sign.
Status wallet allows you to send ETH and ERC20 (e.g. OMG, BNB, BAT or DAI) to wallets that accept these currencies. To send assets go to Wallet and tap on the send icon [↗] at the bottom of the screen. Alternatively go to Wallet > Account card > Send
Then Enter Amount > Select token > Select from account > Choose recipient
You can recognize wallets that accept ETH and Ethereum based tokens by the address format. The address will start with 0x… Status wallet checks for invalid addresses. Best practice is to always triple check the address manually before signing a transaction.
No, currently Status does not support the Bitcoin blockchain, and only Ethereum and assets built on top are available within the application. BitCoin is a separate blockchain and uses a separate network of validators for its transactions, which is why currently it is impossible to make transactions between the two networks.
Keycard is hardware wallet that you can use with your Status app.
It provides a higher level of security and ownership to Status users' private keys. Keycard is a cold storage for your assets that you need to tap (along with entering a 6-digit passcode) on your phone when making a transaction.
And Keycard can be used a 2FA to protect access to Status (i.e. use of Chat). To unlock your keys and use the app you will need to tap your card and enter your 6-digit passcode.
No, you do not need a Keycard to use Status. Status wallet is non-custodial and audited by 3rd party security firms. It is secure on its own, but with Keycard, you’re adding an even superior level of hardware security.
Keycard is from the ground up built like a mobile friendly hardware wallet. It embeds NFC contactless technology to communicate with your mobile phone and sign transaction with a tap of the card and entering your 6-digit passcode. Moreover its form factor is very convenient to carry around.
Keycard does not have a screen or keyboard, making it cost effective. The security level of Keycard is similar to a Ledger when used with trusted application like Status.
For now Keycard can be used by Status user as hardware wallet only. It is part of our roadmap to introduce physical payments with Keycard as part of an open, inclusive and permissionless payment network where payment terminals are any phone running Status.
If you are a new Status user, then you just have to download Status, follow our onboarding flows, you will have to chose if you want to generate a new account or import one (i.e. `Access keys`) using a seed phrase, and then chose to store it in your Keycard. From there, you will be asked to tap your Keycard and enter your 6-digit passcode whenever you want to unlock your keys and use Status, or sign a transaction.
When you onboard with Status and Keycard, you will be provided a pairing code and PUK code. You have to write down these two pieces of data very carefully because they will never be presented to you again.
Your pairing code will be needed when you want to use your Keycard with another phone or other app than Status.
Your PUK code will be needed if you forget your 6-digit passcode, in order to reset and change it.
You will need to deinstall Status to start from a fresh install. When onboarding you will need to enter your seed phrase (`Access keys` > `Enter seed phrase`) and store it on Keycard. You will recover your account and all interactions with your private keys will now be protected by Keycard.
If you lost your PUK code and your 6-digit passcode, then you are in a pretty bad situation, you will never be able to use your Keycard. To recover your funds you should use your seed phrase and recover (i.e. `Access keys`) again in Status or another wallet. If you are familiar with CLI and lost your passcode and PUK code, the Keycard development team might be able to help you factory reset your Keycard, please reach out to https://join.status.im/chat/public/status-keycard
If you lost your seed phrase for your current account, you have to act because you are under the risk of losing all your funds at some point if you lose your Keycard or forget your PUK/Pairing code. You should immediately create a new wallet with a new seed phrase and transfer your assets from your current account on it.
If you lost your pairing code, you must make sure that you have noted down your seed phrase. Without your pairing code and your seed phrase you are at risk of losing access to your funds if you lose your phone.