{
  "period_scheme": "hour",
  "period_length_seconds": 3600,
  "now": "2026-10-15T14:19:35.915Z",
  "sealed_head": {
    "period": "2026-10-15T13",
    "period_start": "2026-10-15T13:00:00.000Z",
    "period_end": "2026-10-15T14:00:00.000Z",
    "tip_receipt_hash": "03ad4ac8c4e9fa27859a67cc3ac3a7fb0dca2b520643848595d19955773d314b",
    "receipts_in_period": 8,
    "cumulative_receipts": 12147,
    "prev_period": "2026-10-15T12",
    "prev_head_hash": "1964adbadb40d689750995bcf5bd3f367e651e283963217850921b6ee9cfc7c4",
    "notary_fp": "21de066900082465",
    "head_hash": "264ca3008600dff003b765deb5f359bfe89f600a058f4213ea989bbb90399337",
    "signature": "yvZ/iETotnB0JXGjbWZNsvPBYDx7xM0sAq+7ixp/B2AhFl+LWGPGnLVwT7Lk5aKqzwi12rPY6EaNEzOoAVtlAg=="
  },
  "next_seal_at": "2026-10-15T15:00:00.000Z",
  "open_period": {
    "period": "2026-10-15T14",
    "period_start": "2026-10-15T14:00:00.000Z",
    "period_end": "2026-10-15T15:00:00.000Z",
    "tip_receipt_hash": "4700a9159d9cf106c05982bc51dcb0c1019cc95adfc3c9bc2b748f52d0ff364b",
    "receipts_in_period": 171,
    "cumulative_receipts": 12318,
    "prev_period": "2026-10-15T13",
    "prev_head_hash": "264ca3008600dff003b765deb5f359bfe89f600a058f4213ea989bbb90399337",
    "notary_fp": "21de066900082465",
    "head_hash": "ad319f7e1e2aecc12bb2de5a2e9a834704be62eee6c412d2844891699e3879cd",
    "sealed": false,
    "note": "NOT FINAL -- this period is still open. Pin sealed_head, not this."
  },
  "chain_length": 2611,
  "first_period": "2026-06-28T20",
  "keyring": "/notary/keyring",
  "how_to_verify": "Recompute from the public receipt ledger alone -- no call to this service is required, and heads.jsonl is a cache, not the source of truth. (1) Bucket every receipt into its UTC hour by `ts`. (2) Walk hours with NO GAPS from the first receipt's hour: an hour with zero receipts still produces a head that carries the previous tip_receipt_hash forward with receipts_in_period 0 -- a missing head is a missing period, which is a real finding, not a formatting choice. (3) For each hour: tip_receipt_hash = receipt_hash of the last receipt with ts < period_end (GENESIS before any receipt exists), receipts_in_period = count in that hour, cumulative_receipts = count from GENESIS through period_end, notary_fp = the notary_fp of that last receipt. (4) head_hash = SHA256(JSON.stringify({period,period_start,period_end,tip_receipt_hash,receipts_in_period,cumulative_receipts,prev_period,prev_head_hash,notary_fp})) in exactly that key order. prev_head_hash is \"GENESIS\" for the first period. (5) Verify signature as Ed25519 over the ASCII/UTF-8 bytes of the head_hash HEX STRING -- not the raw digest bytes, not the canonical JSON -- against the public key whose fingerprint matches notary_fp in /notary/keyring. This is the identical convention used for receipt signatures, deliberately, so you do not have to learn a second one. FINALITY: a period is sealed once now >= period_end and a sealed head never changes; every later sealed head has every earlier one as a prefix via prev_head_hash. The open (current) period is returned with sealed:false and is NOT final -- do not pin it.",
  "receipts": "/notary/chain",
  "anchoring": {
    "anchoring_layer": "Vauban Apodix",
    "leaf": "STILLOS_NOTARY_RECEIPT_V1",
    "leaf_digest": "636ec23cec4628502312ddde24bc620bee54bf83bd85759eadabf810230a4536",
    "fact": "0x066cfbb6f92b3215ef843df1e5ea73035ad309f04e6a2c672b810ccae6045f8f",
    "epoch": 16,
    "epoch_root": "0x401fc8020b5df7ffd699284708b62a0ffc9d72c53534700534febb12254f623e",
    "l1_chain_id": 11155111,
    "l1_contract": "0x48421a2e448cb2E3fA66af2E047F86ee755cFB14",
    "l1_block": 11714333,
    "anchored_at": "2026-09-16T04:00:24Z",
    "first_sealed_epoch": 15,
    "independently_verified_by_stillos": "2026-09-23 — Merkle path recomputed with an implementation neither party maintains, and epoch(16).factsRoot read directly off the Sepolia contract over a public RPC. Root, leaf_count 65, anchoredAt and l1Block all matched the published proof.",
    "verify_without_either_party": "https://explorer.testnet.apodix.vauban.tech/v1/anchors/16/proof/0x066cfbb6f92b3215ef843df1e5ea73035ad309f04e6a2c672b810ccae6045f8f",
    "note": "This attestation chain is anchored by Vauban Apodix. StillOS does not operate the anchoring layer and does not ask anyone to take our word for the anchor -- read it off Ethereum Sepolia yourself."
  }
}