Skip to main content

Method Signature

align.blockchain.tokens.getTokenInfo(
  tokenAddress: string,
  provider: JsonRpcProvider,
  network: Network,
  token?: Token
): Promise<TokenInfo>

Parameters

tokenAddress
string
required
Token contract address
provider
JsonRpcProvider
required
Connected ethers.js provider
network
string
required
Network identifier
token
string
Optional known token identifier for caching

Returns

name
string
Token name (e.g., “USD Coin”)
symbol
string
Token symbol (e.g., “USDC”)
decimals
number
Token decimals (e.g., 6)
address
string
Contract address

Examples

import Align from "@tolbel/align";

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

const provider = align.blockchain.providers.getProvider("polygon");

const info = await align.blockchain.tokens.getTokenInfo(
  "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
  provider,
  "polygon"
);

console.log(`Name: ${info.name}`);       // USD Coin
console.log(`Symbol: ${info.symbol}`);   // USDC
console.log(`Decimals: ${info.decimals}`); // 6

Display Token with Correct Formatting

const info = await align.blockchain.tokens.getTokenInfo(
  tokenAddress,
  provider,
  "polygon"
);

// Get raw balance
const rawBalance = await getContractBalance(address, tokenAddress);

// Format with correct decimals
const formatted = align.blockchain.tokens.formatAmount(
  rawBalance,
  info.decimals
);

console.log(`${formatted} ${info.symbol}`);
// 1,234.56 USDC