Skip to main content
Bloklake is an API for reading blockchain history fast. You describe what you want (logs from these contracts with these topics, transactions to these addresses, every block in a range) and which columns you want, and Bloklake streams back exactly those rows, in block order, from the chain’s first block up to its head. It is built for the jobs that are slow and expensive over JSON-RPC:
  • Backfills and indexers: read every Transfer of a token since deployment in minutes, not days of eth_getLogs pagination.
  • Analytics and data pipelines: pull columnar data straight into pandas, Polars, DuckDB or Spark through Apache Arrow, with no hex parsing.
  • Wallet and contract activity: every transaction from or to a set of addresses, with their logs, over any range.
  • Following the chain: the same query keeps working at the tip, with finality information so you can handle reorgs correctly.
That is every USDC transfer in ten Ethereum blocks: 72 rows, one request.

Quickstart

Get a key and make your first query in five minutes.

Client libraries

TypeScript, Python and Rust: typed queries, Arrow on the wire, JSON rows out.

Core concepts

Row types, filters, streams, pagination and finality on one page.

Arrow or JSON?

Which response format to use, and why Arrow is cheaper.

Pricing

You pay for the data you receive. Nothing else.

Chains

See Chains for block times, finality and which fields each chain has. Live status (latest block, finalized block) is on the chain status page.

What Bloklake is not

Bloklake answers one kind of question extremely well: “give me the rows of this type whose indexed fields match these values, in this block range”. It is not a SQL database and not a JSON-RPC node:
  • You can filter logs by address and topic0–topic3, and transactions by from, to, sighash, status and type. Other fields can be returned but not filtered on.
  • There is no state (balances, storage, eth_call) and no traces.
  • There are no aggregations or joins beyond joinTransactions.
If you need those, use Bloklake to get the raw rows quickly and do the rest in your own database. Export to Parquet shows the pattern.