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-10-29
20 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) |
|---|---|
| #33 | 9928361f7c2646312a263f29afe9cdd0ffd609783c112a65860fa5cc526a842b |
| #34 | cb5089e43b6c2dc71c8f82ff34de4eae5321ca85bbd147032dc0ad43ea635960 |
| #35 | f6dd7db4e7ee5eae7a8c01bcf8af4521ebfb9000aa1d55fa59682c0f395de4fb |
| #36 | fae908dc5be09455ef63f72433ea8860e341f599ceb21f98568062537f5d81fb |
| #37 | 2b5fd5f61d993b7c139836922c5dbeedff8d432779c3a6f6af57a219ccdebd83 |
| #38 | 3421463dd59fb1e31bff3d383036cad48ef32a3648a4d3237fa83b4d66bed0b7 |
| #39 | 1a4deb04963ef7583041ed908c7ae9eae91cfd8c36bd481f0c1fdaf62968e241 |
| #40 | 739f1f9803cb41090aab7fd7d47f1671a9d4537b3e584c3469c65b503b74738d |
| #41 | bb03228866bd90b79a421460a88ded364affbb5e3734469cc814da166d074c38 |
| #42 | ae1e3073a1dbc0a6e84ecf1101a13223684ce8b057ac2594c683dcdcbfd93d75 |
| #43 | 72af9584b2796f715bf3f8b6cb2e5edf9f50ee4855afc4ae1d85d31ff8daa36d |
| #44 | dbbead2cd7002aec3243ef146f0b492797b10e6a5178bd21c8d0063929784967 |
| #45 | effe6ff1d8c61e8eae1a39bf128767dbcb566faeab2dfc909dec3e3509b1685a |
| #46 | 3999c89e46ec0fe6f8edd6e61e1ee1a34e82bbe48e34be1173056753ce7f569c |
| #47 | 974b40538ecf0221480664914755430c8bbdd12963064d2652b01a3a37e80fbc |
| #48 | f13ce41e9a3412667c96310882b4a650363d3af1f59e348131f673b746e943b9 |
| #49 | c988c1f1e7e44514aa2f232fbac1d57d436c682f9da012f8cebe26756212bae2 |
| #50 | 7d0bfd4abd3e21c4c2470d8266ebe1d7170885b4c21a6b26eeb5f8bd7f03a72f |
| #51 | 0bdcf4b1b28284b9ad89d4a6ba090e2c0540144e3bb0fea061a1a7b7d546ca90 |
| #52 | 2332052dea4abee375ba7a8fb76f1966cb416488bc5f22e9b5f738421262e141 |
Anchors by day
| Day (UTC) | Matches | Day digest | Chain | |
|---|---|---|---|---|
| 2026-11-02 | 26 | d14387a6a1aea31630c701b1790df893478069012c4192685dc0f35d59eb3445 | 80b3c9318b1983d94ca90b35a5c631fa618af6ba6809ff972dc408fc8d860afb | 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.