BitqueryBitqueryData Store
Bitcoin CashBlocksTransactionsTransfersUTXO

Bitcoin Cash

The full Bitcoin Cash ledger, including the shared history before the August 2017 fork: blocks, transactions, inputs and outputs with BCH and USD values.

Coverage
Full historyto Sep 24, 2026 · yesterday
Tables
4Parquet, one prefix each
Columns
74across 4 tables
Coverage ends yesterday, UTC

Overview

Every Bitcoin Cash block, transaction, input and output from the 2009 genesis block to yesterday, with values in BCH, satoshi and USD at block time. Blocks before the August 2017 split are the history Bitcoin Cash shares with Bitcoin, priced in BCH from the first BCH market onward.

Inputs carry the hash and index of the output they spend, so UTXO traversal and coin-age calculations are a single join rather than a replay. Files are cut by block range and named by their first and last block, so any window can be assembled exactly.

Use cases

  • UTXO graph analysis and address clustering
  • Pre-fork and post-fork holder behaviour studies
  • Fee market and block-size research
  • Fund-flow tracing across transactions

4 tables

74 columns · free sample for each table

blocks

14 columns

One row per block: size, weight, difficulty, chainwork and transaction count.

bitcoincash/blocks<start_block>_<end_block>.parquetone file per block range
Browse columns Sample fileSample updated Sep 25, 2026

transactions

25 columns

One row per transaction with input, output, fee and mined values in BCH, satoshi and USD.

bitcoincash/transactions<start_block>_<end_block>.parquetone file per block range
Browse columns Sample fileSample updated Sep 25, 2026

inputs

17 columns

One row per transaction input, referencing the output it spends, with address, script type and value.

bitcoincash/inputs<start_block>_<end_block>.parquetone file per block range
Browse columns Sample fileSample updated Sep 25, 2026

outputs

18 columns

One row per transaction output with address, script type, change heuristic and value.

bitcoincash/outputs<start_block>_<end_block>.parquetone file per block range
Browse columns Sample fileSample updated Sep 25, 2026

Schema reference

copies a column name
74 columns
blocks14 columnsOne row per block: size, weight, difficulty, chainwork and transaction count.
ColumnTypeDescription
tx_dateUInt64Block date, UTC midnight (epoch ms)
tx_timeUInt64Block timestamp (epoch seconds)
blockchain_idInt64Internal chain id
blockUInt64Block height
median_timeUInt64Median time past of the block (epoch seconds)
nonceUInt64Block nonce
difficultyFloat64Mining difficulty
hashStringBlock hash
strippedsizeUInt64Block size without witness data, bytes
sizeUInt64Size in bytes
weightUInt64Block or transaction weight units
versionUInt64Version field
txcountUInt64Transactions in the block
chainworkStringCumulative chain work, hex
Sample file
transactions25 columnsOne row per transaction with input, output, fee and mined values in BCH, satoshi and USD.
ColumnTypeDescription
tx4
tx_dateUInt64Block date, UTC midnight (epoch ms)
tx_timeUInt64Block timestamp (epoch seconds)
tx_hashStringTransaction hash
tx_indexInt64Position of the transaction in the block
blockchain1
blockchain_idInt64Internal chain id
Other6
blockUInt64Block height
locktimeUInt64Transaction locktime
versionInt64Version field
sizeUInt64Size in bytes
vsizeUInt64Virtual size in vbytes
weightUInt64Block or transaction weight units
is1
is_coinbaseInt641 for the coinbase transaction
input4
input_countInt64Number of inputs
input_value_decimalFloat64Total input value in BCH
input_valueInt64Total input value in satoshi
input_value_in_usdFloat64Total input value in USD at block time
output4
output_countInt64Number of outputs
output_value_decimalFloat64Total output value in BCH
output_valueInt64Total output value in satoshi
output_value_in_usdFloat64Total output value in USD at block time
fee3
fee_value_decimalFloat64Fee in BCH
fee_valueInt64Fee in satoshi
fee_value_in_usdFloat64Fee in USD at block time
mined2
mined_value_decimalFloat64Newly mined BCH (coinbase only)
mined_valueInt64Newly mined satoshi (coinbase only)
Sample file
inputs17 columnsOne row per transaction input, referencing the output it spends, with address, script type and value.
ColumnTypeDescription
tx_dateUInt64Block date, UTC midnight (epoch ms)
tx_timeUInt64Block timestamp (epoch seconds)
blockchain_idInt64Internal chain id
blockUInt64Block height
tx_hashStringTransaction hash
transaction_indexInt64Position of the transaction in the block
input_indexInt64Index of the input in the transaction
output_tx_hashStringHash of the transaction that created the spent output; empty for coinbase
output_indexInt64Index of the output in the transaction
input_addressStringAddress spending the input; empty for coinbase
input_address_annotationNullable(String)Entity label for the address, when known
input_scriptStringInput script: hex witness or scriptSig
input_script_typeStringInput script type, e.g. txinwitness, scriptSig, coinbase
script_templateInt64Script template id
value_decimalFloat64Value in BCH; a coinbase input carries the newly mined amount
value_in_usdFloat64Value in USD at block time
valueInt64Value in satoshi; a coinbase input carries the newly mined amount
Sample file
outputs18 columnsOne row per transaction output with address, script type, change heuristic and value.
ColumnTypeDescription
tx_dateUInt64Block date, UTC midnight (epoch ms)
tx_timeUInt64Block timestamp (epoch seconds)
blockchain_idInt64Internal chain id
blockUInt64Block height
dateStringBlock date, YYYY-MM-DD
tx_hashStringTransaction hash
transaction_indexInt64Position of the transaction in the block
output_indexInt64Index of the output in the transaction
output_addressStringAddress receiving the output
output_address_annotationNullable(String)Entity label for the address, when known
directionStringChange heuristic: change, not_change, likely_change, likely_not_change, mining, fee, unknown
output_scriptStringOutput script as opcodes and hex
script_typeStringOutput script type, e.g. pubkeyhash, scripthash, witness_v0_keyhash, nulldata
script_templateInt64Script template id
req_sigsInt64Signatures required to spend
value_decimalFloat64Value in BCH; a coinbase input carries the newly mined amount
value_in_usdFloat64Value in USD at block time
valueInt64Value in satoshi; a coinbase input carries the newly mined amount
Sample file

Ask an AI about this data

Send this dataset’s full schema to an assistant and ask it anything. It reads the plain-text brief first, so the answer comes from the real column list rather than a guess.

Start with

Opens a new chat with the question filled in. Nothing about you is sent to Bitquery, and the assistant sees only the public brief.

Delivery

Parquet files, delivered as signed download links by email after payment, in this layout:

# blocks: one file per block range
bitcoincash/blocks<start_block>_<end_block>.parquet

# transactions: one file per block range
bitcoincash/transactions<start_block>_<end_block>.parquet

# inputs: one file per block range
bitcoincash/inputs<start_block>_<end_block>.parquet

# outputs: one file per block range
bitcoincash/outputs<start_block>_<end_block>.parquet
  1. Download a free sampleNo email needed.
  2. Pay nowName, work email and licence check.
  3. Pay the invoiceBy card or bank transfer.
  4. Get signed linksThe team prepares the export and emails the links.

Price

Full history
Genesis → Sep 24, 2026
$8,000one-time, USD
  • All 4 tables, 74 columns
  • Parquet files in the layout under Delivery
  • Signed download links by email
  • Licensed under the Data License
Pay now

FAQ

7 questions
What is included in Bitcoin Cash?

Four Parquet tables: blocks, transactions, inputs and outputs, covering full history from the genesis block to yesterday. Every input and output carries its address, script type and value in BCH, satoshi and USD.

Which address format is used?

Addresses are CashAddr without the bitcoincash: prefix, for example qzg0y2znj5vex92q7rsaufwmcqynfxx855d866cy6t. Convert to legacy base58 with any CashAddr library if you need that form.

How is the data delivered?

As flat Parquet files under a stable S3 layout, one prefix per table, files named by block range. Signed HTTPS links are emailed once the files are prepared.

How do I trace where coins went?

Join inputs.output_tx_hash to outputs.tx_hash and inputs.output_index to outputs.output_index. Each input names the output it spends, so a spend chain is a repeated self-join rather than a node replay.

How do I load it?

One DuckDB line reads a whole table: SELECT * FROM read_parquet('outputs/*.parquet'). Values come in BCH, the smallest unit and USD at block time, so no decimal adjustment is needed.

How current is the data?

A purchase covers full history from the genesis block to the day before the files are cut. Files are cut by block range, so any window can be assembled exactly.

Can I try before I buy?

Yes. Every table links to a public sample Parquet file with real records from one day, and the sample repository shows the first rows of each in the browser.