This guide briefly explains how to set up your hardware wallet to work with Electrum on Linux.
Note: If you’re using the Electrum AppImage, you can skip the first two steps. The AppImage already includes all necessary dependencies and Python libraries.
Dependencies
All hardware wallets require hidapi. To build this library, you’ll need:
Ubuntu:
sudo apt-get install libusb-1.0-0-dev libudev-dev
Fedora:
sudo dnf install libusb-devel systemd-devel
Arch Linux /
Manjaro:
sudo pacman -S libusb systemd
openSUSE:
sudo zypper install libusb-1_0-devel systemd-devel
Debian:
sudo apt-get install libusb-1.0-0-dev libudev-dev
CentOS:
sudo yum install libusbx-devel systemd-devel
(Package names may be different for other distributions.)
Python libraries
Next, you’ll need a specific Python package for your hardware wallet. This is typically a library provided by the device manufacturer.
For the most current list of required packages and their versions, check the requirements-hw.txt file in the Electrum source code.
Trezor
python3 -m pip install trezor[hidapi]
For more details, refer to python-trezor.
Ledger
python3 -m pip install hidapi btchip-python ecdsa ledger-bitcoin
For more details, refer to LedgerHQ/app-bitcoin-new and LedgerHQ/btchip-python.
KeepKey
python3 -m pip install keepkey
For more details, refer to python-keepkey.
Digital Bitbox
The Digital Bitbox only needs hidapi.
python3 -m pip install hidapi
BitBox02
python3 -m pip install bitbox02
For more details, refer to python-bitbox02.
Archos Safe-T
python3 -m pip install safet
For more details, refer to python-safet.
Coldcard
python3 -m pip install ckcc-protocol
For more details, refer to ckcc-protocol.
Jade
python3 -m pip install pyserial cbor2
For more details, refer to jadepy.
3. udev rules
You will need to configure udev rules. See electrum/contrib/udev
4. Done
That’s it! Electrum should now detect your device.