A concise developer guide to integrate, build and test with Trezor Suite. Secure hardware, modern APIs — fast onboarding for engineers.
Trezor Suite® is a desktop and web companion that connects to Trezor hardware wallets to manage keys and sign transactions. This developer portal gives you the essentials to start building integrations, tools, and developer experiences that leverage Trezor's strong security model.
In this guide you will find quick-start steps, sample code, recommended security practices, common API patterns and troubleshooting tips — all geared for rapid, safe development.
npm install @trezor/connect
Import and initialize @trezor/connect in your app and call TrezorConnect.getFeatures() to verify the device connection.
The primary integration point is the Trezor Connect SDK which exposes high-level methods for device discovery, retrieving public keys, and signing transactions. Use the SDK to keep cryptographic operations on-device and reduce risk in your application.
TrezorConnect.getPublicKey — fetch xpubs for wallet generationTrezorConnect.signTransaction — sign BTC/ETH transactionsTrezorConnect.ethereumSignMessage — sign typed messagesKeep sensitive logic off the host by relying on the device for private key operations. Validate device fingerprints and firmware version before trusting signatures. Always prompt users and show clear UI when requesting signatures.
getFeatures().import TrezorConnect from '@trezor/connect';
TrezorConnect.getAddress({
path: "m/44'/0'/0'/0/0",
coin: 'Bitcoin'
}).then(response => console.log(response));
This call returns the public address without exposing private keys — ideal for building receive flows or address verification dialogs.
Use the Trezor Suite app alongside your development environment to visually inspect device states and flows. Mock user prompts and run test vectors in CI using emulators or test fixtures where possible.
TrezorConnect calls in unit tests.Confirm USB permissions, try reconnecting the device, and make sure Suite or browser permissions are enabled. Update firmware if prompted.
Yes — message signing is supported, but avoid blind-signing unknown payloads. Present human-readable context to the user.