Developers guide:Low level API

From Trezor Wiki
Jump to: navigation, search

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 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.

API workflows

Message ordering in the Trezor protobuf protocol is significant. You will find a list of standard workflows bellow: