curl --request POST \
--url https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "eth_getBlockTransactionCountByNumber",
"params": [
"0x9d0c37"
],
"id": 1
}'
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x3"
}
Returns the number of transactions in a block by its number.
curl --request POST \
--url https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm \
--header 'Content-Type: application/json' \
--data '{
"jsonrpc": "2.0",
"method": "eth_getBlockTransactionCountByNumber",
"params": [
"0x9d0c37"
],
"id": 1
}'
{
"jsonrpc": "2.0",
"id": 1,
"result": "0x3"
}
eth_getBlockTransactionCountByNumber
JSON-RPC method returns the number of transactions in a block by its number. This method provides a lightweight way to get transaction count information for sequential block analysis, making it efficient for building statistics and monitoring network activity over time.
blockNumber
(string, required) — Block identifier: "latest"
, "earliest"
, "pending"
, or a specific block number in hexadecimalnull
if the block is not found.
result
— The number of transactions in the block as a hexadecimal string0x
prefix0x0
indicates an empty block (no transactions)null
indicates the block number doesn’t exist"latest"
— Most recent block transaction count"earliest"
— Genesis block transaction count (usually 0)"pending"
— Pending block transaction count"0x9d0c37"
— Specific block number (10,291,255 in decimal)// Get transaction count for a block by number on Hyperliquid
const getBlockTransactionCountByNumber = async (blockNumber) => {
const response = await fetch('https://hyperliquid-mainnet.core.chainstack.com/YOUR_ENDPOINT/evm', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
jsonrpc: '2.0',
method: 'eth_getBlockTransactionCountByNumber',
params: [blockNumber],
id: 1
})
});
const data = await response.json();
if (data.result === null) {
throw new Error('Block not found');
}
return {
hex: data.result,
decimal: parseInt(data.result, 16)
};
};
// Analyze a range of blocks for activity patterns
const analyzeBlockRange = async (startBlock, endBlock) => {
const results = [];
for (let i = startBlock; i <= endBlock; i++) {
const hexBlock = "0x" + i.toString(16);
try {
const count = await getBlockTransactionCountByNumber(hexBlock);
results.push({
blockNumber: i,
hexBlockNumber: hexBlock,
transactionCount: count.decimal
});
} catch (error) {
console.error(`Error processing block ${i}:`, error);
results.push({
blockNumber: i,
hexBlockNumber: hexBlock,
transactionCount: null,
error: error.message
});
}
}
// Calculate statistics
const validCounts = results
.filter(r => r.transactionCount !== null)
.map(r => r.transactionCount);
if (validCounts.length === 0) {
return { results, statistics: null };
}
const statistics = {
totalBlocks: validCounts.length,
totalTransactions: validCounts.reduce((sum, count) => sum + count, 0),
averageTransactions: validCounts.reduce((sum, count) => sum + count, 0) / validCounts.length,
maxTransactions: Math.max(...validCounts),
minTransactions: Math.min(...validCounts),
emptyBlocks: validCounts.filter(count => count === 0).length
};
return { results, statistics };
};
// Get latest block transaction count
const getLatestBlockTransactionCount = async () => {
return await getBlockTransactionCountByNumber('latest');
};
// Usage examples
getLatestBlockTransactionCount()
.then(count => console.log(`Latest block has ${count.decimal} transactions`))
.catch(error => console.error('Error:', error));
// Analyze blocks 100-110
analyzeBlockRange(100, 110)
.then(analysis => {
console.log('Block Range Analysis:', analysis.statistics);
console.log('Detailed Results:', analysis.results);
})
.catch(error => console.error('Error:', error));
"latest"
— Most recent block transaction count"earliest"
— Genesis block transaction count (usually 0)"0x9d0c37"
— Specific block number (10,291,255 in decimal)curl -X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0x9d0c37"],"id":1}' \
https://hyperliquid-mainnet.core.chainstack.com/4f8d8f4040bdacd1577bff8058438274/evm
eth_getBlockTransactionCountByNumber
method is essential for applications that need to:
"latest"
and "earliest"
, making it suitable for both historical analysis and real-time monitoring. The count includes both regular transactions and system transactions from HyperCore.Successful response with the transaction count
The response is of type object
.