Low level API

TREZOR communicates using a simple request-response model. Messages are exchanged always in a purely synchronous fashion over USB HID. These messages are serialized into binary format using Protocol Buffers.

USB HID

The SatoshiLabs Vendor ID is 0x534c and TREZOR’s Device ID 0x0001.

If you’ve never worked with HID devices before, it may be helpful to take a look at Python implementation or Java implementation which establish a connection to TREZOR and reads and write to the device.

Protobuf definitions

Protobuf message definitions are stored in the trezor-common repository. The following files are of interest: