Welcome to the official developer portal for Trezor Suite, your gateway to hardware wallet integration and advanced crypto workflows.
The Trezor Suite® – Getting Started™ Developer Portal is designed to help developers seamlessly integrate with Trezor hardware wallets, build secure applications, and manage user interactions. Whether you're writing a wallet interface, building exchange integrations, or implementing high-level tools, this portal is your guide.
In this portal you’ll find:
We aim to keep this portal colorful, versatile, and developer-friendly. The example site you're reading mirrors the same design approach—clean, modern, and engaging.
Before writing code that interacts with a Trezor device, ensure you have the prerequisites properly installed and configured.
Here’s what you’ll need:
mkdir trezor-dev && cd trezor-dev
npm init -y
npm install --save @trezor/connect
Here’s a minimal example in JavaScript that connects to your Trezor and fetches the public key:
import TrezorConnect from '@trezor/connect';
TrezorConnect.init({
connectSrc: 'https://connect.trezor.io/8/', // adjust version
popup: true,
}).then(() => {
TrezorConnect.getPublicKey({
path: "m/44'/0'/0'/0/0"
}).then(response => {
if (response.success) {
console.log('Public key:', response.payload.publicKey);
} else {
console.error('Error:', response.payload.error);
}
});
});
This example demonstrates: initialization, requesting a public key, and handling success or error responses. Subsequent calls can include signing, transaction building, and more.
The Trezor Developer Portal provides a full API reference for the Trezor Connect library, explaining all methods, arguments, return types, and error codes.
init()
— initializes the library with options like environment, popup handling, debugging.getPublicKey(params)
— returns a public key for a given BIP32 path.signTransaction(params)
— signs transactions, supporting Bitcoin, Ethereum, and many more.ethereumSignMessage(params)
— sign messages for Ethereum protocols.cardanoSignTransaction(params)
— specialized signing for Cardano network transactions.wipeDevice()
, resetDevice()
, applySettings()
— device management methods.path
— BIP32 hierarchical deterministic path (e.g. "m/44'/60'/0'/0/0"
).coin
— which coin (e.g. "btc"
, "eth"
).inputs
/ outputs
— array of transaction inputs/outputs.u32
, u64
, buffer
— used in certain signing or firmware operations.Each API method returns a uniform response:
{ success: true, payload: { ... } }
{ success: false, payload: { error: "Error message or code" } }
The portal includes an error catalog with descriptions for standard error codes (like ActionCancelled
, Device_Not_Found
, Transport_Struct
, etc.) so you can implement proper error handling and user feedback.
Learning by example is often faster than reading documentation. Here we provide code snippets, sandbox environments, and interactive demos.
Below is a small interactive demo (simulated) that uses colors to indicate state:
This developer portal is open source and community-driven. We thank all contributors for improving integration, expanding support, and making hardware wallet usage safer and easier.
trezor-connect
We encourage you to stay involved. Your feedback helps improve device firmware, library design, documentation clarity, and overall security practices.
Click a color to see the hex code:
Hex: —