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.
Application build test result
Nemanja Nikodijević is a security researcher who has managed to create an Open Source hardware wallet called hwallet that uses significantly less lines of code than ColdCard, Trezor, Ledger and KeepKey.
He elaborates in this video:
In the below video Nemanja Nikodijević claims that his Open Source Hardware Wallet is significantly less complex than the top competitors. By his count, the lines of code are:
- 2.5 million in
- 346 thousand in
- 162 thousand in
- 122 thousand in
- 4 thousand in his product
Huge part he blames on the lack of hardware acceleration - if the chip used can’t do fancy cryptography natively, the software has to do it. While this is true, it doesn’t mean that those features are not implemented somewhere. They are implemented in silicon. We won’t go into details here but a more feature-rich chip might be more complex in other areas and from that increase the attack surface again.
The other part where his claims are flawed is that his product doesn’t support all the features the other mentioned products do.
Lastly, as he counts license headers - that is code comments - as “lines of code”, what else did he count? Empty lines? Code documentation, which only improves security as it helps with audits while not being executable and thus not increase the attack surface.
The hwallet is not commercially available and is a DIY bitcoin hardware wallet. He built the project in order to prove that there is a simpler and safer way to build bitcoin hardware wallets compared to current commercially available solutions.
From his repository, the required components are:
- FRDM-K82F or FRDM-KL82Z
- Pmod OLED
This is an Open Source DIY project.
Tests performed 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.