Verify Ledger Nano S is genuine (software check)

Ledger has a guide that can help you verify the hardware and software is genuine. The software section is pretty basic though and does not explain it to users who are not familiar with Python. I will walk through how to test this on a Mac.


First, you will want to install a piece of software called virtualenv. This will allow us to install python modules in isolated environments, without potentially impacting the system Python installation. This is just best practice. To install, you should need to simply run:

sudo easy_install virtualenv

Now that is installed, we will create a virtualenv for the modules needed for this test. You must first create a directory:

mkdir /tmp/nanos

Now we can instruct virtualenv to create in that directory:

virtualenv /tmp/nanos/

Now that we have an isolated Python environment, we can activate it:

source /tmp/nanos/bin/activate

At this point, your terminal should now show “(nanos)” on the command line.

Now we are finally ready to install the Ledger Python utilities to test if the device is genuine:

pip install — no-cache-dir ledgerblue

This might take a minute or two, it is installing the needed libraries and modules to make this utility work. Once it is complete, you should be set to plug in your Ledger, input PIN, and then run the utility:

python -m ledgerblue.checkGenuine — targetId 0x31100002

If all goes well, on your device it will prompt you to allow the utility to check your device. Once you accept/approve, you should see a message back on your mac terminal that states “Product is genuine”.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.