Wallet Logo


🔍 Last analysed 4th December 2021 . Bad Interface

The design of the device does not allow to verify what is being signed!

As part of our Methodology, we ask:

Can the user verify and approve transactions on the device?

If the answer is "no", we mark it as "Bad Interface".

These are devices that might generate secure private key material, outside the reach of the provider but that do not have the means to let the user verify transactions on the device itself. This verdict includes screen-less smart cards or USB-dongles.

The wallet lacks either an output device such as a screen, an input device such as touch or physical buttons or both. In consequence, crucial elements of approving transactions is being delegated to other hardware such as a general purpose PC or phone which defeats the purpose of a hardware wallet.

Another consquence of a missing screen is that the user is faced with the dilemma of either not making a backup or having to pass the backup through an insecure device for display or storage.

The software of the device might be perfect but this device cannot be recommended due to this fundamental flaw.

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.

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 

The MIRkey is a FIDO2 Security Key, multi-purpose HSM and hardware Bitcoin wallet.

Here is a tutorial on how to use this wallet with Electrum.

Interface - ❌

This hardware wallet resembles a USB. It has no screen, although it has a button that allows the user to sign transactions.

Private keys can be created offline - ✔️

From the product page:

With MIRkey you can import, create and store cryptographic keys safely. Keys are stored encrypted with master keys in tamper proof silicon that can only be unlocked with the user password. Its hardware and operating system free nature safeguards your keys from being stolen or copied without your knowledge.

This protects your keys from ransomware as well as malware and viruses.

MIRkey specifications

Private keys are not shared - ✔️

In an article on the blog, MIRkey recommends storing bitcoins offline.

Using a hardware device means that the keys to your Bitcoins are never exposed to software or stored on your file system where they can be copied by malware. Keep a copy of your seed words on paper in a vault and use a backup hardware device in case of loss, damage or theft. In case of device theft, transfer the Bitcoins to a new wallet.

MIRkey documentation on hardware security keys.

In contrast, a hardware security key uses a private key to digitally sign a random chunk of data to prove to the server that it has ownership of the private key. The server verifies this signature by using the public key. The private key is never transferred out of the security key so there is no opportunity for the hacker to obtain the private key.

From a hardware point of view, a well designed hardware security key like the MIRkey is in essence a simplified form of a hardware security module. This means the private keys are protected by using a secure element in secure silicon and the cryptographic operations are performed in a secure environment - no other software is allowed to execute in the secure environment. The only way to obtain the private key is to get physical access to the security key and even then it is very difficult, costly and time consuming to retrieve the private key from the device. This provides you with ample time to:

  • Notice that the key is missing and
  • de-register the security key before your account can be compromised.

Device displays receive address for confirmation - ❌

There is a lack of any on-device screens, thus complicating the verification process. A transaction is sent to the device for signing and the user blindly presses a button on the device as confirmation.

(ml, dg)