Check ETH and ERC-20 token balances using Web3 libraries with Para
Query ETH and ERC-20 token balances for Para wallets across different networks.
You need Web3 libraries configured with Para authentication.
import { ethers } from "ethers";
import { ParaEthersSigner } from "@getpara/ethers-v6-integration@alpha";
async function getETHBalance(signer: ParaEthersSigner, provider: ethers.Provider) {
const address = await signer.getAddress();
const balance = await provider.getBalance(address);
const formattedBalance = ethers.formatEther(balance);
console.log(`ETH Balance: ${formattedBalance} ETH`);
return {
wei: balance.toString(),
ether: formattedBalance
};
}
import { ethers } from "ethers";
const ERC20_ABI = [
"function balanceOf(address owner) view returns (uint256)",
"function decimals() view returns (uint8)",
"function symbol() view returns (string)"
];
async function getTokenBalance(
signer: any,
tokenAddress: string,
provider: ethers.Provider
) {
const contract = new ethers.Contract(tokenAddress, ERC20_ABI, provider);
const address = await signer.getAddress();
const [balance, decimals, symbol] = await Promise.all([
contract.balanceOf(address),
contract.decimals(),
contract.symbol()
]);
const formattedBalance = ethers.formatUnits(balance, decimals);
console.log(`${symbol} Balance: ${formattedBalance}`);
return {
raw: balance.toString(),
formatted: formattedBalance,
symbol,
decimals
};
}