Balance
Supports checking balances for CROSS tokens, ERC20 tokens, and NFTs.
Get Balance of CROSS
Function to retrieve the balance of native CROSS tokens.
import { useAppKitAccount } from '@to-nexus/sdk/react'
function getCrossBalance() {
const account = useAppKitAccount()
if (!account?.isConnected) return null
return account.balance
}
Get Balance of ERC20
Function to retrieve the balance of an ERC20 token.
import { useAppKitAccount, ConnectionController } from '@to-nexus/sdk/react'
const ERC20_ADDRESS = "0x6892a97F4E85D45f4CaCAfBc5fc0B5186f355A1b"
const FROM_ADDRESS = AccountController.state.address as `0x${string}`
function getERC20Balance() {
const account = useAppKitAccount()
if (!account?.isConnected) return null
return ConnectionController.readContract({
contractAddress: ERC20_ADDRESS,
method: 'balanceOf',
abi: sampleErc20ABI,
args: [FROM_ADDRESS]
})
}
Get Balance of NFT
Function to retrieve the balance of an NFT.
import { useAppKitAccount, ConnectionController } from '@to-nexus/sdk/react'
const ERC721_ADDRESS = "0xEeE291deAF8505681AA7A3e930A6f12b7f21fe65"
const FROM_ADDRESS = AccountController.state.address as `0x${string}`
function getNFTBalance() {
const account = useAppKitAccount()
if (!account?.isConnected) return null
return ConnectionController.readContract({
contractAddress: ERC721_ADDRESS,
method: 'balanceOf',
abi: sampleErc721ABI,
args: [FROM_ADDRESS]
})
}
Balance Subscription
Functionality to subscribe to balance changes.
import { useAppKitAccount, AccountController } from '@to-nexus/sdk/react'
import { useEffect, useState } from 'react'
function BalanceSubscriber() {
// Get account state and manage balance state
const account = useAppKitAccount()
const [balance, setBalance] = useState<string>('0')
useEffect(() => {
// Subscribe to balance changes
const unsubscribe = AccountController.subscribe('balance', (newBalance) => {
setBalance(newBalance)
})
// Cleanup subscription
return () => {
unsubscribe()
}
}, [])
return (
<div>
<p>Current Balance: {balance}</p>
</div>
)
}
Balance Formatting
Functionality to format balance values.
import { ConnectionController } from '@to-nexus/sdk/react'
function formatBalance(balance: string, decimals: number = 18) {
return ConnectionController.formatUnits(balance, decimals)
}
Updated 21 days ago