What this page is for
This page is written for LLMs and automated agents that generate API requests, SDK snippets, or integration code for BlockDB.Hard rules (avoid 90% of mistakes)
- Base URL:
https://api.blockdb.io/v1 - Auth: Send
Authorization: Bearer <API_KEY>on every request. - Request shape: Filters go in the JSON body (no query params for filters).
- Method: Almost all endpoints are
POSTwith a JSON body (the Usage endpoint isGET). - Pagination: Responses are envelope-shaped with
data,cursor, andcount. - Determinism: Prefer block ranges for deterministic results; time ranges are supported but are converted to blocks server-side.
Choosing the right endpoint
- Use the EVM API families under
/api-reference/evm/*for chain data. - Use the Enumerations pages (Chain, Digital Exchange, Pool Type, Dataset ID) instead of guessing numeric IDs.
- For a single page view of everything available, use the Endpoints Overview page:
/api-reference/endpoints/overview.
Request template (copy/paste)
Most EVM endpoints follow the same pattern:chain_id(required)- Range filters:
(from_block, to_block)or(from_timestamp, to_timestamp)(often mutually exclusive) - Selectors:
pool_uids,pool_addresses,exchange_ids,pool_type_ids, token addresses, etc. - Pagination:
limit+cursor
Pagination rules
- If
cursoris non-null, call the same endpoint again with thatcursorto get the next page. - Stop when
cursorisnullorcountis0. - For large exports, prefer narrow ranges (time or block) over huge
limitvalues.
Rate limiting & retries
- Respect
429responses: back off and retry. - Treat
5xxerrors as retryable unless the response says otherwise. - Keep retries bounded (max attempts + exponential backoff).
Lineage & verification (provenance-aware workflows)
If you need auditability:- Use
_tracing_idfields returned by datasets. - Use the Lineage API (
/api-reference/evm/lineage/overview) to trace how a row was derived. - Use the Verification API (
/api-reference/evm/verification/overview) to recompute proofs like receipt roots or logs bloom filters.
Good LLM behavior
- Ask for missing inputs (e.g., which chain, which token addresses, which time range).
- Prefer enumerations over hardcoded IDs.
- Never fabricate pool UIDs or token addresses.
- When unsure about the right endpoint, start from
/api-reference/endpoints/overview.