{
  "what_this_is": "External anchoring of the audit ledger. The ledger is MAC-sealed under a key we hold, which detects tampering by an outsider but not by us. These anchors commit the chain tip to logs we do not operate and cannot edit.",
  "what_it_proves": "That the stated chain tip existed at the stated time and has not been altered since.",
  "what_it_does_not_prove": "That the ledger contents are true. It also does not cover anything recorded before the first anchor below. Both limits are permanent and are not going to be argued away.",
  "signing_key": {
    "algorithm": "ECDSA P-256",
    "spki_pem": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjkFsfoQ5qTVwC3cbw7i13rvvpx0c\nJ3hSdPd5z/UPx1CbFPJwrzl6JZNVk2T7rJNBCTLrkf2RQPBqtZI1bWNAQw==\n-----END PUBLIC KEY-----\n"
  },
  "anchored_to": [
    {
      "kind": "opentimestamps",
      "operator": "OpenTimestamps pool",
      "host": "a.pool.opentimestamps.org",
      "settles_to": "Bitcoin proof-of-work, once the calendar aggregates and confirms"
    },
    {
      "kind": "opentimestamps",
      "operator": "OpenTimestamps pool",
      "host": "b.pool.opentimestamps.org",
      "settles_to": "Bitcoin proof-of-work, once the calendar aggregates and confirms"
    },
    {
      "kind": "opentimestamps",
      "operator": "Eternity Wall",
      "host": "a.pool.eternitywall.com",
      "settles_to": "Bitcoin proof-of-work, once the calendar aggregates and confirms"
    },
    {
      "kind": "opentimestamps",
      "operator": "Catallaxy",
      "host": "ots.btc.catallaxy.com",
      "settles_to": "Bitcoin proof-of-work, once the calendar aggregates and confirms"
    },
    {
      "kind": "sigstore-rekor",
      "operator": "sigstore public-good instance",
      "host": "rekor.sigstore.dev",
      "settles_to": "Trillian append-only transparency log"
    }
  ],
  "how_to_verify_without_trusting_us": [
    "1. Recompute the digest yourself. It is sha256 over the `document` object below, serialised as compact JSON with no spaces, keys in the order shown. If your recomputation does not match the `digest` field, stop and report it — that alone would be a valid finding.",
    "2. Download a proof, keyed by the digest you recomputed in step 1. Either the calendar slug or its hostname works:",
    "     curl -sfLO https://gate.1hbt.com/api/anchor/<digest>/opentimestamps-a.ots",
    "     curl -sfLO https://gate.1hbt.com/api/anchor/<digest>/a.pool.opentimestamps.org.ots",
    "   The exact URLs for every proof currently held are listed under history[].proofs below. Id-keyed URLs (/api/anchor/<id>/...) still work, but are refused with 409 when the id is not unique; every record taken before 2026-09-21 carries id 51.",
    "3. Install the reference client:  pip install opentimestamps-client",
    "4. Verify:  ots verify -d <digest> <the .ots file step 2 saved>",
    "5. A fresh anchor reports 'Pending confirmation in Bitcoin blockchain'. That is correct and expected: the calendars aggregate submissions and commit them in a periodic Bitcoin transaction. Run `ots upgrade <file>` after an hour or two and the same command will then report a block height and time backed by proof-of-work.",
    "6. Independently, in a second and unrelated log: open the rekor `url` field, or https://search.sigstore.dev and search the digest. The entry is append-only and operated by the sigstore project, not by us.",
    "7. Nothing in steps 1-6 requires you to believe anything this server tells you. That is the entire point of the exercise."
  ],
  "honest_note": "Anchoring began on 2026-08-05, after a reviewer pointed out that a ledger sealed under a key we hold binds outsiders and not us. Entries recorded before the first anchor below carry the old, weaker property. We are not going to pretend otherwise by backdating anything.",
  "anchor_count": 7,
  "anchor_window": 50,
  "anchor_seq": 7,
  "numbering_note": "F10 fix, 2026-09-21. anchor_count is the retained window (at most 50), not a lifetime total; no lifetime total was kept before the fix and none is claimed. Record ids are now a monotonic sequence persisted outside the window (anchor_seq is the last id issued). Every record taken before the fix carries id 51 and is distinguishable only by its digest, which is why every proof URL below is digest-keyed. A lifetime lower bound is externally observable without trusting us: POST the signing_key above to https://rekor.sigstore.dev/api/v1/index/retrieve and count the entries.",
  "chain_height_note": "ledger_tip is the hash of one row in /api/ledger/tail. Sequence numbers start at 0. If document.entry_count is present, document.chain_height is that row's seq, and evicted_entry_count + retained_entry_count = entry_count. If entry_count is absent, document.chain_height is the entry count and that row's seq is chain_height - 1. A ledger_anchored row may carry the next seq; it was written after the tip and is not part of it. This note is not inside document, so it does not change a digest already anchored.",
  "latest": {
    "id": 7,
    "at": "2026-09-26T16:25:27.316Z",
    "digest": "abc6ed412ca3504d339a8da14ed932b36d44b2e4a4b4e046104b4ddfa1006803",
    "document": {
      "surface": "gate.consensor.io",
      "statement": "This is a commitment to the state of the Hourglass audit ledger at the moment given below. It proves the chain tip existed at this time and has not been altered since. It does NOT prove the ledger contents are true, and it does not cover anything recorded before the first anchor. chain_height is the sequence number of ledger_tip. Sequence numbers start at 0. entry_count is the number of entries committed, and it is chain_height + 1 when the chain is not empty.",
      "ledger_tip": "94fab2b6709067627e836da66d8b488289ab35486a380a987a0fab4545772c98",
      "chain_height": 18,
      "entry_count": 19,
      "retained_entry_count": 19,
      "evicted_entry_count": 0,
      "completeness": "This anchor commits the chain tip. No archived sequence is bound yet. It does not prove that events are true.",
      "previous_anchor_digest": "acf8841e7cba2ae562bb43bbbeda4f72e7ff84655487020589e0f24095ad1011",
      "anchored_at": "2026-09-26T16:25:27.316Z",
      "verify": "https://gate.consensor.io/api/anchor",
      "document_schema": "hourglass.anchor.v2",
      "attestation_limit": "The anchor commits a stated ledger tip. Matching bytes can be checked against that commitment; it does not prove that every event was logged or that the event contents are true.",
      "archive_schema": "hourglass.ledger-segment.v1",
      "archive_head_sha256": "genesis",
      "archive_start_seq": null,
      "archive_end_seq": null
    },
    "ots": [
      {
        "id": "opentimestamps-a",
        "host": "a.pool.opentimestamps.org",
        "operator": "OpenTimestamps pool",
        "ok": true,
        "bytes": 242,
        "proof": "8AgzUvyaFwPkCgjxIJ9ZtMl6oLZUtvkNN3wQF6Jss3D2Kc1/qs+4izMTENr3CPAg7Yr34C97KtpxrYxO/HcuNnAEIlBS4ZVJKP0fw/YT70II8BDQdvdIgffvrmv4co0CCCatCPAgryWVYWL1hr7yoT6B9OK0OYweJSbtWw0HTL/PRlbmjwsI8SCIwwRvqL1jJOUh0wucUkLq0+4EnMYxkB7sxPpFwsBxqQjxBGq38fjwCJfDoSkXPp4xAIPf4w0u+QyOLi1odHRwczovL2FsaWNlLmJ0Yy5jYWxlbmRhci5vcGVudGltZXN0YW1wcy5vcmc="
      },
      {
        "id": "opentimestamps-b",
        "host": "b.pool.opentimestamps.org",
        "operator": "OpenTimestamps pool",
        "ok": true,
        "bytes": 240,
        "proof": "8AhtplxQW8+iDgjxIIjLvllHdveWKJH/UaxgAXY+MPKdoCSI03CNJQ2VR+/wCPAQm07aq+9Y+ZOLxng0e0yjGwjwID4XT3zxCljglGzhzuC3sJiQtQNRSqFIf4wdSlr6wtvxCPAgimBXSypfaY7NV12QiAdK8TU3Z8atBvxO1dRXFi5ZIe4I8CBq5+YkbwLzyPcBeQrUv404uvMo3U5FkgHrfwoXmw3wVwjxBGq38fnwCKon9AExTkaqAIPf4w0u+QyOLCtodHRwczovL2JvYi5idGMuY2FsZW5kYXIub3BlbnRpbWVzdGFtcHMub3Jn"
      },
      {
        "id": "eternitywall",
        "host": "a.pool.eternitywall.com",
        "operator": "Eternity Wall",
        "ok": true,
        "bytes": 191,
        "proof": "8BDwls8S6nAR5sq5PRUAXTkPCPEgxzw9eXSbQFe+kx/b95aYGUHkR+wjE3ls0SGLBTegPyUI8SAafMRQWqdynKXUq3pYr4t0UXIgGSqUoOFhW8sFZPFu0gjwIOVPlBUUBa/+eeI5iK6KmtTmfF5oPTDP0CP2h8mGmTLmCPEEarfx+vAIHxHvHmv8Kf4Ag9/jDS75DI4pKGh0dHBzOi8vZmlubmV5LmNhbGVuZGFyLmV0ZXJuaXR5d2FsbC5jb20="
      },
      {
        "id": "catallaxy",
        "host": "ots.btc.catallaxy.com",
        "operator": "Catallaxy",
        "ok": true,
        "bytes": 185,
        "proof": "8BC7FZRYmh8Jz/8QWEEK//wdCPEgmt6oPo5CBwK52G+Wc/pA4Yh5BKS3PvTVNFlaGKn5IKYI8SDFfNxLiOHcyuFCaPSI2mygEUWERdbUTdnR5EWOi4HBBwjwIBCfU7PuRgPwj20RgluIaigpPqjBo3NBL4NitKavPeYcCPEEarfx+vAI/ulqtkwORbIAg9/jDS75DI4jImh0dHBzOi8vYnRjLmNhbGVuZGFyLmNhdGFsbGF4eS5jb20="
      }
    ],
    "rekor": {
      "ok": true,
      "uuid": "108e9186e8c5677a17e6b28e28aa9b073b7781d9c9b7a68a1c8a68f9f69579dbd38111969c519f2a",
      "logIndex": 2969081244,
      "logID": "c0d23d6ad406973f9559f3ba2d1ca01f84147d8ffc5b8445c224f98b9591801d",
      "integratedTime": 1790439927,
      "url": "https://rekor.sigstore.dev/api/v1/log/entries/108e9186e8c5677a17e6b28e28aa9b073b7781d9c9b7a68a1c8a68f9f69579dbd38111969c519f2a",
      "ui": "https://search.sigstore.dev/?uuid=108e9186e8c5677a17e6b28e28aa9b073b7781d9c9b7a68a1c8a68f9f69579dbd38111969c519f2a"
    },
    "independent_parties": [
      "OpenTimestamps pool",
      "Eternity Wall",
      "Catallaxy",
      "sigstore public-good instance"
    ]
  },
  "history": [
    {
      "id": 1,
      "at": "2026-09-26T13:25:00.406Z",
      "digest": "3893b80db299d0968e567c42a1465020754496713c94a78263cc84ff65ab34ea",
      "chain_height": 2,
      "retained_entries": 3,
      "evicted_entries": 0,
      "parties": [
        "OpenTimestamps pool",
        "Eternity Wall",
        "Catallaxy",
        "sigstore public-good instance"
      ],
      "rekor_log_index": 2968461840,
      "proofs": [
        "/api/anchor/3893b80db299d0968e567c42a1465020754496713c94a78263cc84ff65ab34ea/opentimestamps-a.ots",
        "/api/anchor/3893b80db299d0968e567c42a1465020754496713c94a78263cc84ff65ab34ea/opentimestamps-b.ots",
        "/api/anchor/3893b80db299d0968e567c42a1465020754496713c94a78263cc84ff65ab34ea/eternitywall.ots",
        "/api/anchor/3893b80db299d0968e567c42a1465020754496713c94a78263cc84ff65ab34ea/catallaxy.ots"
      ]
    },
    {
      "id": 2,
      "at": "2026-09-26T13:55:03.256Z",
      "digest": "7110738bab18039f0ea6c8118f7faeb9db078de20e45ce3412352d4af7419f95",
      "chain_height": 6,
      "retained_entries": 7,
      "evicted_entries": 0,
      "parties": [
        "OpenTimestamps pool",
        "Eternity Wall",
        "Catallaxy",
        "sigstore public-good instance"
      ],
      "rekor_log_index": 2968579519,
      "proofs": [
        "/api/anchor/7110738bab18039f0ea6c8118f7faeb9db078de20e45ce3412352d4af7419f95/opentimestamps-a.ots",
        "/api/anchor/7110738bab18039f0ea6c8118f7faeb9db078de20e45ce3412352d4af7419f95/opentimestamps-b.ots",
        "/api/anchor/7110738bab18039f0ea6c8118f7faeb9db078de20e45ce3412352d4af7419f95/eternitywall.ots",
        "/api/anchor/7110738bab18039f0ea6c8118f7faeb9db078de20e45ce3412352d4af7419f95/catallaxy.ots"
      ]
    },
    {
      "id": 3,
      "at": "2026-09-26T14:25:05.893Z",
      "digest": "3b6ba0cc225f1d1331193f4fca57a38fedd53d9cceac3b79171a3ba8f2e8dad7",
      "chain_height": 9,
      "retained_entries": 10,
      "evicted_entries": 0,
      "parties": [
        "OpenTimestamps pool",
        "Eternity Wall",
        "Catallaxy",
        "sigstore public-good instance"
      ],
      "rekor_log_index": 2968631136,
      "proofs": [
        "/api/anchor/3b6ba0cc225f1d1331193f4fca57a38fedd53d9cceac3b79171a3ba8f2e8dad7/opentimestamps-a.ots",
        "/api/anchor/3b6ba0cc225f1d1331193f4fca57a38fedd53d9cceac3b79171a3ba8f2e8dad7/opentimestamps-b.ots",
        "/api/anchor/3b6ba0cc225f1d1331193f4fca57a38fedd53d9cceac3b79171a3ba8f2e8dad7/eternitywall.ots",
        "/api/anchor/3b6ba0cc225f1d1331193f4fca57a38fedd53d9cceac3b79171a3ba8f2e8dad7/catallaxy.ots"
      ]
    },
    {
      "id": 4,
      "at": "2026-09-26T14:55:09.849Z",
      "digest": "058f4d035622adcfaf9211b3a502304182020d1d871e662b3ddaa549f3427dc2",
      "chain_height": 11,
      "retained_entries": 12,
      "evicted_entries": 0,
      "parties": [
        "OpenTimestamps pool",
        "Eternity Wall",
        "Catallaxy",
        "sigstore public-good instance"
      ],
      "rekor_log_index": 2968720894,
      "proofs": [
        "/api/anchor/058f4d035622adcfaf9211b3a502304182020d1d871e662b3ddaa549f3427dc2/opentimestamps-a.ots",
        "/api/anchor/058f4d035622adcfaf9211b3a502304182020d1d871e662b3ddaa549f3427dc2/opentimestamps-b.ots",
        "/api/anchor/058f4d035622adcfaf9211b3a502304182020d1d871e662b3ddaa549f3427dc2/eternitywall.ots",
        "/api/anchor/058f4d035622adcfaf9211b3a502304182020d1d871e662b3ddaa549f3427dc2/catallaxy.ots"
      ]
    },
    {
      "id": 5,
      "at": "2026-09-26T15:25:14.057Z",
      "digest": "4f753e9fa36e2dad0c2e60a681d1b71ee48dbd3311afae05ffd7cb3506c30bda",
      "chain_height": 13,
      "retained_entries": 14,
      "evicted_entries": 0,
      "parties": [
        "OpenTimestamps pool",
        "Eternity Wall",
        "Catallaxy",
        "sigstore public-good instance"
      ],
      "rekor_log_index": 2968888476,
      "proofs": [
        "/api/anchor/4f753e9fa36e2dad0c2e60a681d1b71ee48dbd3311afae05ffd7cb3506c30bda/opentimestamps-a.ots",
        "/api/anchor/4f753e9fa36e2dad0c2e60a681d1b71ee48dbd3311afae05ffd7cb3506c30bda/opentimestamps-b.ots",
        "/api/anchor/4f753e9fa36e2dad0c2e60a681d1b71ee48dbd3311afae05ffd7cb3506c30bda/eternitywall.ots",
        "/api/anchor/4f753e9fa36e2dad0c2e60a681d1b71ee48dbd3311afae05ffd7cb3506c30bda/catallaxy.ots"
      ]
    },
    {
      "id": 6,
      "at": "2026-09-26T15:55:18.144Z",
      "digest": "acf8841e7cba2ae562bb43bbbeda4f72e7ff84655487020589e0f24095ad1011",
      "chain_height": 16,
      "retained_entries": 17,
      "evicted_entries": 0,
      "parties": [
        "OpenTimestamps pool",
        "Eternity Wall",
        "Catallaxy",
        "sigstore public-good instance"
      ],
      "rekor_log_index": 2968947131,
      "proofs": [
        "/api/anchor/acf8841e7cba2ae562bb43bbbeda4f72e7ff84655487020589e0f24095ad1011/opentimestamps-a.ots",
        "/api/anchor/acf8841e7cba2ae562bb43bbbeda4f72e7ff84655487020589e0f24095ad1011/opentimestamps-b.ots",
        "/api/anchor/acf8841e7cba2ae562bb43bbbeda4f72e7ff84655487020589e0f24095ad1011/eternitywall.ots",
        "/api/anchor/acf8841e7cba2ae562bb43bbbeda4f72e7ff84655487020589e0f24095ad1011/catallaxy.ots"
      ]
    },
    {
      "id": 7,
      "at": "2026-09-26T16:25:27.316Z",
      "digest": "abc6ed412ca3504d339a8da14ed932b36d44b2e4a4b4e046104b4ddfa1006803",
      "chain_height": 18,
      "retained_entries": 19,
      "evicted_entries": 0,
      "parties": [
        "OpenTimestamps pool",
        "Eternity Wall",
        "Catallaxy",
        "sigstore public-good instance"
      ],
      "rekor_log_index": 2969081244,
      "proofs": [
        "/api/anchor/abc6ed412ca3504d339a8da14ed932b36d44b2e4a4b4e046104b4ddfa1006803/opentimestamps-a.ots",
        "/api/anchor/abc6ed412ca3504d339a8da14ed932b36d44b2e4a4b4e046104b4ddfa1006803/opentimestamps-b.ots",
        "/api/anchor/abc6ed412ca3504d339a8da14ed932b36d44b2e4a4b4e046104b4ddfa1006803/eternitywall.ots",
        "/api/anchor/abc6ed412ca3504d339a8da14ed932b36d44b2e4a4b4e046104b4ddfa1006803/catallaxy.ots"
      ]
    }
  ],
  "schedule": "Automatically every 30 minutes when the committed height has changed, and on demand via POST to this endpoint."
}
