Trezor Suite® – Getting Started™ Developer Portal

A practical developer-friendly guide to integrating, extending, and building on top of Trezor Suite® — secure desktop and web application for managing hardware wallets.

1. Who this guide is for

This Developer Portal is written for frontend and backend engineers, desktop app integrators, and security-focused teams who want to:

  • Integrate Trezor hardware wallet flows into web or desktop apps.
  • Extend Trezor Suite® by contributing features or building complementary tooling.
  • Understand best practices for wallet security and transaction signing.

2. Quick architecture overview

Core components

  • Trezor Device — hardware key storage and cryptographic operations.
  • Trezor Bridge — native bridge for browser-to-device communication (USB).
  • Trezor Connect — JavaScript wrapper that exposes secure methods for dapps and web apps.
  • Trezor Suite — desktop & web client delivering UX for accounts, portfolio, and advanced features.

Familiarize yourself with these components early; most integration work uses Trezor Connect in the browser or Suite's internal APIs for desktop features.

3. Getting your environment ready

Prerequisites

  • Node.js v16+ for local development and building Suite components.
  • A development Trezor device or device emulator for safe testing.
  • Basic knowledge of TypeScript is recommended — Trezor projects use typed code extensively.

Useful links

4. Installing & running locally

Clone and install

git clone https://github.com/trezor/trezor-suite.git
cd trezor-suite
npm install
npm run dev

Running Suite locally spins up the web app and enables hot reload. Use the --device flags (documented in repo README) to connect to a hardware device or emulator.

5. Trezor Connect: the integration layer

Trezor Connect is the recommended path for third-party web apps that need to request account addresses or perform transaction signing. It abstracts transport and user-confirmation flows, giving apps a simple API surface.

Basic usage

import TrezorConnect from 'trezor-connect'

TrezorConnect.getPublicKey({ path: "m/44'/0'/0'/0/0" }).then(response => {
  if (response.success) console.log(response.payload);
})

Always check response.success and handle declined confirmations gracefully — the user might cancel on-device.

6. Suite-specific extension points

Plugin & module structure

Trezor Suite is modular: UI components, device logic, and transport layers are separated so contributors can add new chains, explorers, or account types with minimal friction.

Where to start

  • Read the CONTRIBUTING.md in the Suite repo for code style and PR guidance.
  • Look into the packages/suite/src modules for UI and business logic examples.

7. Security model & best practices

Never export private keys

Trezor devices never reveal private keys; all signing happens on-device. Design your app so sensitive data never leaves the secure element.

Transaction verification UX

  • Show full human-readable transaction summaries before calling signing APIs.
  • Encourage users to verify addresses on-device when receiving funds.
  • Use deterministic paths and labels to reduce confusion across accounts.

8. Building and testing new coin support

Adding support for a new chain usually means implementing serialization, path derivation, and signing protocol handling. Trezor's repositories include helpers and examples for widely used chains.

Testing checklist

  • Unit tests for serialization and signing logic.
  • Integration tests with an emulator or testnet node.
  • Documentation updates and feature flags so users can opt-in to experimental support.

9. Troubleshooting common developer issues

Device not detected

  • Confirm Trezor Bridge is installed and up to date.
  • Try a different USB cable or port — some cables are power-only.
  • Check browser console for Connect errors and follow the GitHub issues for known workarounds.

Signing errors

Ensure transaction fields match the chain requirements (fee, nonce, network ID). When in doubt, reproduce the raw transaction and compare with known-good implementations.

10. Helpful resources & official links

11. Example: quick sign flow (web)

// 1) request account
TrezorConnect.getPublicKey({ path: "m/44'/0'/0'/0/0" })
// 2) prepare transaction payload on server
// 3) call TrezorConnect.signTransaction({...})
// 4) broadcast signed tx from server

Keep signing decisions explicit and ask for user confirmation for every sensitive operation.

12. Contributing & roadmap

If you plan to contribute, open issues and pull requests in the relevant repositories. Maintain clear changelogs and keep cryptographic changes under careful review. Roadmap items often include UX improvements, additional chain support, and stronger privacy controls.

13. Final checklist before launch

  1. Security review of code that interacts with device APIs.
  2. User testing on all target platforms (macOS, Windows, Linux, web browsers).
  3. Clear user-facing guidance about phishing, device firmware updates, and seed safety.