Command-line options for trezorctl
==================================

See `EXAMPLES.rst <EXAMPLES.rst>`_ for examples on how to use.

``trezorctl`` is split into a number of subcommands based on currency and/or
functionality. The best way to get up-to-date help is to use the integrated help option.

The full list of subcommands can be seen like so:

.. code::

  trezorctl --help

Each subcommand has its own help, shown with ``trezorctl <command> --help``.

List of subcommands
-------------------

For convenience of search, the help texts of all commands and subcommands are listed
on one page here.

.. ### ALL CONTENT BELOW IS GENERATED BY helper-scripts/make-options-rst.py ###
.. code::

  Usage: trezorctl [OPTIONS] COMMAND [ARGS]...

  Options:
    -p, --path TEXT           Select device by specific path.
    -B, --ble / --no-ble      Enable/disable support for Bluetooth Low Energy.
    -v, --verbose             Show communication messages.
    -j, --json                Print result as JSON object
    -P, --passphrase-on-host  Enter passphrase on host.
    -S, --script              Use UI for usage in scripts.
    -s, --session-id DATA     Resume given session.
    -r, --record DIRECTORY    Record screen changes into a specified directory.
    --version                 Show the version and exit.
    --help                    Show this message and exit.

  Commands:
    benchmark          Benchmark commands.
    ble                BLE commands.
    btc                Bitcoin and Bitcoin-like coins commands.
    cardano            Cardano commands.
    clear-session      Clear current session and lock the device.
    crypto             Miscellaneous cryptography features.
    debug              Miscellaneous debug features.
    device             Device management commands - setup, recover seed, wipe, etc.
    eos                EOS commands.
    ethereum           Ethereum commands.
    evolu              Evolu commands.
    fido               FIDO2, U2F and WebAuthN management commands.
    firmware           Firmware commands.
    get-features       Retrieve device features and settings.
    get-session        Get a session ID for subsequent commands.
    list               List connected Trezor devices.
    monero             Monero commands.
    nem                NEM commands.
    nostr              Nostr commands.
    ping               Send ping message.
    ripple             Ripple commands.
    set                Device settings.
    solana             Solana commands.
    stellar            Stellar commands.
    telemetry          Telemetry commands.
    tezos              Tezos commands.
    tron               Tron commands.
    usb-reset          Perform USB reset on stuck devices.
    version            Show version of trezorctl/trezorlib.
    wait-for-emulator  Wait until Trezor Emulator comes up.

Benchmark commands.
~~~~~~~~~~~~~~~~~~~

.. code::

  trezorctl benchmark --help

.. code::

  Usage: trezorctl benchmark [OPTIONS] COMMAND [ARGS]...

    Benchmark commands.

  Options:
    --help  Show this message and exit.

  Commands:
    list-names  List names of all supported benchmarks
    run         Run benchmark

BLE commands.
~~~~~~~~~~~~~

.. code::

  trezorctl ble --help

.. code::

  Usage: trezorctl ble [OPTIONS] COMMAND [ARGS]...

    BLE commands.

  Options:
    --help  Show this message and exit.

  Commands:
    connect  Connect to the device via BLE.
    unpair   Erase bond of currently connected device, or all devices (on device side).

Bitcoin and Bitcoin-like coins commands.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code::

  trezorctl btc --help

.. code::

  Usage: trezorctl btc [OPTIONS] COMMAND [ARGS]...

    Bitcoin and Bitcoin-like coins commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get-address      Get address for specified path.
    get-descriptor   Get descriptor of given account.
    get-public-node  Get public node of given path.
    sign-message     Sign message using address of given path.
    sign-tx          Sign transaction.
    verify-message   Verify message.

Cardano commands.
~~~~~~~~~~~~~~~~~

.. code::

  trezorctl cardano --help

.. code::

  Usage: trezorctl cardano [OPTIONS] COMMAND [ARGS]...

    Cardano commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get-address             Get Cardano address.
    get-native-script-hash  Get Cardano native script hash.
    get-public-key          Get Cardano public key.
    sign-message            Sign Cardano message containing arbitrary data.
    sign-tx                 Sign Cardano transaction.

Miscellaneous cryptography features.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code::

  trezorctl crypto --help

.. code::

  Usage: trezorctl crypto [OPTIONS] COMMAND [ARGS]...

    Miscellaneous cryptography features.

  Options:
    --help  Show this message and exit.

  Commands:
    decrypt-keyvalue  Decrypt value by given key and path.
    encrypt-keyvalue  Encrypt value by given key and path.
    get-entropy       Get random bytes from device.

Miscellaneous debug features.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code::

  trezorctl debug --help

.. code::

  Usage: trezorctl debug [OPTIONS] COMMAND [ARGS]...

    Miscellaneous debug features.

  Options:
    --help  Show this message and exit.

  Commands:
    optiga-set-sec-max  Set Optiga's security event counter to maximum.
    prodtest-t1         Perform a prodtest on Model One.
    record              Record screen changes into a specified directory.
    set-log-filter      Set logging filter string.

Device management commands - setup, recover seed, wipe, etc.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code::

  trezorctl device --help

.. code::

  Usage: trezorctl device [OPTIONS] COMMAND [ARGS]...

    Device management commands - setup, recover seed, wipe, etc.

  Options:
    --help  Show this message and exit.

  Commands:
    authenticate          Verify the authenticity of the device.
    backup                Perform device seed backup.
    forget                Forget a THP pairing key.
    load                  Upload seed and custom configuration to the device.
    reboot-to-bootloader  Reboot device into bootloader mode.
    recover               Start safe recovery workflow.
    sd-protect            Secure the device with SD card protection.
    serial-number         Get serial number.
    set-busy              Show a "Do not disconnect" dialog.
    setup                 Perform device setup and generate new seed.
    tutorial              Show on-device tutorial.
    unlock-bootloader     Unlocks bootloader.
    wipe                  Reset device to factory defaults and remove all private data.

EOS commands.
~~~~~~~~~~~~~

.. code::

  trezorctl eos --help

.. code::

  Usage: trezorctl eos [OPTIONS] COMMAND [ARGS]...

    EOS commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get-public-key    Get Eos public key in base58 encoding.
    sign-transaction  Sign EOS transaction.

Ethereum commands.
~~~~~~~~~~~~~~~~~~

.. code::

  trezorctl ethereum --help

.. code::

  Usage: trezorctl ethereum [OPTIONS] COMMAND [ARGS]...

    Ethereum commands.

    Most Ethereum commands now require the host to specify definition of a network and possibly an
    ERC-20 token. These definitions can be automatically fetched using the `-a` option.

    You can also specify a custom definition source using the `-d` option. Allowable values are:

    - HTTP or HTTPS URL
    - path to local directory
    - path to local tar archive
    

    For debugging purposes, it is possible to force use a specific network and token definition by
    using the `--network` and `--token` options. These options accept either a path to a file with a
    binary blob, or a hex-encoded string.

  Options:
    -d, --definitions TEXT  Source for Ethereum definition blobs.
    -a, --auto-definitions  Automatically download required definitions from trezor.io
    --network TEXT          Network definition blob.
    --token TEXT            Token definition blob.
    --help                  Show this message and exit.

  Commands:
    get-address           Get Ethereum address in hex encoding.
    get-public-node       Get Ethereum public node of given path.
    sign-message          Sign message with Ethereum address.
    sign-tx               Sign (and optionally publish) Ethereum transaction.
    sign-typed-data       Sign typed data (EIP-712) with Ethereum address.
    sign-typed-data-hash  Sign hash of typed data (EIP-712) with Ethereum address.
    verify-message        Verify message signed with Ethereum address.

Evolu commands.
~~~~~~~~~~~~~~~

.. code::

  trezorctl evolu --help

.. code::

  Usage: trezorctl evolu [OPTIONS] COMMAND [ARGS]...

    Evolu commands. Evolu is a local first storage framework. See https://github.com/evoluhq/evolu

  Options:
    --help  Show this message and exit.

  Commands:
    get-delegated-identity-key  Request the delegated identity key of this device.
    get-node                    Return the SLIP-21 node for Evolu.
    sign-registration-request   Sign a registration request for this device to be registered at...

FIDO2, U2F and WebAuthN management commands.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. code::

  trezorctl fido --help

.. code::

  Usage: trezorctl fido [OPTIONS] COMMAND [ARGS]...

    FIDO2, U2F and WebAuthN management commands.

  Options:
    --help  Show this message and exit.

  Commands:
    counter      Get or set the FIDO/U2F counter value.
    credentials  Manage FIDO2 resident credentials.

Firmware commands.
~~~~~~~~~~~~~~~~~~

.. code::

  trezorctl firmware --help

.. code::

  Usage: trezorctl firmware [OPTIONS] COMMAND [ARGS]...

    Firmware commands.

  Options:
    --help  Show this message and exit.

  Commands:
    download  Download and save the firmware image.
    get-hash  Get a hash of the installed firmware combined with the optional challenge.
    update    Upload new firmware to device.
    verify    Verify the integrity of the firmware data stored in a file.

Monero commands.
~~~~~~~~~~~~~~~~

.. code::

  trezorctl monero --help

.. code::

  Usage: trezorctl monero [OPTIONS] COMMAND [ARGS]...

    Monero commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get-address    Get Monero address for specified path.
    get-watch-key  Get Monero watch key for specified path.

NEM commands.
~~~~~~~~~~~~~

.. code::

  trezorctl nem --help

.. code::

  Usage: trezorctl nem [OPTIONS] COMMAND [ARGS]...

    NEM commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get-address  Get NEM address for specified path.
    sign-tx      Sign (and optionally broadcast) NEM transaction.

Nostr commands.
~~~~~~~~~~~~~~~

.. code::

  trezorctl nostr --help

.. code::

  Usage: trezorctl nostr [OPTIONS] COMMAND [ARGS]...

    Nostr commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get-pubkey  Return the pubkey derived by the given path.
    sign-event  Sign an event using the key derived by the given path.

Ripple commands.
~~~~~~~~~~~~~~~~

.. code::

  trezorctl ripple --help

.. code::

  Usage: trezorctl ripple [OPTIONS] COMMAND [ARGS]...

    Ripple commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get-address  Get Ripple address
    sign-tx      Sign Ripple transaction

Device settings.
~~~~~~~~~~~~~~~~

.. code::

  trezorctl set --help

.. code::

  Usage: trezorctl set [OPTIONS] COMMAND [ARGS]...

    Device settings.

  Options:
    --help  Show this message and exit.

  Commands:
    auto-lock-delay        Set auto-lock delay (in seconds).
    brightness             Set display brightness.
    display-rotation       Set display rotation.
    experimental-features  Enable or disable experimental message types.
    flags                  Set device flags.
    haptic-feedback        Enable or disable haptic feedback.
    homescreen             Set new homescreen.
    label                  Set new device label.
    language               Set new language with translations.
    passphrase             Enable, disable or configure passphrase protection.
    pin                    Set, change or remove PIN.
    safety-checks          Set safety check level.
    wipe-code              Set or remove the wipe code.

Solana commands.
~~~~~~~~~~~~~~~~

.. code::

  trezorctl solana --help

.. code::

  Usage: trezorctl solana [OPTIONS] COMMAND [ARGS]...

    Solana commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get-address     Get Solana address.
    get-public-key  Get Solana public key.
    sign-tx         Sign Solana transaction.

Stellar commands.
~~~~~~~~~~~~~~~~~

.. code::

  trezorctl stellar --help

.. code::

  Usage: trezorctl stellar [OPTIONS] COMMAND [ARGS]...

    Stellar commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get-address       Get Stellar public address.
    sign-transaction  Sign a base64-encoded transaction envelope.

Telemetry commands.
~~~~~~~~~~~~~~~~~~~

.. code::

  trezorctl telemetry --help

.. code::

  Usage: trezorctl telemetry [OPTIONS] COMMAND [ARGS]...

    Telemetry commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get  Read telemetry data from the device.

Tezos commands.
~~~~~~~~~~~~~~~

.. code::

  trezorctl tezos --help

.. code::

  Usage: trezorctl tezos [OPTIONS] COMMAND [ARGS]...

    Tezos commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get-address     Get Tezos address for specified path.
    get-public-key  Get Tezos public key.
    sign-tx         Sign Tezos transaction.

Tron commands.
~~~~~~~~~~~~~~

.. code::

  trezorctl tron --help

.. code::

  Usage: trezorctl tron [OPTIONS] COMMAND [ARGS]...

    Tron commands.

  Options:
    --help  Show this message and exit.

  Commands:
    get-address  Get Tron address
    sign-tx      Sign a raw transaction.

