Skip to main content

New blocks — blocks

Subscribe to the blocks channel to receive an event for every new block. By default you get a compact summary; add full: true to receive the entire block instead. No address required.

{ "action": "subscribe", "channel": "blocks" }
{ "action": "subscribe", "channel": "blocks", "full": true }

block — summary

The summary uses the same field names as its UTXO counterpartheight and previous_hash — plus a timestamp:

{
"type": "block",
"data": {
"height": 19234567,
"hash": "0x...",
"previous_hash": "0x...",
"timestamp": 1740391012,
"num_txs": 187
}
}
FieldTypeDescription
typestringAlways "block".
data.heightintegerBlock height.
data.hashstringBlock hash.
data.previous_hashstringPrevious block's hash.
data.timestampintegerBlock timestamp, in unix seconds.
data.num_txsintegerNumber of transactions in the block.

block_full — full block (full: true)

With full: true you receive the entire block, with every transaction inline, exactly as the chain returns it.

High volume

The full block carries every transaction. Subscribe with full: true only if you genuinely need them all — to follow a specific address use balance, history or contract_interactions instead.

{
"type": "block_full",
"data": {
"number": "0x12851b7",
"hash": "0x...",
"parentHash": "0x...",
"timestamp": "0x65d8e3a4",
"gasLimit": "0x1c9c380",
"gasUsed": "0x1234567",
"miner": "0x...",
"transactions": [
{
"hash": "0x...",
"from": "0x...",
"to": "0x...",
"value": "0x0",
"input": "0xa9059cbb...",
"blockNumber": "0x12851b7",
"transactionIndex": "0x0"
}
]
}
}

The shape inside data follows the standard Ethereum JSON-RPC Block objectnumber, hash, parentHash, timestamp, gasLimit, gasUsed, miner, the full transactions array, and so on.

Encoding

Unlike the summary events (block, history, …) where numeric fields are JSON integers, every field inside block_full's data is encoded the way the chain returns it — numbers are 0x-hex quantities and addresses/hashes are 0x-hex byte strings.