Check Balances
Query native and ERC-20 token balances on EVM chains.
This guide explains how to check native token and ERC-20 token balances for both owned and read-only accounts.
Owned Account Balances
Use an account retrieved from WalletManagerEvm to query balances.
Native Token Balance
You can retrieve the native token balance from an Account object using account.getBalance():
const balance = await account.getBalance()
console.log('Native balance:', balance, 'wei')Single ERC-20 Token Balance
You can retrieve a single ERC-20 token balance from an Account object using account.getTokenBalance(tokenAddress):
const tokenAddress = '0xdAC17F958D2ee523a2206206994597C13D831ec7' // USDT
const tokenBalance = await account.getTokenBalance(tokenAddress)
console.log('Token balance:', tokenBalance)Multiple ERC-20 Token Balances
You can retrieve multiple ERC-20 token balances from an Account object using account.getTokenBalances(tokenAddresses), where tokenAddresses is an array of ERC-20 tokens:
const tokenBalances = await account.getTokenBalances([
'0xdAC17F958D2ee523a2206206994597C13D831ec7', // USDT
'0x68749665FF8D2d112Fa859AA293F07A622782F38' // XAUT
])
console.log('Multi-token balances:', tokenBalances)Read-Only Account Balances
Use WalletAccountReadOnlyEvm to check balances for any public address without a seed phrase.
Native Balance
import { WalletAccountReadOnlyEvm } from '@tetherto/wdk-wallet-evm'
const readOnlyAccount = new WalletAccountReadOnlyEvm('0x742d35Cc6634C0532925a3b8D4C9db96C4b4d8b6', {
provider: 'https://rpc.mevblocker.io/fast',
})
const balance = await readOnlyAccount.getBalance()
console.log('Native balance:', balance, 'wei')Single Token Balance
const tokenBalance = await readOnlyAccount.getTokenBalance('0xdAC17F958D2ee523a2206206994597C13D831ec7')
console.log('Token balance:', tokenBalance)Multiple Token Balances
const tokenBalances = await readOnlyAccount.getTokenBalances([
'0xdAC17F958D2ee523a2206206994597C13D831ec7', // USDT
'0x68749665FF8D2d112Fa859AA293F07A622782F38' // XAUT
])
console.log('Multi-token balances:', tokenBalances)You can also create a read-only account from an existing owned account using await account.toReadOnlyAccount().
Next Steps
With balance checks in place, learn how to send transactions.