Our wallet review process
We examine wallets starting at the code level and continue all the way up to the finished app that lives on your device. Provided below is an outline of each of these steps along with security tips for you and general test results.
Released
Android: 23rd April 2015
iPhone: 21st January 2015
Custody
Custodial!
As part of our Methodology, we ask: Does the product allow self-custody?
The answer is "no". Therefore we marked it as "Custodial: The provider holds the keys".
Read more
Source code
Not evaluated — our review stopped at an earlier step.
Passed 4 of 7 tests
We answered the following questions in this order:
We stopped asking questions after we encountered a failed answer.
The answer is "yes".
If the answer were "no", we would mark it as "Fake" and the following would apply:
The answer is "no". We marked it as "Fake".
We did not ask this question because we failed at a previous question.
If the answer were "no", we would mark it as "Fake" and the following would apply:
The bigger wallets often get imitated by scammers that abuse the reputation of the product by imitating its name, logo or both.
Imitating a competitor is a huge red flag and we urge you to not put any money into this product!
The answer is "yes".
If the answer were "no", we would mark it as "Not a wallet" and the following would apply:
The answer is "no". We marked it as "Not a wallet".
We did not ask this question because we failed at a previous question.
If the answer were "no", we would mark it as "Not a wallet" and the following would apply:
If it’s called “wallet” but is actually only a portfolio tracker, we don’t look any deeper, assuming it is not meant to control funds. What has no funds, can’t lose your coins. It might still leak your financial history!
If you can buy Bitcoins with this app but only into another wallet, it’s not a wallet itself.
The answer is "yes".
If the answer were "no", we would mark it as "A wallet but not for Bitcoin" and the following would apply:
The answer is "no". We marked it as "A wallet but not for Bitcoin".
We did not ask this question because we failed at a previous question.
If the answer were "no", we would mark it as "A wallet but not for Bitcoin" and the following would apply:
At this point we only look into wallets that at least also support BTC.
The answer is "yes".
If the answer were "no", we would mark it as "Can't send or receive bitcoins" and the following would apply:
The answer is "no". We marked it as "Can't send or receive bitcoins".
We did not ask this question because we failed at a previous question.
If the answer were "no", we would mark it as "Can't send or receive bitcoins" and the following would apply:
If it is for holding BTC but you can’t actually send or receive them with this product then it doesn’t function like a wallet for BTC but you might still be using it to hold your bitcoins with the intention to convert back to fiat when you “cash out”.
All products in this category are custodial and thus funds are at the mercy of the provider.
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.
The answer is "yes".
If the answer were "no", we would mark it as "Custodial: The provider holds the keys" and the following would apply:
The answer is "no". We marked it as "Custodial: The provider holds the keys".
We did not ask this question because we failed at a previous question.
If the answer were "no", we would mark it as "Custodial: The provider holds the keys" and the following would apply:
A custodial service is a service where the funds are held by a third party like the provider. The custodial service can at any point steal all the funds of all the users at their discretion. Our investigations stop there.
Some services might claim their setup is super secure, that they don’t actually have access to the funds, or that the access is shared between multiple parties. For our evaluation of it being a wallet, these details are irrelevant. They might be a trustworthy Bitcoin bank and they might be a better fit for certain users than being your own bank but our investigation still stops there as we are only interested in wallets.
Products that claim to be non-custodial but feature custodial accounts without very clearly marking those as custodial are also considered “custodial” as a whole to avoid misguiding users that follow our assessment.
We have to acknowledge that a huge majority of Bitcoiners are currently using custodial Bitcoin banks. If you do, please:
- Do your own research if the provider is trust-worthy!
- Check if you know at least enough about them so you can sue them when you have to!
- Check if the provider is under a jurisdiction that will allow them to release your funds when you need them?
- Check if the provider is taking security measures proportional to the amount of funds secured? If they have a million users and don’t use cold storage, that hot wallet is a million times more valuable for hackers to attack. A million times more effort will be taken by hackers to infiltrate their security systems.
The answer is "yes".
If the answer were "no", we would mark it as "No source for current release found" and the following would apply:
The answer is "no". We marked it as "No source for current release found".
We did not ask this question because we failed at a previous question.
If the answer were "no", we would mark it as "No source for current release found" and the following would apply:
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. You should still prefer actual open source licenses as a competing wallet won’t use the code without giving it careful scrutiny.
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.Distribution
Build Verifications
Build cannot be done because the source code is not publicly available.App Description
Coincheck is the mobile app of the Japanese cryptocurrency exchange of the same name, operated by Coincheck, Inc. It ships under a different bundle ID on each store — jp.coincheck.android on Google Play and jp.coincheck.ios on the App Store, where it is listed as コインチェック-ビットコイン/仮想通貨(暗号資産)取引アプリ. It is an exchange account app: users deposit Japanese yen by bank transfer, convenience store or Pay-easy, trade 34 crypto assets including BTC from ¥500, and can send and receive bitcoin by QR code. The listing states plainly that the operator is a registered exchange business — “金融庁に登録されている暗号資産(仮想通貨)交換業者です。” (“We are a crypto asset exchange operator registered with the Financial Services Agency.”)
The Google Play description makes the same wallet-shaped pitch:
Anyone can easily send Bitcoins just by scanning QR code! You can also convert address for receiving Bitcoins to QR code as well. Coincheck wallet will enable everyone to exchange money without using cash or credit card.
Testing and Analysis
Coincheck says it holds the assets
No black-box testing is needed here, because the provider states the custody arrangement itself. On its own security page, Coincheck describes customer funds as deposited assets that it manages:
Coincheckでは改正資金決済法の規定に従って、顧客ユーザーからの預かり資産である法定通貨や暗号資産を自社の資産と分別して管理しています。
(“In accordance with the provisions of the revised Payment Services Act, Coincheck manages the fiat currency and crypto assets deposited by customer users separately from its own assets.”)
The same page describes a daily reconciliation that only a custodian could perform:
Coincheckが預かる顧客ユーザーの法定通貨や暗号資産それぞれについて、日次で実際の残高と当社が計算上把握している残高を照合し、顧客ユーザーの残高が不足していないかを確認しています。
(“For each of the fiat currencies and crypto assets that Coincheck holds on behalf of customer users, we reconcile the actual balance daily against the balance we compute internally, and confirm that customer users’ balances are not short.”)
The wording is decisive in both directions. 預かり資産 and 預かる are the vocabulary of holding something on someone else’s behalf, and a segregation-and-reconciliation regime under the Payment Services Act only makes sense where the operator controls the coins. Source: Coincheckの安全性やセキュリティについて.
The same page describes how those keys are protected — cold wallets, multisig, two-factor authentication, SSL — which are Coincheck’s controls over Coincheck’s keys. Good custodial practice is still custody.
The user never holds a key
Nothing in the app’s own material offers self-custody, on either platform. The security sections of both store listings name only 2段階認証 (two-factor authentication) and PINコードロック (PIN code lock) — both account access controls, neither of them key management. There is no recovery phrase, no seed backup, no private key export and no import of an existing wallet anywhere in either description. The QR send and receive feature moves coins out of and into a Coincheck account; it does not put a key on the phone. Reviews of the app also mention ID card verification, as expected of a registered exchange.
This matters more than the app’s own security engineering. A custodial provider can move every user’s funds at its discretion, and its failures are the user’s losses. Coincheck’s own history is the illustration: on 26 January 2018 roughly 523 million NEM, about ¥58bn or $530m, were taken from coins the company was holding in a hot wallet. That exposure existed only because the operator held the coins, and it is worth reading the cold-wallet and multisig assurances above against it — they describe how Coincheck protects its own keys today, not a guarantee the user can verify or fall back on.
Verifiability does not arise
Our verdict order stops at custody, and for good reason: where the provider holds the keys, whether the app is verifiable has no bearing on whether the funds are safe. For completeness, no source is published for either app. An exchange API is documented, and the coincheckjp GitHub organisation publishes client libraries for Ruby, Python, Node and PHP — but not the mobile applications themselves. That was true when this project first reviewed the Android app in 2021 and remains true today.
Verdict: custodial
Coincheck states on its own site that it holds customer crypto as deposited assets and reconciles those balances daily, and neither app offers the user a key, seed or recovery phrase of any kind. Funds are therefore at the provider’s discretion rather than the user’s, so both the Android and iPhone apps receive our custodial verdict.
Product page updated by Daniel Andrei R. Garcia
Do your own research
In addition to reading our analysis, it is important to do your own checks. Before transferring any bitcoin to your wallet, look up reviews for the wallet you want to use. They should be easy to find. If they aren't, that itself is a reason to be extra careful.