Provable picks
Picks you can prove
Every time you save picks, Comped writes down a fingerprint of them and hands you a short code. Post it in the group chat before kickoff. After the games lock, anyone — not just the commissioner, not just us — can check that the picks showing are the ones that code fingerprinted. Here's how it works, and a checker you can run right now.
Have a link and a week? Skip to the checker →
Check a receipt
Paste an entry link (or just the entry id) and the week. Everything below comes straight from Comped’s public receipts endpoint; the hash comparison runs in your browser.
How a receipt works
- 01
Save picks, get a code
Every time you save, Comped lines up your picks for the week in a fixed order, adds a random salt, and takes a SHA-256 fingerprint of the result. The first ten characters of that fingerprint are your receipt code, shaped XXXXX-XXXXX.
- 02
Post it before kickoff
Drop the code in the group chat. The chat's timestamp is the witness — it shows the code existed before the games started, and the code can't be produced without the picks.
- 03
Sealed until each game locks
Nobody can see anyone's picks until each game locks — not the commissioner, not us through any public page. Only the fingerprint is on record, and a fingerprint can't be reversed into picks.
- 04
After kickoff, anyone can check
Once every game you picked has locked, the exact text that was fingerprinted and the salt are disclosed. The math is public: hash them together and you get the code back — this page does it in your browser, or you can run it yourself anywhere.
A real example
Two picks in one week (one with a confidence value), lined up in the fixed order, then the salt:
v1|k7m2p9qx4v|1|0f3c1a2e-5b6d-4c7e-8f90-1a2b3c4d5e6f:2b7e1c9d-3a4f-4b5c-9d6e-7f8091a2b3c4:{};4a1b2c3d-6e7f-4a8b-9c0d-1e2f3a4b5c6d:9e8d7c6b-5a4f-4e3d-8c2b-1a0f9e8d7c6b:{"confidence":2}
|3f9a1c7e5b2d4680a9c3e1f7b5d2c4a6SHA-256 of that text is
9242f35a5fe8ba56cedefa73dd5ee80971327e33b86eb3dc05458e67ecbb04c6
and the receipt code is the first ten characters:
9242F-35A5F
What it does, and doesn’t
- ✓ It proves the picks showing after kickoff are the ones fingerprinted before. A pick changed after the fact — by anyone, us included — reads as a mismatch.
- ✓The receipt log can’t be edited, only appended — enforced in the database, not just by policy. Every save adds a row; nothing updates or deletes one. (The one exception: erasing your entry erases its receipts with it.)
- — It does not prove when you decided. The chat timestamp on the code is the witness for that; the fingerprint only proves the picks match.
- —It can’t stop a commissioner from deleting an entry outright. That isn’t hidden — it’s visible on the roster — but it’s a different problem than editing picks.
- — It covers picks, not squares. A squares board is claims on a grid, and it writes no receipt.
Run a pool where the picks prove themselves.
One link. No accounts. A receipt on every save.
Start a free pool →