Solana method
getBlock
Returns a confirmed block, optionally with full transaction detail.
How each provider handles it
| Provider | Status | Success | Median |
|---|---|---|---|
| Solana Foundation | Supported | 99.2% | 61 ms |
| PublicNode | Supported | 100.0% | 62 ms |
| Tatum | Degraded | 94.7% | 49 ms |
Success excludes calls the provider does not implement — an optional method a provider declines to offer is a capability fact, not a failure, and is never scored as one.
Over time
Median latency per hour. Gaps are periods with no measurement, drawn as gaps rather than joined across — a line through missing data invents a measurement that was never taken.
Logarithmic scale — each gridline is ten times the one below it. Click a provider in the legend to hide it.
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.
configObjectoptionalencoding,transactionDetails,rewards,commitment,maxSupportedTransactionVersion.Default:transactionDetailsdefaults tofull
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
maxSupportedTransactionVersionmakes the node error on any block containing a versioned transaction — which today means almost every block. nullmeans 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.
24h window · generated 2026-10-08 17:31:50 UTC · 3 providers