{
 "note": "Third file of the worked state-at-date example: for the interval after version 2, no event was recorded for the credential. Real ledger data and receipts; the credential itself is a SYNTHETIC TEST FIXTURE (see credential-v1.json, credential-v2.json, state-at-date.json).",
 "credentialId": "did:example:agent-7f3a",
 "credentialIssuerOnLedger": "did:key:z6Mkk5cgTX4mzfidEn9TPyp7Vc62u4tveprjCKNupjaSeFeH",
 "interval": {
  "from": {
   "event": "version 2 (scope-changed)",
   "ledgerPosition": 39478,
   "entryHash": "6d6e6eee8be90cfc9dc6d8505f87087568a87f39e996327979523288b41ceff7",
   "record": "https://deusproof.com/verify/03558dd6-2297-4820-83d9-a83f9b9e77c7"
  },
  "to": {
   "checkpoint": 1672,
   "treeSize": 39675,
   "merkleRoot": "b75dfcbd0652faae51324458773c7120115ad3eeea6a716304f83dcd8eb66e0a",
   "bitcoinBlock": 973827,
   "createdAt": "2026-10-30T12:23:02.895574+00:00",
   "file": "checkpoint-1672.json"
  }
 },
 "entriesInInterval": 196,
 "eventsForCredential": [],
 "entriesFile": "ledger-interval.json",
 "howToCheck": [
  "python check_interval.py   (reads the files in this folder and two public endpoints)",
  "1. Every entry in ledger-interval.json rebuilds its entry_hash from its own fields, and each prev_hash is the entry before it.",
  "2. The first entry is version 2's ledger entry: same hash as ledger_entry_hash on https://deusproof.com/api/verify/03558dd6-2297-4820-83d9-a83f9b9e77c7",
  "3. The last entry is inside checkpoint 1672: https://deusproof.com/api/anchors/inclusion/<its certification_id> returns checkpoint_id 1672 and the same Merkle root.",
  "4. The checkpoint signature verifies over 'merkle_root:tree_size' with the operator's did:key, which https://deusproof.com/api/anchors/issuer publishes with its rotation history.",
  "5. The OpenTimestamps proof commits to SHA-256 of 'merkle_root:tree_size' and to Bitcoin block 973827 (ots verify, or check_interval.py --bitcoin).",
  "6. No entry after version 2 is recorded under the credential's issuer: eventsForCredential is empty."
 ],
 "whatItShows": [
  "Between version 2 and checkpoint 1672 the ledger recorded no event for this credential, and that statement rests on records that were signed and timestamped when they were written.",
  "A revocation dated inside this interval but produced later would contradict a checkpoint already anchored to Bitcoin."
 ],
 "whatItDoesNotShow": [
  "A revocation the operator decided but never logged.",
  "That every event of the credential is filed under its issuer: that is a rule of this ledger, stated here, not something the data proves.",
  "That the content of the credential is true."
 ]
}
