Elysium Balances & Token Holders API
Query wallet balances and token holders on Elysium with Bitquery GraphQL. Elysium (network: elysium, chain ID 99901) is Kinetiq's Layer 2 for the Hyperliquid ecosystem, with HYPE as the gas token. Balances returns what an address holds now, Holders ranks the addresses holding a token, and TransactionBalances shows the balance before and after each transaction.
To query or stream data outside the Bitquery IDE, you need an API access token.
Follow the steps here: How to generate Bitquery API token ➤
- Elysium API overview — network facts, token addresses and every page in one place
- Elysium DEX Trades API & Streams
- Elysium Token Price API
- Elysium Liquidity Pools API
- Elysium Transfers API & Streams
- Elysium Smart Contract Events API
- Elysium Smart Contract Calls API
- Elysium Transactions, Fees & Blocks API
Portfolio of a wallet
Every token and the native HYPE a wallet holds, with USD values, largest first.
{
EVM(network: elysium) {
Balances(
where: {Balance: {Address: {is: "0x29b200d479c5ed21ba9989773ca6fafffb2ba13f"}}}
orderBy: {descending: Balance_AmountInUSD}
limit: {count: 20}
) {
Currency { Name Symbol SmartContract Native }
Balance { Amount AmountInUSD }
}
}
}
Balance of one token
Add the token contract address to get a single balance.
{
EVM(network: elysium) {
Balances(
where: {Balance: {Address: {is: "0xf70da97812cb96acdf810712aa562db8dfa3dbef"}}, Currency: {SmartContract: {is: "0xb47c4c8f73f009cc0c0d3f92b388d13e293f0b65"}}}
) {
Currency { Name Symbol SmartContract }
Balance { Amount AmountInUSD }
}
}
}
Native HYPE balance of several wallets
Address: {in: [...]} reads several wallets at once, and Currency: {Native: true} keeps only HYPE.
{
EVM(network: elysium) {
Balances(
where: {Balance: {Address: {in: ["0x785e295a4e716406e6ef45f7884039619c5c1bdb", "0x92fe8c300a3d7321b108fe7ac78272f816562dea"]}}, Currency: {Native: true}}
) {
Balance { Address Amount AmountInUSD }
Currency { Symbol Native }
}
}
}
Top holders of a token
Holders ranks the addresses that hold a token. This returns the 20 largest USDC holders.
{
EVM(network: elysium) {
Holders(
where: {Currency: {SmartContract: {is: "0xb47c4c8f73f009cc0c0d3f92b388d13e293f0b65"}}}
orderBy: {descending: Balance_Amount}
limit: {count: 20}
) {
Holder { Address }
Balance { Amount }
Currency { Symbol SmartContract }
}
}
}
Holders returns token amounts. For USD values, multiply by the price from the Elysium prices page.
Balance changes per transaction
TransactionBalances has one row per address, token and transaction, with the balance before (PreBalance) and after (PostBalance).
{
EVM(network: elysium) {
TransactionBalances(
where: {TokenBalance: {Address: {is: "0x785e295a4e716406e6ef45f7884039619c5c1bdb"}}}
orderBy: {descending: Block_Time}
limit: {count: 20}
) {
Block { Time }
Transaction { Hash }
TokenBalance {
Address
PreBalance
PostBalance
Currency { Symbol SmartContract }
}
}
}
}
Run it as a subscription to watch a wallet balance change live.
FAQ
Which cube gives the current balance?
Balances. It returns the balance directly, so there is nothing to add up.
Is there a BalanceUpdates cube on Elysium?
No. EVM chains use Balances, Holders and TransactionBalances.
Do balances include native HYPE?
Yes. Native HYPE rows have Currency.Native: true and no contract address.
Ready to run this in production?
Get an API key and run these queries in minutes, or talk to us about plans and enterprise delivery.