Wallet Logo

Coinbase Wallet — Crypto Wallet & DApp Browser

latest release: 25.6.393 ( 5th October 2021 ) last analysed  31st May 2021 No source for current release found 
3.8 ★★★★★
27646 ratings
1 million
20th September 2017

Jump to verdict 

Help spread awareness for build reproducibility

Please help us spread the word discussing transparency with Coinbase Wallet — Crypto Wallet & DApp Browser  via their Twitter!

Do your own research!

Try out searching for "lost bitcoins", "stole my money" or "scammers" together with the wallet's name, even if you think the wallet is generally trustworthy. For all the bigger wallets you will find accusations. Make sure you understand why they were made and if you are comfortable with the provider's reaction.

If you find something we should include, you can create an issue or edit this analysis yourself and create a merge request for your changes.

The Analysis 

Coinbase Wallet — Crypto Wallet & DApp Browser certainly sounds a lot like this other Coinbase wallet we reviewed here but this is actually a second wallet endorsed by the same Coinbase.

From their FAQ:

Wallet is a user-custodied digital currency wallet and DApp browser.

so for us the next step would be to find the source and reproduce the app …

On the same page there is a link to GitHub but none to the actual repository. Neither is there on the Playstore description.

If we filter the list of repositories by those created by CoinbaseWallet, we get this list of repositories that most lack a description or a README.md.

Here is the list as we found it with the only three descriptions underlined in green, none of which sounds much like an Android wallet:

list of repositories

Tiny correction … some of the projects have empty READMEs.

So from the names, the only two repositories that might contain relevant code are CBCore and CBHTTP, both of which contain a folder called android.

An Android app has an ID and this ID has to be referenced in its source code, so at this point we search for this app’s ID org.toshi within the organization which yields zero results.

Searching all of GitHub we do find the string org.toshi here for example but as this is not linked by the company and two years old, we will not try to build it to verify a recently updated app.

This is the point where we come to the verdict not verifiable given there is no public source code to build the app from.

(lw)

Verdict Explained

Without public source of the reviewed release available, this product cannot be verified!

As part of our Methodology, we ask:

Is the source code publicly available? If not, we tag it No Source! 

A wallet that claims to not give the provider the means to steal the users’ funds might actually be lying. In the spirit of “Don’t trust - verify!” you don’t want to take the provider at his word, but trust that people hunting for fame and bug bounties could actually find flaws and back-doors in the wallet so the provider doesn’t dare to put these in.

Back-doors and flaws are frequently found in closed source products but some remain hidden for years. And even in open source security software there might be catastrophic flaws undiscovered for years.

An evil wallet provider would certainly prefer not to publish the code, as hiding it makes audits orders of magnitude harder.

For your security, you thus want the code to be available for review.

If the wallet provider doesn’t share up to date code, our analysis stops there as the wallet could steal your funds at any time, and there is no protection except the provider’s word.

“Up to date” strictly means that any instance of the product being updated without the source code being updated counts as closed source. This puts the burden on the provider to always first release the source code before releasing the product’s update. This paragraph is a clarification to our rules following a little poll.

We are not concerned about the license as long as it allows us to perform our analysis. For a security audit, it is not necessary that the provider allows others to use their code for a competing wallet.

The product cannot be independently verified. If the provider puts your funds at risk on purpose or by accident, you will probably not know about the issue before people start losing money. If the provider is more criminally inclined he might have collected all the backups of all the wallets, ready to be emptied at the press of a button. The product might have a formidable track record but out of distress or change in management turns out to be evil from some point on, with nobody outside ever knowing before it is too late.