RPC method

eth_getBlockByNumber on Flare

Supported on SwiftNodes

Everything below was measured on 2026-10-13 by calling eth_getBlockByNumber on Flare through the same endpoint customers use, and is re-measured weekly.

What eth_getBlockByNumber does

Returns a block by number or tag (latest, safe, finalized, pending, earliest): the header, and either the transaction hashes or the full transactions. Indexers, explorers and wallets use it to follow the chain.

eth_getBlockByNumber on Flare: what we measured

Header fields30 (6 beyond the Ethereum set)
Transactions per block2, 3, 1, 89, 7 in five consecutive blocks
Response size, full transactions (true)28.1 KB average
Response size, hashes only (false)2.0 KB
Gas limit28,000,000
Gas used in the latest block286,504 (1.0% of the limit)
Base fee500 gwei
Tag "safe"block 72,011,735
Tag "finalized"block 72,011,736
Tag "pending"block 72,011,737
Tag "earliest"block 0

What is different on Flare

Flare blocks carry 6 fields that Ethereum blocks do not. blockExtraData: the encoded atomic (cross-chain) transactions included in the block; blockGasCost: the extra gas cost a block producer had to pay for producing the block early (Avalanche dynamic block fee); extDataGasUsed: gas used by the block's atomic (cross-chain import/export) transactions; extDataHash: the hash of the block's atomic transaction data; minDelayExcess, timestampMilliseconds: specific to this chain's node software, not part of the Ethereum JSON-RPC specification. Strict schema validators need to allow them.

The header includes the fields added by London (EIP-1559 base fee), Cancun (EIP-4844 blob gas), Cancun (EIP-4788 beacon root), but not those of Shanghai (withdrawals), Prague (EIP-7685 requests). Code that assumes Ethereum's current header shape must treat the missing ones as optional.

Asking for full transactions (second parameter true) made the response 14.4 times larger than hashes only. If you need only some transactions, fetch hashes and request those transactions or their receipts individually.

A real Flare block header

From block 72,011,734, as our endpoint returned it (long hex values shortened).

{
  "baseFeePerGas": "0x746a528800",
  "blobGasUsed": "0x0",
  "blockExtraData": "0x",
  "blockGasCost": "0x0",
  "difficulty": "0x1",
  "excessBlobGas": "0x0",
  "extDataGasUsed": "0x0",
  "extDataHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
  "extraData": "0x0000000001a6dfd80000000000045f280000000002816a26000000000000",
  "gasLimit": "0x1ab3f00",
  "gasUsed": "0x45f28",
  "hash": "0xae6df1794486c0409c6696d2c6c918183cf510400088f6a5382460de63f60a3e",
  "logsBloom": "0x0002000000004000…(256 bytes)",
  "minDelayExcess": "0x6e862b",
  "miner": "0x0100000000000000000000000000000000000000",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "nonce": "0x0000000000000000",
  "number": "0x44acfd6",
  "parentBeaconBlockRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash": "0x17838a252d5be096cab836dac3521c4d46bcc756f883e659a00e9d1ece66f298",
  "receiptsRoot": "0xfece66f623b92886df6be9d5d0edbf29ba9e4b4dfc8bc0521e023076313f5a3b",
  "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
  "size": "0x655",
  "stateRoot": "0xf8ea10a7bb8c25ddf5389b81a39c103cdd7283e2dc8dcf4611721e69e2b8813e",
  "timestamp": "0x6ace2898",
  "timestampMilliseconds": "0x1a1354e94b0",
  "totalDifficulty": "0x44acfd6",
  "transactions": "2 transactions",
  "transactionsRoot": "0xe16733ec8307eceaf3b871d1d60698b11774840b566aeeb6b3dcd0922fa214ed",
  "uncles": []
}

Example request

curl -s https://rpc.swiftnodes.io/rpc/flare?key=YOUR_API_KEY \
  -X POST -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"eth_getBlockByNumber","params":["latest",false]}'
import { createPublicClient, http } from "viem";

const client = createPublicClient({
  transport: http("https://rpc.swiftnodes.io/rpc/flare?key=YOUR_API_KEY"),
});

// Header plus transaction hashes (2.0 KB)
const block = await client.getBlock({ blockTag: "latest" });

// With full transactions (28.1 KB on average on Flare)
const full = await client.getBlock({ blockNumber: block.number, includeTransactions: true });

// A block that will not be reorganised
const final = await client.getBlock({ blockTag: "finalized" });

Other methods on Flare

eth_getBlockByNumber on other chains

Frequently asked questions

Does Flare support eth_getBlockByNumber?

Yes. eth_getBlockByNumber answered on the SwiftNodes Flare endpoint when our weekly probe called it through the customer path (2026-10-13).

How many transactions are in each Flare block?

In five consecutive blocks on 2026-10-13: 2, 3, 1, 89, 7.

What are blockExtraData and blockGasCost in a Flare block?

blockExtraData is the encoded atomic (cross-chain) transactions included in the block. blockGasCost is the extra gas cost a block producer had to pay for producing the block early (Avalanche dynamic block fee).

Flare endpoints, live block height and WebSocket status are on the Flare RPC page.

One key covers every chain we serve, and SwiftNodes has a free tier.