bl.* keys (the same on every stream). In JSON, they are top-level fields of the
body.
Reading it
How to use each value
next_blockdrives the pagination loop. Continue while it’s at or below the end of your range.from_block/to_blockare what you actually got. Near the head,to_blockis lower than thetoBlockyou asked for. Past the head, a response has no rows,to_blockequals the head andnext_blockequals yourfromBlock.objectsis the row count to check against what you decoded, to catch a truncated body; see Reading Arrow.finalized_block/to_block_hashtell you which rows are final and let you detect reorgs; see Finality and reorgs.archive_heightis useful to decide when an open-ended backfill has caught up, and to measure how far behind your own pipeline is.
There is no “truncated” or “has more” flag.
next_block compared with the end you want is the
whole story.Request ids
Every response has anX-Request-Id header: the value you sent in a header of the same name (up
to 128 printable characters), or one the server generated. Log it with your errors and quote it
when you contact support; it identifies the request in our logs.