Verify it yourself.
The winner emerged from a deterministic simulation. Your browser is re-running the entire match from the published seed and comparing every event with the signed result.
Runs in your browser
Verification
- 01Seed reveal matches the commitment
- 02Match seed re-derived from reveal + round + entrant order
- 03Simulation input uses the published entrant order
- 04Full match re-simulated
- 05Event hash chain + event count match
- 06Same winner emerged
- 07Signed result payload matches the re-simulation
- 08Result signature is valid (ed25519)
Ready
Runs entirely in this browser. Nothing is sent to our servers.
try to cheat:
Published record
The proof
Seed commitment
public before 2026-10-04 15:22:00 UTC
c1a5f6ac3841212e89ddb6ae11cc51ec4ffdbe16614eda5dc87e386b1bbdfe05Seed reveal
revealed 2026-10-04 15:37:00 UTC
ba3726411b2b3495bacea97c57403f40a60d0f77da5bc6d6006739b60b7e65ebMatch seed
sha256(reveal:round:order)
498634d644459386fd9c85f6c343d2c599e89c0ea242a1c40630a6c304f2be91Simulation · map
fomotag-sim-2 · fomo-plaza-1Event hash
35 events
a0bebe5063cc04a3cb3c592799821cd99bd329d7f443988f26425cd8ad80699dWinner
after 43s · 3 rounds
@stoevent
42eeb98a-f71e-4578-bfca-83e5f9a94a57Signed result
ed25519
ccd172c18edac32e08d5278b378ccbe07ee32bd86a2576590f35d81e1de312f5bac81e8d34616cdb292fa8a2f03c9bfd5176f3287c4d0cc98c58d28e6da5d002public key
bbf4bd989546f2949429fa90795517146789ae843a2554fe31c76590964bafeePayout
Paid ✓tx 0xa3640a…73bbcf · local chain
pre-funded · funding tx 0xaf9a42…02adb2
4 entrants · fixed at lock
Participant ordering
- 1@hiroro_si
acf383e9 - 2@stoevent
42eeb98a - 3@mihaell22
91b8bfad - 4@shinyloudwhale
9f02c791
3 assignments · 7 tags
Bag assignments
u32(sha256(matchSeed:bag:round:alive ids)) % alive. Every tag was validated by the server (distance, line of sight, cooldown, immunity).| Event | Time | Round | Bag | How |
|---|---|---|---|---|
| 2 | 0:03.0 | 1 | ● → @stoevent | seeded draw · first |
| 5 | 0:08.5 | 1 | @stoevent → @shinyloudwhale | tag · 4.00s left |
| 8 | 0:10.6 | 1 | @shinyloudwhale → @mihaell22 | tag · 1.93s left |
| 10 | 0:12.3 | 1 | @mihaell22 → @hiroro_si | tag · 0.23s left |
| 12 | 0:16.5 | 2 | ● → @stoevent | seeded draw · reset |
| 14 | 0:20.8 | 2 | @stoevent → @shinyloudwhale | tag · 5.20s left |
| 17 | 0:24.0 | 2 | @shinyloudwhale → @mihaell22 | tag · 2.00s left |
| 23 | 0:31.5 | 3 | ● → @shinyloudwhale | seeded draw · final two |
| 28 | 0:38.4 | 3 | @shinyloudwhale → @stoevent | tag · 4.57s left |
| 31 | 0:41.8 | 3 | @stoevent → @shinyloudwhale | tag · 1.20s left |
Don't trust the page
Check it from a terminal
# 1. the reveal hashes to the commitment published before entries opened$ printf %s ba3726411b2b3495bacea97c57403f40a60d0f77da5bc6d6006739b60b7e65eb | shasum -a 256# 2. the match seed = sha256(reveal:roundId:ordered entry ids)$ printf %s 'ba3726411b2b3495bacea97c57403f40a60d0f77da5bc6d6006739b60b7e65eb:9f1b00ff-24b5-4610-91b1-50c22d7bb145:acf383e9-22ce-4f31-826f-ef4d3bd85d1e,42eeb98a-f71e-4578-bfca-83e5f9a94a57,91b8bfad-5b4e-4c…' | shasum -a 256
# 3. fetch the full record$ curl -s https://fomotag.fun/api/rounds/2/fairness > round-2.json# 4. re-run the whole match from the repo (same @fomotag/sim code)$ pnpm tsx scripts/verify-match.ts 2 --api https://fomotag.fun
The full ordered id list is in the JSON record (orderedEntrantIds, comma-joined).