Skip to main content

General Questions

Trezor Suite is a comprehensive application for managing your Trezor hardware wallet. It includes:
  • Desktop Application: Native app for Windows, macOS, and Linux
  • Web Application: Browser-based interface at suite.trezor.io
  • Mobile Application: iOS and Android apps for mobile wallet management
Suite provides a complete solution for cryptocurrency management, including sending, receiving, trading, and portfolio tracking.
Trezor Connect is a JavaScript SDK that enables developers to integrate Trezor hardware wallet functionality into their own applications. It provides:
  • Easy-to-use API for blockchain operations
  • Support for multiple cryptocurrencies
  • Secure transaction signing
  • Address generation and verification
Connect handles all the complexity of communicating with Trezor devices, so you can focus on building your application.
Connect 10.0.0 introduces major changes:Removed:
  • Legacy iframe and popup integration methods
  • EOS support
  • NEM support
Added:
  • Tron support (tronGetAddress, tronSignTransaction)
  • Suite-based integration
  • Enhanced security and user experience
See the Migration Guide for details on upgrading.
Yes! The entire Trezor Suite monorepo is open source and available on GitHub. It uses the TREZOR REFERENCE SOURCE LICENSE (T-RSL), which allows reference use for debugging, maintaining, or enhancing interoperability with your products.

Development Setup

Minimum Requirements:
  • Node.js version 19 or higher (check .nvmrc for exact version)
  • Yarn package manager
  • Git with Git LFS
  • 8GB RAM (16GB recommended)
  • 10GB free disk space
Platform Support:
  • macOS (primary)
  • Linux (primary)
  • Windows (via Git Bash or WSL2)
See the README for complete setup instructions.
Expected times:
  • Initial clone and setup: 15-20 minutes
  • First build: 10-15 minutes
  • Subsequent builds: 2-5 minutes (incremental)
Performance Tips:
  • Use SSD storage
  • Exclude from antivirus scanning (Windows)
  • Use WSL2 on Windows for better performance
  • Ensure stable internet connection for dependencies
No! You can use the Trezor User Env emulator for development and testing. It supports:
  • All Trezor device models
  • Complete firmware emulation
  • Automated testing scenarios
  • No physical hardware required
The emulator is perfect for development, testing, and CI/CD pipelines.
Any modern IDE works, but we recommend:Visual Studio Code with extensions:
  • ESLint
  • Prettier
  • MDX extension (for documentation)
  • TypeScript support
WebStorm/IntelliJ IDEA:
  • Built-in TypeScript support
  • Excellent refactoring tools
See IDE.md for IDE-specific settings.

Connect Integration

Choose based on your platform:
  • @trezor/connect-web: Web applications
  • @trezor/connect-webextension: Browser extensions
  • @trezor/connect-mobile: React Native mobile apps
  • @trezor/connect: Core package (usually not used directly)
Most web developers will use @trezor/connect-web.
Basic initialization:
import TrezorConnect from '@trezor/connect-web';

await TrezorConnect.init({
  manifest: {
    email: '[email protected]',
    appUrl: 'https://example.com'
  }
});
The manifest is required and helps identify your application to users.
Connect supports a wide range of cryptocurrencies:
  • Bitcoin and Bitcoin-based coins
  • Ethereum and ERC-20 tokens
  • EVM-compatible chains
  • Tron (new in v10)
  • Many altcoins
See the complete Supported Cryptocurrencies list.
All Connect methods return a result object:
const result = await TrezorConnect.getAddress({
  path: "m/49'/0'/0'/0/0",
  coin: 'btc'
});

if (result.success) {
  console.log('Address:', result.payload.address);
} else {
  console.error('Error:', result.payload.error);
  console.error('Code:', result.payload.code);
}
Always check the success property before using the payload.
Yes! Use Connect Explorer at connect.trezor.io/10 to:
  • Test all Connect methods
  • See example code
  • Understand request/response formats
  • Debug integration issues
For automated testing, use the Trezor emulator.

Suite Development

After setup, use these commands:
# Web app
yarn suite:dev

# Desktop app
yarn suite:dev:desktop

# Production preview
yarn suite:build:web:preview
The dev server will start at http://localhost:8000 by default.
Suite uses calendar versioning (CalVer) in format YY.MM.PATCH:
  • YY: Current year
  • MM: Current month
  • PATCH: Release number in that month
Examples:
  • 20.10.1: First release in October 2020
  • 20.10.3: Third release in October 2020
See Versioning for details.
To add cryptocurrency support:
  1. Firmware Support: Coin must be supported in trezor-firmware
  2. Update Submodules:
    yarn update-submodules
    
  3. Update Coins:
    python3 -m venv .venv
    source .venv/bin/activate
    pip install -r submodules/trezor-common/tools/requirements.txt
    yarn update-coins
    
See supported-coins.md for details.
Follow these steps:
  1. Fork the repository on GitHub
  2. Create a branch for your feature/fix
  3. Follow coding standards:
    • Use Conventional Commits format
    • Run ESLint and Prettier
    • Add tests for new features
  4. Submit a pull request to the develop branch
See CONTRIBUTING.md for guidelines.

Testing and Deployment

Use these commands:
# Unit tests
yarn test:unit

# Integration tests
yarn test:integration

# E2E tests
yarn test:e2e

# Specific package
yarn workspace @trezor/connect test
See the Tests documentation for more details.
Suite has multiple environments:
  • Development: Local development server
  • Staging: Internal testing at staging-suite.trezor.io (VPN required)
  • Production: Public release at suite.trezor.io
Connect has:
  • Canary: connect.trezor.io (latest development)
  • Stable: Versioned releases via NPM
See Environments for details.
The release process:
  1. Development: Features merged to develop branch
  2. Release Branch: Create release/YYYY-MM branch
  3. Testing: QA testing on staging environment
  4. Production: Deploy to suite.trezor.io
  5. Desktop: Build and sign binaries for distribution
See Releases for the complete process.

Security and Privacy

DO NOT create public GitHub issues for security vulnerabilities.Instead:
  1. Email [email protected]
  2. Provide detailed description of the vulnerability
  3. Include steps to reproduce if possible
  4. Allow time for responsible disclosure
See the Security Policy for details.
Suite collects minimal analytics:
  • Anonymous usage statistics (opt-in)
  • Crash reports (for debugging)
  • No private keys or transaction details
Users can disable analytics in Settings. All sensitive operations happen on the Trezor device itself.
Yes:
  • Private keys: Never leave the Trezor device
  • Metadata: Encrypted before cloud backup
  • Communication: All device communication is encrypted
  • Local storage: Sensitive data encrypted at rest
Suite follows security best practices for cryptocurrency applications.

Troubleshooting

Common solution:
  1. Use Git Bash (not cmd/PowerShell)
  2. Install Visual Studio Build Tools
  3. Delete node_modules and reinstall
See Troubleshooting for details.
Try these steps:
  1. Check USB cable and port
  2. Update browser to latest version
  3. Install Trezor Bridge
  4. On Linux, install udev rules
See Troubleshooting for more solutions.

Additional Resources

Migration Guide

Upgrade to newer versions

Best Practices

Learn recommended approaches

Supported Coins

View all supported cryptocurrencies

Changelog

See what’s new in each release

Build docs developers (and LLMs) love