{
  "network": "mainnet",
  "chain_tip": {
    "height": 3428101,
    "block_hash": null,
    "note": "height read from zebrad tracing logs on the source node immediately before the drain that preceded this snapshot; not read from the drained disk itself (nothing is running against it once it is safe to cut), so treat this as \"at or a few blocks before\" the actual snapshot, not exact. block_hash is not currently captured — TODO: add a getbestblockhash RPC read (or equivalent) before drain if this needs to be exact."
  },
  "database_format_version": "28.0.0",
  "database_format_major_version": 28,
  "producing_zebrad": {
    "version": "6.2.3",
    "commit": "7121c82ba6795a151523d5b308a19743f4a1ade7"
  },
  "archive": {
    "filename": "zebrad-state-mainnet-v28-20260728.tar.zst",
    "size_bytes": 268719186846,
    "sha256": "45108a2dd1e94d16bde18f67e58e333f31892cf9d93156b5040274c9ad711ba6",
    "compression": "zstd",
    "extraction_path": "state/v28/mainnet",
    "extraction_note": "tar --zstd -xf <archive> -C <your zebrad cache_dir>; the archive already contains the state/v<major>/<network> prefix, so no manual path assembly is needed."
  },
  "compatibility": {
    "statement": "Loadable by zebrad builds whose DATABASE_FORMAT_VERSION major equals database_format_major_version. Verify against zebra-state/src/constants.rs::DATABASE_FORMAT_VERSION on the zebrad version you intend to run before trusting this snapshot."
  },
  "produced_at": "2026-07-28T15:10:21Z",
  "produced_by": {
    "source_zone": "us-east1-c",
    "source_disk": "zebrad-cache-mainnet-c",
    "source_snapshot": "zebrad-cache-mainnet-c-snap-20260728"
  },
  "signing": {
    "status": "unsigned",
    "todo": "Zebra release manifests are signed with Cosign keyless (Sigstore), which needs a GitHub Actions OIDC token this ad hoc script does not have. See the Signing section at the top of gcp-cut-zebrad-snapshot.sh. Do not trust this manifest as authenticated until that is resolved."
  }
}
