How To Verify
Every entry comes with its exact bytes, three independent timestamp proofs, and a downloadable evidence archive. Here is how to check them, with or without us.
What is being checked
- Fingerprint. SHA-256 of the entry file. If the file changed by one character, this changes.
- Bitcoin. The OpenTimestamps proof (.ots) is a short recipe that starts from the fingerprint and ends at the merkle root of a specific Bitcoin block. Compute the recipe, look up the block on any explorer, compare the roots. If they match, the fingerprint existed before that block was mined.
- RFC 3161. Two timestamp authorities (freetsa.org and DigiCert) signed the fingerprint with their clocks. openssl checks the signature against each authority's certificate chain.
Check any entry here
Check it yourself, from the command line
Use "Download evidence" on any forecast: one archive with the record, the three proofs, both certificate chains and a README with these commands. Keep it; it verifies without this site.
shasum -a 256 ENTRY.json # compare with the fingerprint shown on the page pip install opentimestamps-client ots verify ENTRY.json.ots # prints the Bitcoin block that attests the fingerprint; ots can check it # against a local Bitcoin node, or look the block up on any explorer openssl ts -verify -data ENTRY.json -in ENTRY.freetsa.tsr -CAfile freetsa-chain.pem openssl ts -verify -data ENTRY.json -in ENTRY.digicert.tsr -CAfile digicert-chain.pem # each prints "Verification: OK"; add -text to see the signed time openssl ts -reply -in ENTRY.freetsa.tsr -text | grep "Time stamp"
Certificate chains: freetsa-chain.pem, digicert-chain.pem. The RFC 3161 tokens embed the signing certificates, so verification keeps working after those certificates expire.
Machine-readable index
index.json lists every entry with its fingerprint and proof status.
What this record proves
- Every forecast has a cryptographic fingerprint of its exact contents. When it is recorded, that fingerprint is independently timestamped by two third-party timestamp authorities and anchored to the Bitcoin blockchain through OpenTimestamps.
- Those proofs establish that the exact forecast record existed no later than the independently verified times shown here. Change even one byte of the record and its fingerprint changes, so verification against the original proofs fails.
- Updates and resolutions are recorded as new timestamped entries. They do not replace the original record.
- You do not have to trust Watchfire AI, or this website, to verify any of this. Download the record and its proof files and check them with standard, publicly available tools.
- In short: this record makes undisclosed alteration independently detectable.
What it does not do
- Timestamping does not make a forecast correct. Hits and misses are both preserved.
- It does not prevent Watchfire AI from removing an entry. Entries are numbered in the order they were recorded, and the number is part of the timestamped record, so a removed entry leaves a visible gap.