OpenInfra.sh is now live - Solana infrastructure, included with every server. LEARN MORE HERE >

OpenInfra.shopeninfra.sh

getSlotLeaders

Returns the validator identity for each slot in a contiguous slot range.

Request

Send a JSON-RPC 2.0 POST request with method: "getSlotLeaders". The params array takes a start slot and a limit count.

curl · JSON-RPCjson
{  "jsonrpc": "2.0",  "id": 1,  "method": "getSlotLeaders",  "params": [    448276239,    10  ]}

@solana/kit

kit.tsts
import { createSolanaRpc } from "@solana/kit"; const rpc_url = "https://rpc.openinfra.sh";const rpc = createSolanaRpc(rpc_url); let startSlot = BigInt(378037836);let limit = 10; let slotLeaders = await rpc.getSlotLeaders(startSlot, limit).send(); console.log(slotLeaders);

@solana/web3.js

web3.tsts
import { Connection } from "@solana/web3.js"; const connection = new Connection("https://rpc.openinfra.sh", "confirmed"); let startSlot = 378037836;let limit = 10; let slotLeaders = await connection.getSlotLeaders(startSlot, limit); console.log(slotLeaders);

Rust

main.rsrs
use anyhow::Result;use solana_client::nonblocking::rpc_client::RpcClient;use solana_commitment_config::CommitmentConfig; #[tokio::main]async fn main() -> Result<()> {    let client = RpcClient::new_with_commitment(        String::from("https://rpc.openinfra.sh"),        CommitmentConfig::confirmed(),    );     let start_slot = 378037836;    let limit = 10;     let slot_leaders = client.get_slot_leaders(start_slot, limit).await?;     println!("{:#?}", slot_leaders);     Ok(())}

Parameters

ParameterTypeRequiredDescription
startSlotu64YesFirst slot in the requested range.
limitu64YesNumber of consecutive slots to return. Allowed range: 1 to 5,000.

Response

response.jsonjson
{  "jsonrpc": "2.0",  "result": [    "ChorusmmK7i1AxXeiTtQgQZhQNiXYU84ULeaYF1EH15n",    "ChorusmmK7i1AxXeiTtQgQZhQNiXYU84ULeaYF1EH15n",    "ChorusmmK7i1AxXeiTtQgQZhQNiXYU84ULeaYF1EH15n",    "ChorusmmK7i1AxXeiTtQgQZhQNiXYU84ULeaYF1EH15n",    "Awes4Tr6TX8JDzEhCZY2QVNimT6iD1zWHzf1vNyGvpLM",    "Awes4Tr6TX8JDzEhCZY2QVNimT6iD1zWHzf1vNyGvpLM",    "Awes4Tr6TX8JDzEhCZY2QVNimT6iD1zWHzf1vNyGvpLM",    "Awes4Tr6TX8JDzEhCZY2QVNimT6iD1zWHzf1vNyGvpLM",    "DWvDTSh3qfn88UoQTEKRV2JnLt5jtJAVoiCo3ivtMwXP",    "DWvDTSh3qfn88UoQTEKRV2JnLt5jtJAVoiCo3ivtMwXP"  ],  "id": 1}

The result is an array of base-58 encoded validator identity Pubkeys, one per slot, starting from startSlot and spanning limit consecutive slots.

FieldTypeDescription
resultstring[]Array of validator identity Pubkeys, as base-58 encoded strings, in slot order. Each entry corresponds to one slot starting from startSlot.