Skip to content

Solana method

getBlock

Returns a confirmed block, optionally with full transaction detail.

expensiveExpensive: scans a range or a large account set. Frequently restricted.Primary specification (opens in a new tab)

How each provider handles it

This method has not been measured in this window.

It is scheduled but no observation has landed yet.

What it does

Fetches everything in one slot: its blockhash, parent, timestamp, rewards and transactions. The `transactionDetails` parameter controls how much comes back — `full`, `accounts`, `signatures` or `none`.

A busy Solana block holds thousands of transactions, so `full` can be tens of megabytes. The detail level is the difference between a fast call and one that times out.

Parameters

slotu64required
The slot to fetch.
configObjectoptional
encoding, transactionDetails, rewards, commitment, maxSupportedTransactionVersion.Default: transactionDetails defaults to full

Returns

Object | null — the block, or null if the slot was skipped.

Try it

Runnable as written, against a keyless public endpoint. Nothing here needs an API key.

Request

curl -s https://api.mainnet-beta.solana.com \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"getBlock","params":[372145830,{"encoding":"json","transactionDetails":"signatures","rewards":false,"maxSupportedTransactionVersion":0}]}'

As JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBlock",
  "params": [
    372145830,
    {
      "encoding": "json",
      "transactionDetails": "signatures",
      "rewards": false,
      "maxSupportedTransactionVersion": 0
    }
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": {
    "blockHeight": 350412977,
    "blockTime": 1755168000,
    "blockhash": "9x2yv1F...",
    "parentSlot": 372145829,
    "previousBlockhash": "8Hs3kQ...",
    "signatures": ["5Nx8...", "2Kd9..."]
  },
  "id": 1
}

Things that bite

  • Omitting maxSupportedTransactionVersion makes the node error on any block containing a versioned transaction — which today means almost every block.
  • null means the slot was skipped, which is normal. It does not mean the block is missing.
  • Most providers only retain recent blocks. Asking for an old slot returns an error about pruned history, not a block.

Why it is measured

Measured with `signatures` only, so the response stays bounded and the comparison is about block retrieval rather than about who returns the most bytes.

Called every 900 seconds per endpoint, with jitter so the fleet does not hit a provider in lockstep.

30d window · generated 2026-08-24 15:46:13 UTC · 0 providers