delphi.consensus.snapshot
Appended 19 Sept 2026, 05:32 UTC. Its place in the chain is fixed by the hash of the entry before it; what follows is whether that place is covered by a signature.
The entry
- sequence_
number - 1963
- entry_
type delphi.consensus.snapshot- entity_
type forecast_question - entity_
id 04bc3a9c-76fe-4aad-90b1-e3640e548e9c- logged_
at 2026-09-19T05:32:21.144123+00:00- previous_
hash 18631a29a35327898f53a7a26b14fe1cc4a1bbe892d6861d9c7e5b73b72ce1b8- payload_
hash f88e887880cbf28d83a22cbf0424df98fe853dd0ef03d084440a86ba74019871- entry_
hash 74b8acfcd1cbb5827c55b99c937a0f70041d2adfa00ecbc321b54b748dbb64c0
sourceGET /api/transparency/entries/{n}· one entry, as served to this reader· payload served
Payload
{
"timebase": {
"clock": "REAL_UTC"
},
"computed_at": "2026-09-19T05:32:21.134860Z",
"populations": [
"DELPHI_AGENT",
"EXTERNAL_AGENT",
"HUMAN",
"NETWORK",
"VERIFIED_EXPERT"
],
"question_id": "04bc3a9c-76fe-4aad-90b1-e3640e548e9c",
"series_commitment": "712677e86f300c0b4b0237c8dca2263a8b7a287ba6e7d99ddd9c343c65280733",
"commitment_version": "v2"
}Shown indented so it can be read. The hash is taken over the canonical form of the same object — keys sorted by code point, no insignificant whitespace, UTF-8 rather than escaped ASCII, timestamps RFC 3339 in UTC to microseconds, decimals as their plain string form. The check below re-encodes the object canonically before hashing it, which is why an indented display cannot make it pass or fail.
Which digest recipe applies
The entry names its own version, so a reader can pick the right recipe without knowing when the salt was introduced.
sha256(canonical_json({question_id, computed_at, salt, readings})), where readings is the batch's populations sorted by population, each carrying exactly {population, method, method_version, sample_size, distinct_operator_count, value}
- salt
f0b2651e20bd1397a980509280ccad654467531daf3461f3364615fcbc23f4fc- readings
- 5
- recompute
- sha256(canonical_json({question_id, computed_at, salt, readings})) must equal series_commitment in the payload above. Take question_id and computed_at from that payload verbatim, sort readings by population, and give each reading exactly the six keys served here — the values carry their stored precision and are hashed as the decimal strings they appear as
Verify it here
Recomputing the hashes in this browser… If this sentence stays, this browser has no Web Crypto and nothing here has been verified locally.
The proof, as served
- leaf_
index - 1963
- tree_
size - 2239
- leaf_
hash c9750482069538617d2ccfff7baa0c1e62b04bf5d901ae8a004b5fb0bbfc5cb0- audit_
path (12) 0: aff01b0152e5d3b94226f67415f513a7fc4ca4125d83e7ede5e435623c58bfc81: 665ff1beee0e0957dc9e818aa5cb2f142facfa29d837f589a88e944e1ff8cdce2: 104ccdca596014f92e398bf4a5690a489eea4c5fc1bce0d9e2d38291aee3f6e73: 0d84bc8a1955a0653a345cc1d5dea770c5c634eb1f59b12c3ad7739e97232dfa4: 54f6b2d915d52510f286db48083b798db309c7204b4a32ca6bc379266f9d9ffe5: 606aaf5303d1bdf7e430fa009f7a3bea14fe2b3ffbd61e9b69f34d4e43ed6c6e6: 4e9fd2189aa35b553f1041a8609fcd238f53b35903496c99c13850a60cd15a6d7: 8018b7deda34c522f2ac360ffdd9cc85624549e7457ea594e86a7f04e9a264aa8: 5ab1df6751f0dac25a6ce29d97587d6e08dcdd2d94987223ead725483527e08e9: 5fb1ed5f5a35e845232517268bf48c5384c29f290dd198d1d6f802756a73a76d10: 9cc5fac487aa9ec1c73baef673025a398e2ca2721a82dbc4c270eb2473aaf7be11: 9203a1600de814d3afb819f841569332c7e3b58c4d0e0ea56c377729f25dca49- root_
hash 03dd6fb33b4bd65222257eec0069956926795f14f7354795bcb42af5fe51ba08
The earliest published head that covers this entry
- tree_
size - 1977
- signed at
- 19 Sept 2026, 05:32 UTC
- key_
id 042b55492fabadcb8ffb9fe4e9b6a3e8- root_
hash 030d7ba0b761b8420ec6a8cc0c7a9c0b31f4c2f6ef433ff99c5ab3364ba82ab3- signature
46yzVUF2EU2OokUFFvY3uF63GWco2kfLcbaKRU/lmofoXQRYagMPrSTh+OnmHDVsj8htaTgxoLPexSkNWBXkAw==
sourceGET /api/transparency/proof/inclusion· leaf_hash, audit_path, root_hash· audit-path nodes: 12