# Bitcoin — Bitquery Data Store The complete Bitcoin ledger since genesis: blocks, transactions, inputs, outputs, input-to-output mapping, plus Omni Layer transactions and transfers. Dataset page: https://bitquery.io/datastore/datasets/bitcoin Network: Bitcoin Category: Blocks, Transactions, Transfers, UTXO Tables: 6 Columns: 116 Coverage: first block to 2026-09-23 Format: Apache Parquet, Snappy compression, one prefix per table Licence: https://bitquery.io/datastore/legal/data-license ## What this is Every Bitcoin block, transaction, input and output from the genesis block to yesterday, with values in BTC, satoshi and USD at block time, plus decoded Omni Layer transactions and transfers. Inputs carry the hash and index of the output they spend, and the tx_inputs_from_outputs table joins each spend to the output that created it, so UTXO traversal and coin-age calculations are a single join rather than a replay. Files are cut every 50 blocks and named by block range, so any window can be assembled exactly. ## What people use it for - UTXO graph analysis and address clustering - Coin-age and HODL-wave studies from input-to-output links - Fee market and block-space research - Omni Layer USDT flow analysis - Fund-flow tracing across transactions ## Tables (6) ### blocks — 12 columns One row per block: size, weight, difficulty, chainwork and transaction count. S3 prefix: bitcoin/blocks File naming: _.parquet, 50 blocks per file Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/bitcoin/blocks/932100_932149.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | tx_date | UInt64 | Block date, UTC midnight (epoch ms) | | tx_time | Int64 | Block timestamp (epoch seconds) | | block | Int64 | Block height | | median_time | Int64 | Median time past of the block (epoch seconds) | | difficulty | Float64 | Mining difficulty | | hash | String | Block hash | | strippedsize | Int64 | Block size without witness data, bytes | | size | Int64 | Size in bytes | | weight | Int64 | Block or transaction weight units | | version | Int64 | Version field | | txcount | Int64 | Transactions in the block | | chainwork | String | Cumulative chain work, hex | ### transactions — 25 columns One row per transaction with input, output, fee and mined values in BTC, satoshi and USD. S3 prefix: bitcoin/transactions File naming: _.parquet, 50 blocks per file Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/bitcoin/transactions/932100_932149.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | tx_date | UInt64 | Block date, UTC midnight (epoch ms) | | tx_time | Int64 | Block timestamp (epoch seconds) | | blockchain_id | Int64 | Internal chain id | | block | Int64 | Block height | | tx_hash | String | Transaction hash | | tx_index | Int64 | Position of the transaction in the block | | locktime | Int64 | Transaction locktime | | version | Int64 | Version field | | size | Int64 | Size in bytes | | vsize | Int64 | Virtual size in vbytes | | weight | Int64 | Block or transaction weight units | | is_coinbase | Int64 | 1 for the coinbase transaction | | input_count | Int64 | Number of inputs | | output_count | Int64 | Number of outputs | | input_value_decimal | Int64 | Total input value in BTC | | output_value_decimal | Float64 | Total output value in BTC | | fee_value_decimal | Int64 | Fee in BTC | | mined_value_decimal | Float64 | Newly mined BTC (coinbase only) | | input_value | Int64 | Total input value in satoshi | | output_value | Float64 | Total output value in satoshi | | fee_value | Int64 | Fee in satoshi | | mined_value | Float64 | Newly mined satoshi (coinbase only) | | input_value_in_usd | Int64 | Total input value in USD at block time | | output_value_in_usd | Float64 | Total output value in USD at block time | | fee_value_in_usd | Int64 | Fee in USD at block time | ### inputs — 20 columns One row per transaction input, referencing the output it spends, with address, script type and value. S3 prefix: bitcoin/inputs File naming: _.parquet, 50 blocks per file Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/bitcoin/inputs/932100_932149.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | tx_date | UInt64 | Block date, UTC midnight (epoch ms) | | tx_time | Int64 | Block timestamp (epoch seconds) | | blockchain_id | Int64 | Internal chain id | | block | Int64 | Block height | | tx_hash | String | Transaction hash | | transaction_index | Int64 | Position of the transaction in the block | | output_tx_hash | String | Hash of the transaction that created the spent output | | output_transaction_index | Int64 | Index of that transaction in its block | | input_index | Int64 | Index of the input in the transaction | | input_address | String | Address spending the input | | input_address_annotation | Nullable(String) | Entity label for the address, when known | | input_script | String | Input script, hex | | script_template | Int64 | Script template id | | input_script_type_annotation | String | Script type annotation | | input_script_type_pattern | String | Script pattern | | input_script_type_simplePattern | String | Simplified script pattern | | input_script_type_type | String | Script type, e.g. pubkeyhash | | value_decimal | Float64 | Value in BTC | | value_in_usd | Float64 | Value in USD at block time | | value | Float64 | Value in satoshi | ### outputs — 24 columns One row per transaction output with address, script type and value. S3 prefix: bitcoin/outputs File naming: _.parquet, 50 blocks per file Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/bitcoin/outputs/932100_932149.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | tx_date | UInt64 | Block date, UTC midnight (epoch ms) | | tx_time | Int64 | Block timestamp (epoch seconds) | | blockchain_id | Int64 | Internal chain id | | block | Int64 | Block height | | block_timestamp | Int64 | Block timestamp (epoch seconds) | | output_address | String | Address receiving the output | | output_address_annotation | Nullable(String) | Entity label for the address, when known | | date | String | Block date, YYYY-MM-DD | | direction | String | Direction relative to the address | | output_index | Int64 | Index of the output in the transaction | | output_script | String | Output script, hex | | output_script_type_annotation | Nullable(String) | Script type annotation | | script_template | Int64 | Script template id | | script_type | String | Script type, e.g. witness_v0_keyhash | | output_script_type_pattern | String | Script pattern | | output_script_type_short | String | Short script type | | output_script_type_simplePattern | String | Simplified script pattern | | output_script_type_type | String | Script type | | req_sigs | Int64 | Signatures required to spend | | tx_hash | String | Transaction hash | | transaction_index | Int64 | Position of the transaction in the block | | value_decimal | Float64 | Value in BTC | | value_in_usd | Float64 | Value in USD at block time | | value | Float64 | Value in satoshi | ### omni_transactions — 15 columns Decoded Omni Layer transactions (Tether on Bitcoin) with type, validity and raw payload. S3 prefix: bitcoin/omni_transactions File naming: _.parquet, 50 blocks per file Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/bitcoin/omni_transactions/859350_859399.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | tx_date | UInt64 | Block date, UTC midnight (epoch ms) | | tx_time | Int64 | Block timestamp (epoch seconds) | | blockchain_id | Int64 | Internal chain id | | block | Int64 | Block height | | block_hash | String | Block hash | | tx_hash | String | Transaction hash | | tx_index | Int64 | Position of the transaction in the block | | type | String | Omni transaction type name | | type_int | Int64 | Omni transaction type id | | tx_sender | String | Sender of the Omni transaction | | valid | Int64 | 1 if the Omni transaction is valid | | version | Int64 | Version field | | json | String | Raw Omni payload as JSON | | fee_value | Float64 | Fee in satoshi | | fee_value_usd | Float64 | Fee in USD at block time | ### omni_transfers — 20 columns Omni Layer token transfers with sender, receiver, property and value. S3 prefix: bitcoin/omni_transfers File naming: _.parquet, 50 blocks per file Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/bitcoin/omni_transfers/859350_859399.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | tx_date | UInt64 | Block date, UTC midnight (epoch ms) | | tx_time | Int64 | Block timestamp (epoch seconds) | | blockchain_id | Int64 | Internal chain id | | block | Int64 | Block height | | block_hash | String | Block hash | | tx_hash | String | Transaction hash | | tx_index | Int64 | Position of the transaction in the block | | type | String | Omni transaction type name | | type_int | Int64 | Omni transaction type id | | tx_sender | String | Sender of the Omni transaction | | transfer_from | String | Sender of the Omni transfer | | transfer_to | String | Receiver of the Omni transfer | | divisible | Int64 | 1 if the property is divisible | | ismine | Int64 | Omni Core ismine flag | | value | Int64 | Value in satoshi | | direction | String | Direction relative to the address | | currency_name | String | Omni property name, e.g. TetherUS | | currency_symbol | String | Omni property symbol | | currency_token_id | Int64 | Omni property id (31 = USDT) | | currency_address | String | Omni property address | ## Price - Full history (Genesis → Sep 23, 2026): $8,000 one-time, USD One-time purchase. The files are yours to keep under the licence above. ## Questions buyers ask Q: What is included in Bitcoin? A: Six Parquet tables: blocks, transactions, inputs, outputs, omni_transactions and omni_transfers, covering full history from the genesis block to yesterday. Q: How is the data delivered? A: 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. Q: Can I try before I buy? A: Yes. Every table links to a public sample file with real records, and the sample bucket holds full Parquet files you can load directly. ## What this file is, and is not This is a description of one dataset sold by Bitquery, written for assistants and for people. It lists every column, but holds no data rows — the sample files linked under each table are real Parquet and are free to download. Figures here come from the product record and are exact unless marked otherwise; the delivery manifest is authoritative for a purchased file. If a question needs a row that is not in a sample, say so rather than guessing at it.