RPC method

eth_getBlockByNumber on Fantom

Supported on SwiftNodes

Everything below was measured on 2026-10-13 by calling eth_getBlockByNumber on Fantom 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 Fantom: what we measured

Header fields23 (2 beyond the Ethereum set)
Transactions per block1, 1, 1, 1, 3 in five consecutive blocks
Response size, full transactions (true)2.6 KB average
Response size, hashes only (false)1.5 KB
Gas limit281,474,976,710,655
Gas used in the latest block111,223 (0.000% of the limit)
Base fee1.06 gwei
Tag "safe"not served (invalid argument 0: hex string without 0x prefix)
Tag "finalized"not served (invalid argument 0: hex string without 0x prefix)
Tag "pending"block 123,672,413
Tag "earliest"block 0

What is different on Fantom

Fantom blocks carry 2 fields that Ethereum blocks do not. epoch, timestampNano: 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), but not those of Shanghai (withdrawals), Cancun (EIP-4844 blob gas), Cancun (EIP-4788 beacon root), Prague (EIP-7685 requests). Code that assumes Ethereum's current header shape must treat the missing ones as optional.

The "safe" and "finalized" tags were not served on Fantom. Code that waits for "safe" needs a fallback, such as latest minus a confirmation count.

A real Fantom block header

From block 123,672,412, as our endpoint returned it (long hex values shortened).

{
  "baseFeePerGas": "0x3effb99f",
  "difficulty": "0x0",
  "epoch": "0x57175",
  "extraData": "0x",
  "gasLimit": "0xffffffffffff",
  "gasUsed": "0x1b277",
  "hash": "0x0005717500000864d4b8407ea061eae67a3333ef41ac242163016815d8e928c3",
  "logsBloom": "0x0000000000000000…(256 bytes)",
  "miner": "0x0000000000000000000000000000000000000000",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "nonce": "0x0000000000000000",
  "number": "0x75f175c",
  "parentHash": "0x00057175000008607dfa408f0645bced9e52873338f102db2e44a07ded302118",
  "receiptsRoot": "0xfcfcad6cd682ac2d791d21ae85e4f05b3e3ee487c0bb3ba0d8865615de3b348a",
  "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
  "size": "0x3de",
  "stateRoot": "0x4292192454274fee863d6655e2e8017098a6c2b5482f36faf74a993b254ad208",
  "timestamp": "0x6ace2b7f",
  "timestampNano": "0x18de185350b52785",
  "totalDifficulty": "0x0",
  "transactions": "1 transactions",
  "transactionsRoot": "0x4380b4e671d398b8bc5e5cf09cebe93aff08f7e71381a214d6d80ec723af073d",
  "uncles": []
}

Example request

curl -s https://rpc.swiftnodes.io/rpc/fantom?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/fantom?key=YOUR_API_KEY"),
});

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

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

Other methods on Fantom

eth_getBlockByNumber on other chains

Frequently asked questions

Does Fantom support eth_getBlockByNumber?

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

How many transactions are in each Fantom block?

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

What are epoch and timestampNano in a Fantom block?

epoch is not part of the Ethereum JSON-RPC specification; added by this chain's node software. timestampNano is not part of the Ethereum JSON-RPC specification; added by this chain's node software.

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

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