Mycelium Bitcoin Wallet

less than 1 minute read


Wallet Logo

This app was first launched on 1st July 2013 and currently has more than 1000000 downloads, a 4.3 stars rating from 7943 users and the latest APK (version was from 20th March 2020.

Our analysis was done on 20th March 2020 based on data found in their Playstore description and their website and their source repository.

We found these ways of contacting the developers:

Older reviews


The following Analysis is not a full code review! We plan to make code reviews available in the future but even then it will never be a stamp of approval but rather a list of incidents and bad coding practice. We cannot find and tell you all the dark secrets the wallet providers might have.

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.

The Analysis

Disclaimer: The authors of this project have contributed to Mycelium. Andreas Schildbach was so kind and independently tested and confirmed Mycelium’s verifiability here for a past version. Independent tests would be highly welcome!

Here we test if version also can be verified, following the known procedure expressed in our test script:

Results for
appId: com.mycelium.wallet
apkVersionName: ""
apkHash: f35760dbc40959142c98abf923e70681e75cd6644892be15a7c3d3a689e11af8


Files /tmp/fromPlay_com.mycelium.wallet_3030301/apktool.yml and /tmp/fromBuild_com.mycelium.wallet_3030301/apktool.yml differ
Files /tmp/fromPlay_com.mycelium.wallet_3030301/original/META-INF/CERT.RSA and /tmp/fromBuild_com.mycelium.wallet_3030301/original/META-INF/CERT.RSA differ
Files /tmp/fromPlay_com.mycelium.wallet_3030301/original/META-INF/CERT.SF and /tmp/fromBuild_com.mycelium.wallet_3030301/original/META-INF/CERT.SF differ
Files /tmp/fromPlay_com.mycelium.wallet_3030301/original/META-INF/MANIFEST.MF and /tmp/fromBuild_com.mycelium.wallet_3030301/original/META-INF/MANIFEST.MF differ

This diff is what we want to see to call it verifiable.

Verdict Explained

Verifiable: The provided Open Source Code matches the app released on Google Play

The app can be independently verified. If the provider puts your funds at risk on purpose or by accident, security researchers can see this if they care to look. It also means that inside the company engineers can verify that the release manager is releasing the app based on code known to all engineers on the team. A scammer would have to work under the potential eyes of security researchers. He would have to take more effort in hiding any exploit.

"Verifiable" does not mean "verified". There is good reason to believe that security researchers as of today would not detect very blatant backdoors in the open source code before it gets exploited, much less if the attacker takes moderate efforts to hide it.