We are currently moving the documentation to a new platform. Please visit Trezor Wiki for the latest version of this page.
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.
The SatoshiLabs Vendor ID is
0x534c and TREZOR’s Device ID
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 message definitions are stored in the trezor-common repository. The following files are of interest:
Message ordering in the TREZOR protobuf protocol is significant. You will find a list of standard workflows bellow: