Skip to main content
Check token balances for any Spark address. As an issuer, you can query the balance of any holder on the network.
Holders

Your Balance

Check how many tokens you hold:
const balance = await wallet.getIssuerTokenBalance();
console.log("Your balance:", balance.balance, "base units");

Check Any Address

Pass an address to check someone else’s balance:
const userBalance = await wallet.getIssuerTokenBalance("spark1abc...");
console.log("User balance:", userBalance.balance);

Display Amounts

Convert base units to human-readable format:
const metadata = await wallet.getIssuerTokenMetadata();
const balance = await wallet.getIssuerTokenBalance("spark1abc...");

const amount = Number(balance.balance) / Math.pow(10, metadata.decimals);
console.log(`${amount} ${metadata.tokenTicker}`);

All Token Balances

Your wallet can hold multiple tokens. Get them all at once:
const { balance, tokenBalances } = await wallet.getBalance();

console.log("Bitcoin:", balance, "sats");

tokenBalances.forEach((data, key) => {
  const amount = Number(data.balance) / Math.pow(10, data.tokenMetadata.decimals);
  console.log(`${data.tokenMetadata.tokenTicker}: ${amount}`);
});

Listen for Changes

Get notified when balances change:
wallet.on("transfer:claimed", async (transferId, newBalance) => {
  console.log("Transfer received:", transferId);
  
  const updated = await wallet.getBalance();
  console.log("New balance:", updated.balance);
});