Skip to main content

Elysium Transactions, Fees & Blocks API

Query and stream transactions, fees and blocks 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. Transactions carries each transaction with its receipt and fee, and Blocks carries each block. Fees are paid in HYPE; Fee.SenderFeeInUSD converts them with the HYPE price. Every query here also runs as a live stream: change query to subscription and drop limit and orderBy.

API Key Required

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 ➤


Latest transactions with fees​

The newest user transactions with status, gas used and fee. The filter Type: {ne: 106} drops the internal transaction that starts every block.

Run this query in the IDE

{
EVM(network: elysium) {
Transactions(
where: {Transaction: {Type: {ne: 106}}}
orderBy: {descending: Block_Time}
limit: {count: 20}
) {
Block { Time Number L1 { Number } }
Transaction { Hash From To Type Value }
Receipt { Status GasUsed }
Fee { SenderFee SenderFeeInUSD }
}
}
}

Block.L1 holds the HyperEVM block that the Elysium block refers to, not an Ethereum block.


Transactions of a wallet​

Filter by Transaction.From for everything a wallet sent.

Run this query in the IDE

{
EVM(network: elysium) {
Transactions(
where: {Transaction: {From: {is: "0x785e295a4e716406e6ef45f7884039619c5c1bdb"}}}
orderBy: {descending: Block_Time}
limit: {count: 20}
) {
Block { Time Number }
Transaction { Hash To Value Nonce Type Gas }
Receipt { Status GasUsed }
Fee { SenderFee SenderFeeInUSD EffectiveGasPrice }
}
}
}

Transaction by hash​

Look up one transaction. Replace the hash with a recent one from your own data.

Run this query in the IDE

{
EVM(network: elysium) {
Transactions(
where: {Transaction: {Hash: {is: "0xe3d79011dea6c311cd1dd47fedc1e6ced30a412def70261249729b48a701dd5a"}}}
) {
Block { Time Number }
Transaction { Hash From To Value Type }
Receipt { Status GasUsed }
Fee { SenderFee SenderFeeInUSD }
}
}
}

Hourly transactions, senders and fees​

Hourly buckets with the transaction count, unique senders and total fees over the last 24 hours.

Run this query in the IDE

{
EVM(network: elysium) {
Transactions(
where: {Transaction: {Type: {ne: 106}}, Block: {Time: {since_relative: {hours_ago: 24}}}}
orderBy: {descendingByField: "Block_Time"}
limit: {count: 24}
) {
Block { Time(interval: {in: hours, count: 1}) }
transactions: count
senders: uniq(of: Transaction_From)
fees: sum(of: Fee_SenderFee)
feesUsd: sum(of: Fee_SenderFeeInUSD)
}
}
}

Top fee payers​

Wallets ranked by the fees they paid in the last 24 hours.

Run this query in the IDE

{
EVM(network: elysium) {
Transactions(
where: {Transaction: {Type: {ne: 106}}, Block: {Time: {since_relative: {hours_ago: 24}}}}
orderBy: {descendingByField: "feesUsd"}
limit: {count: 20}
) {
Transaction { From }
transactions: count
feesUsd: sum(of: Fee_SenderFeeInUSD)
}
}
}

Most used contracts​

Contracts ranked by the number of transactions sent to them.

Run this query in the IDE

{
EVM(network: elysium) {
Transactions(
where: {Transaction: {Type: {ne: 106}}, Block: {Time: {since_relative: {hours_ago: 6}}}}
orderBy: {descendingByField: "transactions"}
limit: {count: 20}
) {
Transaction { To }
transactions: count
senders: uniq(of: Transaction_From)
}
}
}

Transaction types​

Elysium uses the same special types as Arbitrum One. Types 100 to 106 are deposits, retryables and internal transactions; type 106 is the internal transaction from 0x00000000000000000000000000000000000a4b05 at the start of every block.

Run this query in the IDE

{
EVM(network: elysium) {
Transactions(
where: {Block: {Time: {since_relative: {hours_ago: 1}}}}
orderBy: {descendingByField: "transactions"}
) {
Transaction { Type }
transactions: count
}
}
}

Latest blocks​

Blocks returns each block with its transaction count, gas used, base fee and the HyperEVM block it refers to.

Run this query in the IDE

{
EVM(network: elysium) {
Blocks(limit: {count: 10}, orderBy: {descending: Block_Time}) {
Block {
Number
Time
Hash
TxCount
GasUsed
BaseFee
L1 { Number }
}
}
}
}

FAQ​

What token are Elysium fees paid in? HYPE. Fee.SenderFee is in HYPE and Fee.SenderFeeInUSD is the same fee in USD.

Is there a separate L1 data fee field? No. There is no separate L1 data-posting fee field to add; SenderFee is the fee the sender paid.

Why does every block have a transaction from 0x...a4b05? That is the Arbitrum internal transaction, type 106, with no fee. Filter it out with Type: {ne: 106}.

Build with Bitquery

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.