Chains API

Which Solana slots produced a block, and which were skipped

From a start slot forward, the slots that produced a finalized block and the slots in between whose leader produced nothing, paged by block count, back to genesis.

GET/api/external/chain-analysis/confirmed-blocks/{chain}

What it returns

Walks forward from startSlot and returns up to limit slots that produced a finalized block, plus every slot in between that was skipped (its leader produced no block). The page covers startSlot to endSlot inclusive, where endSlot is the last block on the page; every slot in that span is in exactly one of blockSlots and skippedSlots. To read the next page, ask again with startSlot = endSlot + 1. reachedTip is true when fewer than limit blocks came back: the newest finalized block was reached, and slots after it are not described yet. A startSlot above the newest finalized block answers no blocks, endSlot: null and reachedTip: true. History goes back to slot 0.

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/confirmed-blocks/SOL?startSlot=<startSlot>"
Parameters
ParameterDescription
startSlot

query · integer · required

The first slot to describe (inclusive).
limit

query · integer · optional

How many block-producing slots to return: 1 to 1000. Defaults to 100.
chain

path · string · required

SOL only; every other chain returns 400. Solana names its block heights slots, and a slot whose leader produced nothing is skipped — a question other chains do not have.

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 slots produced a block, and which were skipped
FieldTypeDescription
startSlotintegerEchoes the request.
endSlotinteger | nullThe last block-producing slot on this page; null when no finalized block exists at or after startSlot yet.
reachedTipbooleanTrue when fewer than limit blocks came back: the page ends at the newest finalized block.
blockCountintegerLength of blockSlots.
skippedCountintegerLength of skippedSlots. 0 is a real answer: nothing in the span was skipped.
blockSlotsinteger[]Slots that produced a finalized block, ascending.
skippedSlotsinteger[]Slots from startSlot to endSlot that produced no block, ascending.

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