Unit Conversion
Learn how to convert between different unit denominations in Stacks. The blockchain uses microSTX as its base unit, where 1 STX = 1,000,000 microSTX. Proper unit conversion is essential for displaying amounts to users and processing transactions.
Basic conversions
Convert between STX and microSTX using simple conversion functions.
// Convert STX to microSTX
function stxToMicroStx(stx: number | string): bigint {
const stxAmount = typeof stx === 'string' ? parseFloat(stx) : stx;
return BigInt(Math.floor(stxAmount * 1_000_000));
}
// Convert microSTX to STX
function microStxToStx(microStx: number | bigint | string): string {
const amount = BigInt(microStx);
const stx = Number(amount) / 1_000_000;
return stx.toFixed(6).replace(/\.?0+$/, '');
}
// Usage examples
const microStx = stxToMicroStx(1.5); // 1500000n
const stx = microStxToStx(1500000); // "1.5"Precision-safe handling
Handle large numbers without precision loss using BigInt operations.
Token conversions
Handle tokens with different decimal places using a flexible converter class.
Display formatting
Format amounts for user interfaces with localization support.
Input validation
Validate and sanitize user input for amount fields.
Last updated
Was this helpful?
