Provided by: ledgercomm_1.2.1-2_all bug

NAME

       ledgercomm-send - CLI tool to send APDUs to Ledger devices or Speculos emulator

SYNOPSIS

       ledgercomm-send [OPTIONS] SUBCOMMAND [ARGUMENTS]

DESCRIPTION

       ledgercomm-send  is  a  command-line  tool  provided  by  the  python-ledgercomm package for sending APDU
       (Application Protocol Data Unit) commands to Ledger Nano S/X hardware wallets (via HID interface) or  the
       Speculos  emulator  (via  TCP  socket).  It  is  part of the ledgercomm Python library, which facilitates
       communication with Ledger devices and the Speculos emulator for sending and receiving APDUs.

       The tool supports sending APDUs from text files, standard input, or Ledger Live log files. APDUs  can  be
       sent  in raw format (hexadecimal strings or bytes) or using structured parameters (e.g., cla , ins , p1 ,
       p2 , cdata ). It is designed for developers and users testing  or  interacting  with  Ledger  devices  or
       emulators.

       When  using  the  HID  interface for physical Ledger devices, the python3-hidapi package is required, and
       appropriate udev rules must be configured for the Ledger Nano S/X. For TCP communication  with  Speculos,
       no additional dependencies are needed.

OPTIONS

       --hid  Use  the HID interface to communicate with physical Ledger Nano S/X devices instead of the default
              TCP interface for Speculos.

       --server SERVER
              Specify the IP address of the Speculos server (default: 127.0.0.1).

       --port PORT
              Specify the port of the Speculos server (default: 9999).

       --startswith PREFIX
              Filter APDUs to only send those starting with  the  specified  prefix  (e.g.,  "=>").  Useful  for
              parsing files with mixed content.

       -h, --help
              Display the help message and exit.

SUBCOMMANDS

       file FILE
              Send  APDUs  from  a  text  file.  The  file  can contain APDUs as hexadecimal strings, optionally
              prefixed with a string like "=>".

       stdin  Read APDUs from standard input (e.g., via a pipe).

       log LOGFILE
              Send APDUs extracted from a Ledger Live log file.

EXAMPLES

       Send an APDU to the Speculos emulator via standard input:

              echo "E003000000" | ledgercomm-send stdin

       Send an APDU to a Ledger Nano S/X device via HID:

              ledgercomm-send --hid stdin

       Send APDUs from a file, filtering by a prefix:

              ledgercomm-send --startswith "=>" file apdus.txt

       Example content of apdus.txt :

              # this line won't be sent if --startswith "=>" is used
              => E003000000
              # another APDU to send
              => E004000000

DEPENDENCIES

       For TCP communication with the Speculos emulator,  no  additional  dependencies  are  required.  For  HID
       communication  with  Ledger Nano S/X devices, the python3-hidapi package must be installed. Additionally,
       appropriate udev rules must be configured for the Ledger device to be accessible.

NOTES

       When using ledgercomm-send with a physical Ledger device, ensure the device is connected and the  correct
       udev  rules  are  set  up  (see  Ledger  documentation for details). For Speculos, ensure the emulator is
       running and accessible at the specified --server and --port

AUTHORS

       Ledger <hello@ledger.fr> (upstream)
       Debian packagers: Manuel Guerra <ar.manuelguerra@gmail.com>, Soren Stoutner <soren@debian.org>

SEE ALSO

       Full documentation at: <https://github.com/LedgerHQ/ledgercomm>
       Speculos emulator: <https://github.com/LedgerHQ/speculos>
       APDU specification: <https://en.wikipedia.org/wiki/Smart_card_application_protocol_data_unit>

version 1.2.1                                       May 2025                                  LEDGERCOMM-SEND(1)