Import
import { useIndexerGatewayClient } from '@0xsequence/hooks'
Usage
import { useIndexerGatewayClient } from '@0xsequence/hooks'
import { useAccount } from 'wagmi'
function MultiChainBalances() {
const { address } = useAccount()
const indexerGatewayClient = useIndexerGatewayClient()
// Example: Fetch token balances across chains
const fetchBalances = async () => {
const response = await indexerGatewayClient.getTokenBalancesSummary({
chainIds: [1, 137], // Ethereum and Polygon
filter: {
accountAddresses: [address || ''],
omitNativeBalances: false
}
})
return response
}
return (
<div>
{/* ... */}
</div>
)
}
Return Type: SequenceIndexerGateway
The hook returns a SequenceIndexerGateway
instance configured with your project’s settings. This client provides methods for querying token data across multiple chains in a single request.
Available Methods
The returned client includes the following methods:
interface SequenceIndexerGateway {
// Token Balance Methods
getNativeTokenBalance(args: GetNativeTokenBalanceArgs): Promise<GetNativeTokenBalanceReturn>
getTokenBalances(args: GetTokenBalancesArgs): Promise<GetTokenBalancesReturn>
getTokenBalancesSummary(args: GetTokenBalancesSummaryArgs): Promise<GetTokenBalancesSummaryReturn>
getTokenBalancesDetails(args: GetTokenBalancesDetailsArgs): Promise<GetTokenBalancesDetailsReturn>
getTokenBalancesByContract(args: GetTokenBalancesByContractArgs): Promise<GetTokenBalancesByContractReturn>
// Balance Updates
getBalanceUpdates(args: GetBalanceUpdatesArgs): Promise<GetBalanceUpdatesReturn>
// Service Status Methods
ping(): Promise<PingReturn>
version(): Promise<VersionReturn>
runtimeStatus(): Promise<RuntimeStatusReturn>
}
Parameters
The hook doesn’t accept any parameters, but uses configuration from the useConfig
hook:
interface Config {
projectAccessKey: string
env: {
indexerGatewayUrl: string
// ... other environment settings
}
}
The configuration determines:
- The gateway URL for API requests
- Your project’s access key for authentication
- Environment-specific settings
The client is memoized based on the projectAccessKey
to prevent unnecessary re-instantiation.