Overview
Different blockchains use different decimal places and units for their native assets and tokens. This reference provides conversion formulas and utilities for accurate amount handling across all supported chains.Common Conversion Formulas
Base Units to Display Units
Display Units to Base Units
Safe Conversion with BigInt
For JavaScript environments supporting BigInt:Bitcoin & UTXO Chains
Bitcoin (BTC)
Decimals: 8 Base Unit: Satoshi Conversion: 1 BTC = 100,000,000 satoshisLitecoin (LTC)
Decimals: 8 Base Unit: Litoshi Conversion: 1 LTC = 100,000,000 litoshisDogecoin (DOGE)
Decimals: 8 Base Unit: Shibe Conversion: 1 DOGE = 100,000,000 shibesDash (DASH)
Decimals: 8 Base Unit: Duff Conversion: 1 DASH = 100,000,000 duffsBitcoin Cash (BCH)
Decimals: 8 Base Unit: Satoshi Conversion: 1 BCH = 100,000,000 satoshisZcash (ZEC)
Decimals: 8 Base Unit: Zatoshi Conversion: 1 ZEC = 100,000,000 zatoshisEthereum & EVM Chains
Ethereum (ETH)
Decimals: 18 Base Unit: Wei Conversion: 1 ETH = 1,000,000,000,000,000,000 weiGas Price Conversions
ERC-20 Tokens
Different ERC-20 tokens use different decimal places:| Token | Decimals | Example Conversion |
|---|---|---|
| USDC | 6 | 1000000 → 1.0 USDC |
| USDT | 6 | 1000000 → 1.0 USDT |
| DAI | 18 | 1000000000000000000 → 1.0 DAI |
| WBTC | 8 | 100000000 → 1.0 WBTC |
| LINK | 18 | 1000000000000000000 → 1.0 LINK |
Cosmos Chains
THORChain (THOR)
Decimals: 8 Base Unit: Tor (1/100,000,000 RUNE) Conversion: 1 RUNE = 100,000,000 torMAYAChain (MAYA)
CRITICAL: CACAO uses 10 decimals, not 8! Decimals: 10 (for CACAO), 8 (for other assets) Base Unit: Smallest CACAO unit Conversion: 1 CACAO = 10,000,000,000 base unitsCosmos Hub (GAIA)
Decimals: 6 Base Unit: uatom (micro-ATOM) Conversion: 1 ATOM = 1,000,000 uatomKujira (KUJI)
Decimals: 6 Base Unit: ukuji (micro-KUJI) Conversion: 1 KUJI = 1,000,000 ukujiNEAR Protocol
Decimals: 24 Base Unit: YoctoNEAR Conversion: 1 NEAR = 1,000,000,000,000,000,000,000,000 yoctoNEARNEAR Token Conversions
NEP-141 tokens have variable decimals:NEAR Gas Units
Other Chains
Ripple (XRP)
Decimals: 6 Base Unit: Drop Conversion: 1 XRP = 1,000,000 dropsSolana (SOL)
Decimals: 9 Base Unit: Lamport Conversion: 1 SOL = 1,000,000,000 lamportsTron (TRON)
Decimals: 6 Base Unit: Sun Conversion: 1 TRX = 1,000,000 sunCardano (ADA)
Decimals: 6 Base Unit: Lovelace Conversion: 1 ADA = 1,000,000 lovelaceBasis Points (BPS) Conversions
Basis points are commonly used for fees and slippage.Decimal Handling Best Practices
Avoiding Floating Point Errors
Using Big Number Libraries
Rounding Strategies
Display Formatting
Human-Readable Amounts
Compact Notation
Currency Formatting
Validation
Amount Range Validation
Dust Threshold Checks
Quick Reference Table
| Chain | Decimals | Base Unit | 1 Unit in Base | Example |
|---|---|---|---|---|
| BTC | 8 | satoshi | 100,000,000 | 1 BTC = 100M sats |
| ETH | 18 | wei | 1,000,000,000,000,000,000 | 1 ETH = 1e18 wei |
| USDC | 6 | base | 1,000,000 | 1 USDC = 1M |
| NEAR | 24 | yoctoNEAR | 1e24 | 1 NEAR = 1e24 yocto |
| THOR.RUNE | 8 | tor | 100,000,000 | 1 RUNE = 100M tor |
| MAYA.CACAO | 10 | base | 10,000,000,000 | 1 CACAO = 10B |
| GAIA.ATOM | 6 | uatom | 1,000,000 | 1 ATOM = 1M uatom |
| SOL | 9 | lamport | 1,000,000,000 | 1 SOL = 1B lamports |
| XRP | 6 | drop | 1,000,000 | 1 XRP = 1M drops |