LinuxCommandLibrary

trezorctl

TLDR

List connected Trezor devices

$ trezorctl list
copy
Get device features and info
$ trezorctl get-features
copy
Get Bitcoin address at a specific path
$ trezorctl btc get-address -n "m/84'/0'/0'/0/0"
copy
Sign a message with Bitcoin
$ trezorctl btc sign-message -n "m/84'/0'/0'/0/0" "[message]"
copy
Wipe device (factory reset)
$ trezorctl device wipe
copy
Update firmware
$ trezorctl firmware-update
copy
Set device label
$ trezorctl device set-label "[My Trezor]"
copy
Change PIN
$ trezorctl device change-pin
copy

SYNOPSIS

trezorctl [options] command [subcommand] [arguments]

DESCRIPTION

trezorctl is the command-line interface for Trezor hardware wallets, providing advanced control over device configuration, cryptocurrency operations, and security settings. It is part of the trezorlib Python package and communicates with Trezor One, Trezor Model T, and Trezor Safe devices.
The tool enables signing transactions, deriving addresses, managing device settings, updating firmware, and performing recovery operations without using the graphical Trezor Suite application. It supports multiple cryptocurrencies including Bitcoin, Ethereum, and various altcoins.
All sensitive operations require physical confirmation on the device, maintaining security even when using command-line tools. The interface is designed for advanced users who need scriptable access to hardware wallet functions.

PARAMETERS

list

List all connected Trezor devices.
get-features
Retrieve device information including model, firmware version, and settings.
btc get-address -n path
Get a Bitcoin address at the specified BIP32 derivation path.
btc sign-message -n path message
Sign a message using the key at the specified path.
btc sign-tx
Sign a Bitcoin transaction interactively.
device wipe
Wipe the device and reset to factory settings.
device setup
Initialize a new device with seed generation.
device recover
Recover a device using an existing seed phrase.
device change-pin
Change or set the device PIN.
device set-label label
Set a custom label for the device.
device unlock-bootloader
Unlock the bootloader for advanced operations.
firmware-update
Update device firmware to the latest version.
set safety-checks strict|prompt
Set safety check level. Strict enforces full security; prompt allows overrides.
-v, --verbose
Enable verbose output.
--help
Show help for a command.

CAVEATS

Requires Python 3.9 or higher and libusb. On Linux, udev rules must be configured for device detection. Some operations like device wipe are irreversible; ensure seed phrase backup before proceeding. The device must be connected and unlocked for most commands.

HISTORY

trezorctl was developed by SatoshiLabs as part of the Python tools for Trezor, the first hardware cryptocurrency wallet released in 2014. The command-line interface evolved alongside the device firmware, adding support for new cryptocurrencies and security features. The tool is maintained in the official trezor-firmware repository.

SEE ALSO

gpg(1), openssl(1)

Copied to clipboard