Welcome to the Developer Portal for Trezor Suite ®. This guide gets you up and running quickly with the core concepts, SDKs, and APIs needed to integrate Trezor hardware wallet functionality into your app or service. It assumes you know the basics of JavaScript/TypeScript and modern web tooling.
Trezor provides secure, open-source hardware wallets that isolate private keys from the internet. Integrating with Trezor Suite lets your users approve transactions and manage cryptographic keys securely using their hardware device while your application handles UX and non-sensitive logic. Use cases include custodial bridges, portfolio apps, payment flows, multi-sig coordination, signing messages, and hardware-backed authentication.
Follow these short steps to connect a Trezor device to a web app using the recommended Trezor Connect / Suite integration approach. This example shows the minimal flow for requesting an account and signing a transaction.
// Example (high-level JavaScript)
import TrezorConnect from 'trezor-connect';
TrezorConnect.init({
manifest: {
email: 'dev@example.com',
appUrl: 'https://your-app.example.com'
}
});
// request public address (user will confirm on device)
const resp = await TrezorConnect.getPublicKey({ path: "m/44'/0'/0'/0/0" });
if (resp.success) {
console.log('pubkey', resp.payload);
} else {
console.error('user rejected or error', resp.payload);
}
For transaction signing, prepare the transaction payload on your server, then call the appropriate sign method and instruct the user to confirm on their Trezor device.
Trezor Suite ® supports several integration layers:
Choose Trezor Connect for most web integrations — it reduces complexity and keeps UI consistent and secure.
Security is paramount when handling crypto hardware. A few rules of thumb:
Testing locally is straightforward with Bridge or with WebUSB-enabled browsers. Use a dedicated test device or a device in safe test mode. For CI you can mock device responses; unit test signing and transport layers separately from user-facing prompts. When you’re ready to ship, make sure your manifest contact email is valid, and provide clear instructions to users about where and when their Trezor will prompt them.
Primary resources you’ll likely need:
If you run into device or firmware issues, collect reproducible steps, Trezor model, firmware version, and browser/OS details before reaching out to support channels.
Read SDK docsYes — to test real signing flows you need a physical device. For early development you can mock Trezor responses, but final integration testing must use a device to validate the user approval UX and transport behavior (WebUSB/HID/Bridge).
WebUSB provides a seamless browser experience when available; HID is more broadly supported across browsers and platforms. Trezor Connect abstracts transports and will use the best available option. Use Bridge if you need a fallback in restricted environments.
Initialize Trezor Connect with a valid manifest (email and appUrl). The user will see your app identity on their device when performing sensitive operations. Never attempt to bypass the device confirmation dialog — that’s the core security guarantee.
Trezor supports a wide range of coins and token standards through native and third-party integrations. Check the supported coins list in the official docs; for unsupported chains, investigate whether a custom implementation is feasible — but proceed with caution and consult maintainers.
Collect the device model, firmware version, browser/OS, and the signed transaction payload (if available). Verify transaction construction server-side, confirm nonce and fee fields for the target chain, and reproduce the problem with a test device. If it appears to be a device firmware issue, escalate to the official support channel with full diagnostics.