Verify it yourself

Proof

Two independent guarantees: every call is committed on-chain before its outcome exists, and the whole graded record is rooted daily so grades can't be quietly edited afterwards. Neither requires trusting this site.

1 · Verify a single call

Every prediction row on the scoreboard links (⛓) to a Solana memo transaction from Workshop's proof wallet:

399dibFLexVFhqq1nJUW5pbkZTRBg9zfScEQfh3HX36Q

The memo is workshop:pred:<id>:<sha256>, where the hash commits the exact call text and creation time:

sha256( prediction_text + "|" + created_at + "|" + prediction_id )
  1. Open any call's /claim/<id> page and its explorer link.
  2. Recompute the hash from the shown text/timestamp/id; compare to the memo.
  3. Check the transaction's block time is earlier than the call's resolution.

2 · Verify the whole record

Once a day the entire public record — every call with its grade, including annulled ones — is serialized canonically, hashed, and the root committed on-chain as workshop:root:v2:<day>:<rows>:<sha256>:<prev12>, where prev12 chains each day to the previous root. The exact bytes each root hashed are stored and served back at /record.json?day=YYYY-MM-DD (kept ~90 days; the roots themselves are permanent on-chain), so verification compares three independent copies — the served snapshot, the published root, and the chain memo:

DAY=2026-07-05
curl -s "https://workshopmind.com/record.json?day=$DAY" | python3 -c "
import json,sys,hashlib
d = json.load(sys.stdin)
h = hashlib.sha256(d['canonical'].encode()).hexdigest()
print('recomputed :', h)
print('published  :', d['root'], '(match:', h == d['root'], ')')
print('now compare against the memo in the Solana tx below for', d['day'])
print('tx:', d['tx_signature'])"

The memo on-chain is the copy this site cannot edit. If any historical grade were changed, that day's stored snapshot would no longer hash to its on-chain root — and the prev12 chain means a rewritten day breaks every memo after it. Bare /record.json serves the LIVE record (it matches the next root at publish time, not past memos).

DayRootRowsSnapshotSolana tx
2026-09-228958cd6c1efb655bd7cef3aac82bc0e86bd880a1372ef1670e484ce04b0e0f9a
prev 8958cd6c1efb
7960bytesPBCP1WsTP4Mej7vBVU…
2026-09-218958cd6c1efb655bd7cef3aac82bc0e86bd880a1372ef1670e484ce04b0e0f9a
prev d7245e666890
7960bytes3ULLMvuvMaA8XrakSz…
2026-09-20d7245e66689051a806389a3380d7ab66a224191eb000d116551b7aa0b62563e4
prev 60e14b03415e
7959bytes3S9sGoHUk9UKGHhjh2…
2026-09-1960e14b03415e5bf6f61c2137c0c96dd5419c375698f5b72ca581ea1422d9b256
prev 60e14b03415e
7958bytes2URu4RTGDuVxbL4AhB…
2026-09-1860e14b03415e5bf6f61c2137c0c96dd5419c375698f5b72ca581ea1422d9b256
prev c92ccefab3a3
7958bytes3g4RFwuXXv9LeJRFzC…
2026-09-17c92ccefab3a3e0565b0c3368443f5685079b5dc9383d73357729917027fb8aa8
prev 0a3b84725dfd
7957bytesVSN696ioejh8AGeceG…
2026-09-160a3b84725dfde04c15e19ec6918fecde27331cb0c1653a1170b63d75ba7eca14
prev 06e511ffa747
7956bytes2uxQykzMrKsHzGkzty…
2026-09-1506e511ffa7476be1975bfb54776c0f5415ec28cffffa5b91d6d8035c4362681f
prev 036cbe9e36bc
7956bytes3QyfnjzXHAYyXs2h9u…
2026-09-14036cbe9e36bcfb6608d7ab15afece7be624e562d3cb0d09347b4a922dc352238
prev d19dc8eb5810
7956bytes2VWCKoLpJRNr5smpiQ…
2026-09-13d19dc8eb5810ec16e327d495f7505c8eab5463d66c7944718a69cb50d4b71692
prev 88be35d13b02
7955bytes41xKysCTzJgTvZez8H…
2026-09-1288be35d13b026c798e58994f75a602cdd1b9fc45e2e1843fcf28b90f34dcb0b9
prev 2729842b0970
7955bytes3t1MLMM34iZym2whbQ…
2026-09-112729842b0970d49a43b2a30ffd4bffdf3c6d5e9718a2bcd7d13bac95f032ef68
prev c068febc031a
7955bytes4fyey4xM63MMXooMXS…
2026-09-10c068febc031ab412f04d8cea4b0557cf5dd05f21198faef83cb2a8f0402bde97
prev c5aa056052b9
7945bytes4G9Rn3CYvc6RDJGqR5…
2026-09-09c5aa056052b9530c80b6e6f4ac1d9c41d060a19e43ecca575908bb2ea0e426f6
prev a2b680a23a84
7929bytes5XZvmdXXmqGHz1MJoG…
2026-09-08a2b680a23a84bdd25ee6364bfbc8a322b9a43250033ebfb971475bfc10f8963a
prev bdcb8635ba7f
7907byteshvaWZeCTyqcS5HEA81…
2026-09-07bdcb8635ba7fa37cb279414f8f39bc4505357ca88ad7061135b5deac83a48ae0
prev d32763e0500c
7904bytes3KLnGqaFmyuGfw7w6z…
2026-09-06d32763e0500cc02c26f3dbe8834f6b377c7464da3d6d4309a97b887ad4613c6a
prev a253a431bd50
7899bytes38SyAWqZdL2VuGNZsb…
2026-09-05a253a431bd502c407ff77e57a6bac89fae4bdd2c85ab3f7a89522da1e37fb333
prev fa771f1f77db
7884bytes3ocNGmvRMyNYJR8Z4c…
2026-09-04fa771f1f77db845aadc5525052dd2affec04c68cde0b817c2b4b428ba4db9afb
prev 1b7773bfa275
7859bytes3siY3P4kAX4qZmAH9y…
2026-09-031b7773bfa2756babbce9272b19e5f6689bf825b148063e9a7db0af7046ba60e7
prev 7ee6eb51725e
7818bytes464zmf3EehKRNWHLTN…
2026-09-027ee6eb51725efb1a5c7b33929d273eb5386dac1d377e88691703e31955e3e330
prev 9cc295f40099
7788bytes2QDSWPxgp42pf4Ny7U…
2026-09-019cc295f4009905041a51317957d0500f046b540e2cdc09c3fa079a76f38d257e
prev 8c88a90e743c
7765bytesXxoZg1CCUmbupfW6Mw…
2026-08-318c88a90e743c87f991ec1658c9f099a155f6a15e30c7a934fb29ecdc066b72f3
prev bd1b8718449a
7737bytes4Gjp1yrJR4CHL59Whf…
2026-08-30bd1b8718449a81e02faf3a0e9294aa0d112d4d7d3e6a635ec38c5924982ec61a
prev a821171458a1
7721bytes2LUTbqhq4MGrvp5tmN…
2026-08-29a821171458a1f33a3ac251f3759c6e8de49bbc7ec98800c04c7ba9182566bfd7
prev 38929e919420
7706bytesS1QjaY3F7Ff4611xT2…
2026-08-2838929e91942069edd2fbca503a2a2d4a887f9f4af924ba6a5a6333da7375378f
prev 6954b9749861
7681bytes4akffu2zB2X6VPXX5j…
2026-08-276954b9749861d4febb01f17a7bde5cf571fe4bad0a4e6661497c296514e39869
prev 963a2e820ebb
7655bytes3n9NjWnv61qtzP1CRW…
2026-08-26963a2e820ebbe7aec74ccd2b57fdee1b3d7312b1956f60f8be50494d2bc1d403
prev e12d46effaf2
7626bytes3VpNzniJiXN9LLxS2q…
2026-08-25e12d46effaf27114aa6b076236677bcf69a408934617a6f3dd561cce1aa9d0f8
prev 14ca8db6c741
7609bytes4wGYTT9tswsQkRbC2N…
2026-08-2414ca8db6c7417b0e62e023e490bcd4e3a48aabf7b62145fdb1b986c0ccbca5cf
prev ab5a0b72367b
7582bytes5cQx94D1w7czWdGFjP…

Record changelog

Every restatement of the record, on the record. Disclosure is mechanical: each daily publish diffs the record against the previous day's frozen snapshot, and any change to an already-committed row that wasn't registered by a sanctioned repair is disclosed automatically — machine-readable manifest at /restatements.json.

A restated record with a paper trail beats a flattering one without. That's the product.