Skip to main content
These chains keep no account balances. Coins sit in outputs, each one a chunk of value locked to whoever can unlock it, and a transaction spends whole outputs as its inputs and creates new ones. An output nobody has spent yet is an unspent transaction output, or UTXO, and someone’s balance is just the sum of the ones they can unlock. Recording that takes only two tables: blocks, with the totals for each block, and transactions, with each transaction’s inputs and outputs held on the same row. The Tables section below says what each table holds and lists the columns.

Chains

Chainchain_idblockstransactionsevents
Bitcoinbitcoinβœ“βœ“βœ—
Dogecoindogecoinβœ“βœ“βœ—
Litecoinlitecoinβœ“βœ“βœ—
Zcashzcashβœ“βœ“βœ—
Stacksstacksβœ“βœ“βœ“

Tables

The schemas below are read from bitcoin, and apply to the chains listed on the Bitcoin ecosystem overview. Stacks has a different shape and is documented on its own page. These chains do not keep account balances. Instead, coins sit in outputs, each one a chunk of value locked to whoever can unlock it. A transaction spends whole outputs as its inputs and creates new outputs, and an output that has not been spent yet is an unspent transaction output, or UTXO. Someone’s balance is the sum of the unspent outputs they can unlock. transactions is split by day on block_timestamp, and blocks on timestamp. Filter on that column in every query: with a filter the query reads only the days you asked for, without one it reads the whole table.
A block is a batch of transactions a miner added to the chain. blocks contains one row per block, with the fee, size and unspent-output figures for that block already worked out, so you rarely have to total them yourself.
ColumnTypeDescription
timestampTIMESTAMPThe time the block was mined. Partition column.
heightINT64The block height.
block_hashSTRINGThe hash of the block.
block_subsidyINT64The block subsidy paid to the miner.
transaction_countINT64The number of transactions in the block.
total_feeINT64The total fees paid in the block.
total_outINT64The total value of all outputs in the block.
total_sizeINT64The block size in bytes.
total_weightINT64The block weight.
avg_feeINT64The average transaction fee.
avg_fee_rateINT64The average fee rate.
avg_transaction_sizeINT64The average transaction size in bytes.
max_feeINT64The highest transaction fee in the block.
max_fee_rateINT64The highest fee rate in the block.
max_transaction_sizeINT64The largest transaction size in the block.
median_feeINT64The median transaction fee.
median_timeINT64The median time of the previous blocks.
median_transaction_sizeINT64The median transaction size.
min_feeINT64The lowest transaction fee in the block.
min_fee_rateINT64The lowest fee rate in the block.
min_transaction_sizeINT64The smallest transaction size in the block.
segwit_total_sizeINT64The total size of segwit transactions.
segwit_total_weightINT64The total weight of segwit transactions.
segwit_transaction_countINT64The number of segwit transactions.
utxo_increaseINT64The net change in the number of unspent outputs on the chain.
utxo_size_increaseINT64The net change in the storage size of those unspent outputs.
feerate_percentilesARRAY<INT64>Fee rate percentiles for the block.
insINT64The number of inputs in the block.
outsINT64The number of outputs in the block.
Sum daily fees and output value from block statistics over one week.

Exceptions

One chain here is not a plain UTXO chain. Stacks sits on top of Bitcoin and runs contracts of its own, written in a language called Clarity, so its tables carry extra columns for that and it has a third table, events, for the movements of assets and tokens and the notes its contracts write. The Stacks page describes them.