getBlock

POSTBlocksAll plans

Returns full details for a confirmed block by slot number.

Try itSends a real request from your browser to the selected region.
POST
/

getBlock returns everything recorded for a given slot: its blockhash, parent and timestamp. Depending on transactionDetails, it also returns every transaction, with full or partial detail, or only their signatures. transactionDetails: "full" on a busy block is one of the heaviest requests available; transactionDetails: "signatures" returns only the transaction list at far lower cost.

A mainnet block mixes legacy, version 0 and version 1 transactions; maxSupportedTransactionVersion: 1 decodes all three. See Transaction v1.

Plans & rate limitsAll plans
Free1/s
Operator5/s
Blade Runner10/s
Nexus30/s

Parameters

params is a JSON array, with values in this order: slot, config.

1slotintegerrequired

Slot number of the block to fetch.

2configobject

Optional configuration.

Show propertiesProperties
commitmentstringdefault: "finalized"

Bank state to read the block from. processed is not accepted here.

Allowed values:confirmedfinalized
encodingstringdefault: "json"

Encoding for each transaction's data, when transactionDetails includes transactions at all.

Allowed values:jsonjsonParsedbase58base64
transactionDetailsstringdefault: "full"

How much transaction detail to include: full for complete transaction and metadata objects, accounts for a lighter per-transaction summary without logs, signatures for the signature list only, none for block-level fields only.

Allowed values:fullaccountssignaturesnone
rewardsbooleandefault: true

Whether to include the block's leader/staking reward payouts.

maxSupportedTransactionVersioninteger

Highest transaction version the caller can decode, as a ceiling rather than a filter: 1 returns legacy, version 0 and version 1 transactions alike. The value must be the JSON integer 1, not the string "1" (-32602); omitting it fails with -32015 on any block containing a versioned transaction, the normal case on mainnet.

Minimum: 0Maximum: 1
Example:1

Result

resultobject | null

The block. A skipped slot returns code -32007 or -32009 instead.

Show one ofOne of
Option 1object
Show propertiesProperties
blockhashstringrequired
previousBlockhashstringrequired
parentSlotintegerrequired
blockHeightinteger | null

Number of blocks beneath this one (skipped slots don't count), or null if not available.

blockTimeinteger | null

Estimated production time, as Unix seconds, or null if not available.

transactionsarray

Present when transactionDetails is full or accounts. Each entry has the same transaction/meta shape as a getTransaction result, including meta.costUnits and, on version 1 transactions, transaction.message.transactionConfig.

signaturesstring[]

Present only when transactionDetails is signatures: every transaction signature in the block, in order.

rewardsarray

Present unless rewards was false: leader and staking reward payouts for this block.

Option 2null

Notes

  • The example block contains 863 signatures. The example shows the first 3.
  • Version 1 transactions are a normal part of a block. One finalized block measured on 2026-09-20 held 501 legacy, 409 version 0 and 164 version 1 transactions. A reader that omits maxSupportedTransactionVersion gets -32015 instead of the block.
  • With transactionDetails: "full", version 1 transactions carry fee and resource requests in transaction.message.transactionConfig instead of ComputeBudget instructions, and every transaction carries meta.costUnits next to meta.computeUnitsConsumed. See Transaction v1.
  • Cube Runner answers every getBlock request. It returns a block older than the region's ledger when the region cache or another region's cache holds that block. On Blade Runner and Nexus tier plans, Cube Runner also retrieves the block from long-term storage when no cache, ledger or other region holds it. getFirstAvailableBlock returns the oldest block from which every later block can be retrieved, and minimumLedgerSlot returns the oldest slot the region's ledger holds.
  • When a block from long-term storage is not retrieved within 25 seconds, the response is HTTP 429 with a Retry-After header and code -32019, and the block stays queued. Repeating the request after Retry-After returns the block once it has been retrieved. See Queued requests.
  • A skipped slot returns code -32007 or -32009, not a null result. Code -32019 and HTTP 429 mean the block has not been served yet. See Client handling.