Skip to main content

Method Signature

align.blockchain.tokens.parseAmount(
  amount: string,
  decimals: number
): string

Parameters

amount
string
required
Human-readable amount (e.g., "100.50")
decimals
number
required
Token decimals (e.g., 6 for USDC, 18 for ETH)

Returns

Returns the raw amount as a string (e.g., "100500000").

Examples

import Align from "@tolbel/align";

const align = new Align({
  apiKey: process.env.ALIGN_API_KEY!,
  environment: "sandbox",
});

// Convert 100 USDC to raw units
const rawUsdc = align.blockchain.tokens.parseAmount("100", 6);
console.log(rawUsdc); // "100000000"

// Convert 1.5 ETH to wei
const rawEth = align.blockchain.tokens.parseAmount("1.5", 18);
console.log(rawEth); // "1500000000000000000"

Use in Contract Calls

// Prepare raw amount for approve() call
const approveAmount = align.blockchain.tokens.parseAmount("1000", 6);

const tx = await align.blockchain.contracts.write({
  contractAddress: USDC_ADDRESS,
  abi: ERC20_ABI,
  method: "approve",
  args: [spenderAddress, approveAmount],
  wallet: myWallet,
  network: "polygon",
});
This is a synchronous method - no network calls are made.