delphi.consensus.snapshot
Appended 21 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 - 2023
- entry_
type delphi.consensus.snapshot- entity_
type forecast_question - entity_
id 4bfc7aa0-f12f-479c-ba06-d8e4cebfe625- logged_
at 2026-09-21T05:32:21.291049+00:00- previous_
hash 82453a666974759b2c0a034819330604cbd10f45c3f094cc24b17a2da3616955- payload_
hash 19c4be5cedfb63ea26ba7036583fe3716cf364665976b8e4c5f44ec10d5c61c2- entry_
hash 6a9dd9d5d82a43e41ba23c76f7633b94a8e0fcc2e525aff28102aab02b9fa7c9
sourceGET /api/transparency/entries/{n}· one entry, as served to this reader· payload served
Payload
{
"timebase": {
"clock": "REAL_UTC"
},
"computed_at": "2026-09-21T05:32:21.284643Z",
"populations": [
"DELPHI_AGENT",
"EXTERNAL_AGENT",
"HUMAN",
"NETWORK",
"VERIFIED_EXPERT"
],
"question_id": "4bfc7aa0-f12f-479c-ba06-d8e4cebfe625",
"series_commitment": "618efa8acab15d35000f3ebcef12f45e8e59dd3b445ea753eb7123de57964665",
"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
a96a4c2b5e1bc9e473af6d32329355f97745c481348bb69b54219145812f2444- 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 - 2023
- tree_
size - 2503
- leaf_
hash 41d3061562277e73be4a5b47877efa47f8975f854e914a82ed75ef9d62e6e0f3- audit_
path (12) 0: e4cd75782cdd9146487de5a3f77dd225d9d2ffd4515c0580233a7fc5ee33d0b31: 35d6cd27a0e1e1f343df4f7d36337d7c3b62e3a8f8b34e36d03701c0483b14322: 7660e2db2765be64d01efd42980ff07e8a6308e0d7193fc6af7668888706eb413: 047523647d66613417d2f1d98e5b34804176107904592bfe9c5c125d0685485f4: da4f2279e5b2ba6a3c561625dde3ed65cf2e58731e81644803545a0f57d4673c5: 67597ad3c6d4b363732dc65bb4d4bcf26e23a5338a996842c3364d3486e683a96: c321285e45ea8a57cf869ad4aefceaa5840e364ae5f182e7b0c7b58aab9054be7: 8018b7deda34c522f2ac360ffdd9cc85624549e7457ea594e86a7f04e9a264aa8: 5ab1df6751f0dac25a6ce29d97587d6e08dcdd2d94987223ead725483527e08e9: 5fb1ed5f5a35e845232517268bf48c5384c29f290dd198d1d6f802756a73a76d10: 9cc5fac487aa9ec1c73baef673025a398e2ca2721a82dbc4c270eb2473aaf7be11: aa4b429c2497df4f846fe6b3e60223989226aaf0ba6013dc6f90c17afe986d9d- root_
hash c97f540ea605dcd0a8a4165044c60093cb885a8303800b87d215a424a4d5258d
The earliest published head that covers this entry
- tree_
size - 2031
- signed at
- 21 Sept 2026, 05:32 UTC
- key_
id 042b55492fabadcb8ffb9fe4e9b6a3e8- root_
hash d7dff8ca0510692bba88562f7c5f129ee1e03c0fcff159a2d25cd0840ce2ecb1- signature
9Umj6vHgIBaNgF7jwBQM6ESv34AmXWWEcf309hSjTOzBMxvg5CfN63zw/AUGDCy3iJVWeSOv+291e5B646/1AQ==
sourceGET /api/transparency/proof/inclusion· leaf_hash, audit_path, root_hash· audit-path nodes: 12