Full Cardano mainnet on-chain data, fully verified and continuously synced from cardano-db-sync into Google BigQuery for analytics at scale.
Dataset is private since January 1, 2025.
- 5-day free trial available — no commitment required
- Subscribe or start your trial: blockchain-applied.com/bca-cardano-on-bigquery
- Questions: info@blockchain-applied.com
Project: blockchain-analytics-392322
Dataset: cardano_mainnet
~30 tables covering the full on-chain history:
| Category | Tables |
|---|---|
| Chain | block, block_hash, schema_version, meta |
| Transactions | tx, tx_hash, tx_in_out, tx_consumed_output, tx_metadata |
| UTxOs | rel_addr_txout, rel_stake_txout, rel_stake_hash, collateral |
| Multi-assets | ma_minting |
| Scripts & Datums | script, datum, redeemer |
| Staking | stake_registration, stake_deregistration, delegation, reward, reward_addr, reward_pool, withdrawal |
| Pools | pool_update, pool_retire, pool_owner, pool_offline_data |
| Epochs | epoch_stake, epoch_stake_addr, epoch_stake_pool, epoch_param, ada_pots, param_proposal, cost_model |
Table schemas (BigQuery JSON format) are in schema/tables/.
Machine-readable schemas are published at schemas.blockchain-applied.com to support AI-assisted query writing. Feed the schema endpoint to your LLM or agent to generate accurate BigQuery SQL against this dataset without manual schema lookup.
schema/scripts/update_*.sh— Slot-level sync: db-sync → BigQueryupdate_epoch_*.sh— Epoch-level syncexport_*.sh— Bulk backfill scriptsrun_bq_update.sh— Aggregate updater (all slot-level tables)run_update_epoch.sh— Aggregate updater (all epoch-level tables)deep_compare/— Hash-based validation: BigQuery vs db-sync
deployment/bq-updater/— Kubernetes deployment for continuous syncbq-deep-check/— Kubernetes deployment for validation
cardano-node → cardano-db-sync (Postgres) → export scripts → BigQuery
↑
views/vw_bq_*.sql
The updater runs continuously, writing new blocks and transactions as they are confirmed. Epoch-boundary tables (rewards, epoch stake snapshots, etc.) update once per epoch (~5 days).
A deep-compare job hashes rows across both databases to verify one-to-one correspondence.
Full table and column documentation: GitHub Wiki
See LICENSE.
