getBlocks

Returns a list of confirmed blocks between two slots. The range is inclusive and limited to 500,000 slots. This method is useful for indexers that need to enumerate all confirmed blocks in a range, analytics engines building historical datasets, and services that need to identify gaps in block production.

Parameters

#TypeRequiredDescription
1u64YesStart slot (inclusive)
2u64NoEnd slot (inclusive). Must be no more than 500,000 slots higher than start_slot
3objectNoConfiguration object

Configuration object fields:

FieldTypeDescription
commitmentstringCommitment level: confirmed or finalized (default finalized)

Response

Returns an array:

FieldTypeDescription
resultarray[u64]Array of confirmed slot numbers within the range

Code Examples

cURL

1curl http://[IP_ADDRESS]:[PORT] -X POST -H "Content-Type: application/json" -d '{
2  "jsonrpc": "2.0",
3  "id": 1,
4  "method": "getBlocks",
5  "params": [
6    166974000, 166974442
7  ]
8}'

TypeScript

1const response = await fetch("http://[IP_ADDRESS]:[PORT]", {
2  method: "POST",
3  headers: { "Content-Type": "application/json" },
4  body: JSON.stringify({
5    jsonrpc: "2.0",
6    id: 1,
7    method: "getBlocks",
8    params: [
9      166974000, 166974442
10    ]
11  }),
12});
13const { result } = await response.json();
14console.log("Blocks found:", result.length);

Python

1import requests
2
3response = requests.post("http://[IP_ADDRESS]:[PORT]", json={
4    "jsonrpc": "2.0",
5    "id": 1,
6    "method": "getBlocks",
7    "params": [
8        166974000, 166974442
9    ]
10})
11result = response.json()["result"]
12print(f"Blocks found: {len(result)}")

Rust

1use reqwest::Client;
2use serde_json::json;
3
4#[tokio::main]
5async fn main() -> Result<(), Box<dyn std::error::Error>> {
6    let client = Client::new();
7    let res = client.post("http://[IP_ADDRESS]:[PORT]")
8        .json(&json!({
9            "jsonrpc": "2.0",
10            "id": 1,
11            "method": "getBlocks",
12            "params": [
13                166974000_u64, 166974442_u64
14            ]
15        }))
16        .send().await?
17        .text().await?;
18    println!("{}", res);
19    Ok(())
20}

Example Response

1{
2  "jsonrpc": "2.0",
3  "result": [166974000, 166974001, 166974002, 166974003],
4  "id": 1
5}