✨ Made with Daftpage

Trezor Suite® – Getting Started™ Developer Portal
Developer Portal

Trezor Suite® – Getting Started™

A concise developer guide to integrate, build and test with Trezor Suite. Secure hardware, modern APIs — fast onboarding for engineers.

Introduction

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.

Quick start (5 minutes)

Prerequisites

  • Node.js (LTS) and npm or yarn
  • A Trezor device (Model T or One)
  • Trezor Suite installed for local testing

Install SDK

npm install @trezor/connect

Import and initialize @trezor/connect in your app and call TrezorConnect.getFeatures() to verify the device connection.

APIs & SDK

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.

Common endpoints

  • TrezorConnect.getPublicKey — fetch xpubs for wallet generation
  • TrezorConnect.signTransaction — sign BTC/ETH transactions
  • TrezorConnect.ethereumSignMessage — sign typed messages

Security best practices

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

  • Verify firmware version and model via getFeatures().
  • Use application-specific derivation paths and labels for clarity.
  • Sign only the minimal data required — avoid blind signing where possible.

Code example — request an address

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.

Developer tools & testing

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.

  • Automated tests: stub out TrezorConnect calls in unit tests.
  • Manual QA: pair a disposable device to validate flows and messages.

Troubleshooting & FAQ

Device not detected?

Confirm USB permissions, try reconnecting the device, and make sure Suite or browser permissions are enabled. Update firmware if prompted.

Can I sign arbitrary data?

Yes — message signing is supported, but avoid blind-signing unknown payloads. Present human-readable context to the user.

Ready to build? Explore the full Developer API

© Trezor Suite® — This guide is a developer-focused primer and not a replacement for official security documentation.