Chains API

Which Solana validator will produce each upcoming slot

The validator scheduled to lead each slot from now (or a chosen slot) through the end of the next epoch, with the current slot and epoch bounds.

GET/api/external/chain-analysis/leader-schedule/{chain}

What it returns

The validator scheduled to produce each of up to limit consecutive slots from startSlot (default: the current slot), with where the chain is now. Solana decides its leader schedule a full epoch ahead, so slots are answerable from the first slot of the current epoch through the last slot of the next one (scheduledThroughSlot); a startSlot outside that window returns 400. A page that would run past scheduledThroughSlot stops there. Slots at or below currentSlot are already past: their leader was scheduled, which does not mean it produced a block. A validator leads 4 consecutive slots at a time.

Chains

  • Solana SOL

Request

Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.

curl -H "x-dex-data-key: $DEXDATA_API_KEY" \
  "https://api.dexdata.io/api/external/chain-analysis/leader-schedule/SOL"
Parameters
ParameterDescription
startSlot

query · integer · optional

The first slot to answer (inclusive). Defaults to the current slot.
limit

query · integer · optional

How many consecutive slots to answer: 1 to 1000. Defaults to 100. limit ≤ 400 keeps the answer under 32 KB.
chain

path · string · required

SOL only; every other chain returns 400. Solana fixes, a full epoch ahead, which validator produces each slot — a schedule other chains do not publish.

Response fields

A JSON response. Every field is always present; null means the value could not be established, never zero.

Response fields of Which Solana validator will produce each upcoming slot
FieldTypeDescription
currentSlotintegerThe newest confirmed slot when this was answered.
epochintegerThe epoch currentSlot is in.
epochStartSlotintegerThe first slot of that epoch.
epochEndSlotintegerThe last slot of that epoch.
scheduledThroughSlotintegerThe last slot whose leader is decided: the end of the next epoch.
startSlotintegerThe first slot on this page.
endSlotintegerThe last slot on this page; short of startSlot + limit - 1 only when the page reached scheduledThroughSlot.
leadersobject[]One entry per slot from startSlot to endSlot, ascending.
leaders[].slotinteger
leaders[].identitystringThe scheduled validator's identity address.

Start building with DexData today

Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.

Get a free API key