Bitcoin Text-to-SQL BTC …

Ask the Bitcoin blockchain a question

Type a question in plain English. Gemini turns it into SQL, and the query runs read-only against real blocks I synced from my own Bitcoin Core full node into a normalized SQLite database. You see the SQL, the result and how long it took.

Try:

Limits on this public demo: 6 questions a minute, 500 rows per answer, 15 seconds per query. Only SELECT queries run.

What's in the database

Computing statistics…

Transactions per block

Fees paid per block (BTC)

Outputs by script type

Notable transactions

Block explorer

Every block in the database. Click one to see its largest transactions, then click a transaction for its inputs and outputs.

HeightMined (UTC)TransactionsSizeFees (BTC)
Loading…

Schema

Four tables built from Bitcoin Core's getblock output (verbosity 2). This is also what Gemini sees when it writes SQL.

How accurate is it?

I wrote 12 test questions with known answers (easy to hard) and compared Gemini's SQL results against mine.

#LevelQuestionResult

How it works

  1. Sync. ingest.py calls my Bitcoin Core node over RPC (getblock, verbosity 2) and writes blocks, transactions, inputs and outputs into SQLite.
  2. Prompt. Your question and the database schema go to Gemini 2.5 Flash, which must answer with SQL only, or CANNOT_ANSWER if the question isn't about this data.
  3. Check. Only a single SELECT is allowed, on a read-only connection, with a time and row limit.
  4. Show. The SQL, the rows, a chart when it fits, and timings come back to this page.