Fiat Currency Rates
Trezor Suite integrates multiple fiat rate providers to display cryptocurrency values in your preferred currency with real-time exchange rates.Rate Types
Suite provides three types of fiat rates:Current Rates
Real-time exchange rates for live balance conversions
Weekly Rates
7-day historical rates for trend indicators
Historical Rates
Transaction-time rates for accurate value tracking
Rate Providers
Blockbook (Primary)
Used for most cryptocurrencies:- Bitcoin and Bitcoin-like chains (BTC, LTC, DOGE, etc.)
- Ethereum and ERC-20 tokens
- Other main networks
CoinGecko (Secondary)
Used for:- XRP (Ripple)
- SOL and SPL tokens (Solana)
- ADA and native tokens (Cardano)
- Fallback when Blockbook fails
Suite automatically falls back to CoinGecko if Blockbook rate fetching fails, ensuring continuous rate availability.
Current Rates
Initial Fetch
Current rates are fetched:Update Intervals
Automatic rate updates:- Check interval: Every 3 minutes
- Refresh threshold: Rates older than 10 minutes
- Storage: Cached in
wallet.fiatreducer
ERC-20 Token Rates
Special handling for Ethereum tokens:Weekly Rates
Purpose
Provide 7-day trend indicators:- Green/red arrows in asset tables
- Percentage change calculations
- Portfolio performance tracking
Fetching Schedule
Caching Strategy
- Cache Duration
- Storage
- Cache time: 1 hour
- Check frequency: Every hour
- No fetch if: Recent rates exist (< 1 hour old)
Historical Rates
Transaction Rates
Exchange rates at transaction time:Fetching Behavior
No Updates Needed
Historical rates never need updating:- Exchange rate in the past cannot change
- Stored once, used forever
- Provides accurate historical value tracking
FiatValue Component
Simplify fiat conversions in UI:Basic Usage
Historical Rates
Render Props Pattern
Handle missing rates gracefully:Available Props
| Prop | Type | Description |
|---|---|---|
amount | string | Crypto amount to convert |
symbol | string | Cryptocurrency symbol |
tokenAddress | string | Token contract address (for tokens) |
historicRate | number | Use specific historical rate |
useHistoricRate | boolean | Enable historical rate mode |
showApproximationIndicator | boolean | Show ≈ symbol |
disableHiddenPlaceholder | boolean | Ignore discreet mode |
Rate Middleware
ThefiatRatesMiddleware handles automatic rate fetching:
Error Handling
Graceful Degradation
Rate Fetch Fails
Rate Fetch Fails
- Try CoinGecko as fallback
- Display last known rate with warning
- Retry on next interval
- Allow user to continue using app
Network Offline
Network Offline
- Use cached rates from storage
- Show staleness indicator
- Queue fetches for when online
Provider Rate Limit
Provider Rate Limit
- Exponential backoff
- Spread requests over time
- Prioritize visible data
Missing Rates
When rates unavailable:Supported Fiat Currencies
Trezor Suite supports major fiat currencies:- Americas
- Europe
- Asia-Pacific
- USD (US Dollar)
- CAD (Canadian Dollar)
- BRL (Brazilian Real)
- ARS (Argentine Peso)
Best Practices
For Users
- Choose your preferred fiat currency in Settings
- Rates update automatically, no action needed
- Historical values show accurate transaction-time prices
For Developers
- Always use FiatValue component
- Handle null rates gracefully
- Don’t over-fetch rates
- Cache and reuse rate data
Performance Considerations
Optimization Strategies
- Batched requests: Fetch multiple rates in single request when possible
- Debounced updates: Prevent excessive rate calculations
- Memoized selectors: Cache computed fiat values
- Lazy loading: Only fetch rates for visible assets