Provably fair
Public fairness log
Every match publishes a SHA-256 commitment to its server seed before play begins. This page rolls all commitments of a day into a single digest and chains those digests together — a compact value you can publish anywhere and anyone can recompute.
- Daily commitment digest
- Chained, append-only
- Recomputable from public data
- Tamper-evident
Current anchor head
2026-11-02Post this value to a public place the operator cannot rewrite afterwards — a social post, a public gist, or a Monero transaction. Once it is out, every commitment behind it is locked in: changing any past commitment changes this value.
Day 2026-11-02
29 commitmentsRecompute the digest for this day with the formula below, then compare it to the value shown in the table. The order is by match id, ascending.
| Match | Commitment (sha256 of server seed) |
|---|---|
| #126 | 3bd580b96d0c9f9ee4b33774a6d61e777e855ab7f0490de43f198bb9530e8576 |
| #127 | 69dde3a5cc2e7cbdc18d3d034751d921ce6959b91c3bd2de742b6714bb52ff7e |
| #128 | 171aeea46af8ca99357cf4c7ab99abefba0cffca6c639b1e356bb8f89801630f |
| #129 | e2ad4034574eb92bfea5b9b80817fd76566a8ec14e6761aff13e9049dc865a06 |
| #130 | 9eb5c68a595891fdfbb6e930ff3ac54db710de44692ccf44773a13c660e323bc |
| #131 | fc5a75d1049d756ef9777233037961d6dfc7ae682fc79e8e9d3e14d6cabf92d9 |
| #132 | 1e996f98f2f162dea7864d5b8b2249caeecf39ed820b172182a873a304006062 |
| #133 | f22395bd4db54e318049f3905a834bbf52a59c4ab3cb6e9cd9e3f6f55a2e04ca |
| #134 | a7599c6b4d397360aaae87e686614e919714de9c9cfd679c2210c3e68ba1f41e |
| #135 | 533afad3ec157dc5b0a72a9a09688fa366a271ef4fbb01f59604c1e468075d1e |
| #136 | 55ecb6c48c2735eba0d242c2bca13485d2a57f2ec1a8be02a45ec2c37b841d8c |
| #137 | 5e35d2430a085aa25ee10da8644fed65b7b89374a1278d8ffb600ce52c7f759d |
| #138 | b0abba35c2c498f977116bededafeaedb8ec3d36d78ce1e826e4ac5f938ee4f4 |
| #139 | 46245d1a57289b1a3fe10213e74466db613c66ba91593d976ce60b931426a413 |
| #140 | dc5f93d732ba50276023764c5a978f2c089c634b562671d42682a72f578774e4 |
| #141 | cfbe8d8c139a804af706b3aaa88c22b312dd608e670007f9c796dbb359a6df39 |
| #142 | a37bd5d3418a298657ba7d294623b4107c35b72e4db960e1da06e153e28c9fd2 |
| #143 | cf00dbbc4f062e501902b3dda31fca531793c84dd221db016636412a010d8ebb |
| #144 | 8dbaf28de1c78960377be28eb3c18d9471f61529cf10e78e61d52464a1cdb0f8 |
| #145 | d98d14d2355167b32ecd6a3a730ee55b47fa0e1acfc3c20e12739384b30a0825 |
| #146 | 3b94bf9587be91cd1b108541b0249dc6d4b7bc196d8808aac4805f65059c03af |
| #147 | 5bb0fc2ae3bcfc2ffe684966b30bc12145287f1821a7373f9f76f48d9b673614 |
| #148 | fd6c91d3d1678b5fc21cdea336f600fbf357a1abf2c4ee339edb1d01d8b68377 |
| #149 | 0016b1d957814b617b34cca76fdd843338629f4e288d70ae03b359d4aa3895bc |
| #150 | 8464582ca9b08397d9854e558b39c4aeea7217a7b2dc7c6f5bd1881814b56827 |
| #151 | 24daf77a24d57721f6619fcc0549da82494465efe2c46621c8274d41292eae3f |
| #152 | 8700f83ea10f152ee86bbc1a558289068e86208c8295ead4a9d90c8e2894412d |
| #153 | e75c55cb9af6d5a431ffbc762ca3964417f3a99f9831c2d6aae2906000546350 |
| #154 | b190a5ff5baad241357b0e1af7ed2fef7748ed87e67cce10449874fabe3a0ec6 |
Anchors by day
| Day (UTC) | Matches | Day digest | Chain | |
|---|---|---|---|---|
| 2026-11-02 | 29 | 7a32c77ecefa24d76f5c663ef0e04465632aa28ff7b9a4f0671033e9b022719a | 851ee031b0da7b70d7eea82f4adb21421a85c3f10661f99fdff07658a75735fe | Detail |
| 2026-11-01 | 4 | 498777f05bea366087fae387df9ce515002190fda9434f971fc6c5418adc5b17 | d2725d11d601344a537424c2d46d6ee030e3d78549c43c6e2bea567117fb808d | Detail |
| 2026-10-31 | 48 | 55e903d069fc8319cc406ab11b79c7f793aa7028d32e7a6fc44c4bea203ce280 | 83b66ac68bdd0f6f97a9c60b0694a7c2173b4b640301592fe698b733eaad3835 | Detail |
| 2026-10-30 | 21 | 1737ffa62f65525ba4161bcc770fa7321f002b5075c908728ee320c7e4c08651 | 9f4d97ca2b371223b102c9822c1b29275ab595ff3c52f6e07c6422e320ef6173 | Detail |
| 2026-10-29 | 20 | cec95533b8e288094c86509b0c3d95b613859adaa9b4dee8810cc0a8b12d9451 | cacc49d4ad218027736b02a97d490d3723fcd4c903a3089542f8139b8c509708 | Detail |
| 2026-10-28 | 1 | a7fcd537e3aa31162782cd6a70c0f3ae8e75b976e7fec91cc3bf73433ef4aa26 | 7f62ae494a7404fc81bc5fb9ee37ab435000c00a1e5d1e90cfa3d23124b861d3 | Detail |
| 2026-10-27 | 6 | 45d494170e9affd2b4ca9c0e22589e652afb50e99131b7d7a84f26ebef694004 | 842c6c2bee661dff7a04db7cce58da2a8bd1c328b01f030b91dfd1232b619881 | Detail |
How to verify
| Value | Formula |
|---|---|
| day_digest | sha256( "pvpfair-anchor-v1|" + day + "|" + join("\n", id + ":" + commitment) ) |
| chain | sha256( prev_chain + "|" + day + "|" + day_digest ) |
| genesis | "genesis" for the first day |
What this proves. A match's commitment (sha256(server seed)) is fixed the moment the invite is created and is public from then on. The day digest bundles every commitment of that day; the chain links the days together. If someone altered a past commitment, that day's digest and every chain value after it would change — and would no longer match any value published earlier.
Why publish it. The chain lives in our database, so on its own it is only a convenient record. Its strength comes from publishing the head to a place we cannot rewrite. Everything after the first published head is then pinned in place. Each anchor value only needs to be posted once.
Per-match proof. For a full rundown of a single match — the published seed, the client seeds and the round-by-round hash chain — open the provably fair verifier and enter the match code.