POST /query/json takes the same body as /query and returns one JSON object: one array per
row type you asked for, plus the response metadata.
How values are written
Amounts are strings because they can exceed what a JSON number (a 64-bit float) holds exactly:
value is in wei and routinely above 2⁵³. Parse them as big integers (BigInt(s), Python
int(s)). The integer fields that are JSON numbers stay below 2⁵³ in practice.
Limits
- Up to 100,000 rows per response.
maxObjectsis lowered to that, andnext_blockresumes after the last block returned. Like Arrow pages, a page can overshoot by one block. - Built in full before it’s sent. Nothing arrives until the whole response is ready, and it
takes more memory on both sides. Prefer
/queryfor anything large. - Billed on the JSON size, which is about 2–2.5× the Arrow size of the same rows. See Arrow vs JSON.