getFirstAvailableBlock
Returns the slot of the lowest confirmed block that has not been purged from the node's ledger. Validators periodically prune old ledger data, so this method tells you the earliest block you can query. This is important for indexers and analytics services that need to know the available data range, and for error handling when requesting historical blocks.
Parameters
This method does not accept any parameters.
Response
Returns a single value:
| Field | Type | Description |
|---|---|---|
result | u64 | Slot of the first available block |
Code Examples
cURL
curl http://88.216.36.108:7999 -X POST -H "Content-Type: application/json" -d '{
"jsonrpc": "2.0",
"id": 1,
"method": "getFirstAvailableBlock",
"params": []
}'TypeScript
const response = await fetch("http://88.216.36.108:7999", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
jsonrpc: "2.0",
id: 1,
method: "getFirstAvailableBlock",
params: []
}),
});
const { result } = await response.json();
console.log("First available block:", result);Python
import requests
response = requests.post("http://88.216.36.108:7999", json={
"jsonrpc": "2.0",
"id": 1,
"method": "getFirstAvailableBlock",
"params": []
})
result = response.json()["result"]
print(f"First available block: {result}")Rust
use reqwest::Client;
use serde_json::json;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Client::new();
let res = client.post("http://88.216.36.108:7999")
.json(&json!({
"jsonrpc": "2.0",
"id": 1,
"method": "getFirstAvailableBlock",
"params": []
}))
.send().await?
.text().await?;
println!("{}", res);
Ok(())
}Example Response
{
"jsonrpc": "2.0",
"result": 128000000,
"id": 1
}