Import
import { useIndexerClient } from '@0xsequence/hooks'
Usage
import { useIndexerClient } from '@0xsequence/hooks'
import { ContractVerificationStatus } from '@0xsequence/connect'
function TokenBalanceChecker() {
const chainId = 1 // Ethereum mainnet
const indexerClient = useIndexerClient(chainId)
const { address } = useAccount()
const checkBalance = async () => {
// Get native token balance
const nativeBalance = await indexerClient.getNativeTokenBalance({
accountAddress: address
})
// Get token balances
const tokenBalances = await indexerClient.getTokenBalancesSummary({
filter: {
accountAddresses: [address],
contractStatus: ContractVerificationStatus.ALL,
omitNativeBalances: true
}
})
console.log('Native balance:', nativeBalance)
console.log('Token balances:', tokenBalances)
}
return (
<button onClick={checkBalance}>
Check Balances
</button>
)
}
Return Type: SequenceIndexer
Returns a SequenceIndexer
instance configured for the specified chain ID.
Parameters
chainId
ChainId
The chain ID to create an indexer client for. Must be a supported chain ID from @0xsequence/network
.
For applications that need to work with multiple chains simultaneously, consider using useIndexerClients
. It accepts an array of chain IDs and returns a Map of indexer clients, enabling parallel operations across different networks.
Usage with useIndexerClients
import { useIndexerClients } from '@0xsequence/hooks'
const TransactionFetcher = () => {
// Get indexer clients for Ethereum mainnet and Polygon
const indexerClients = useIndexerClients([1, 137])
// Use the clients to fetch data
const fetchData = async () => {
// Get Ethereum client
const ethClient = indexerClients.get(1)
// Get Polygon client
const polygonClient = indexerClients.get(137)
// Make parallel requests
const [ethData, polygonData] = await Promise.all([
ethClient.getTransactionHistory(...),
polygonClient.getTransactionHistory(...)
])
}
}