FomoTag
Fair play · FOMOTAG #003

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

  1. 01Seed reveal matches the commitment
  2. 02Match seed re-derived from reveal + round + entrant order
  3. 03Simulation input uses the published entrant order
  4. 04Full match re-simulated
  5. 05Event hash chain + event count match
  6. 06Same winner emerged
  7. 07Signed result payload matches the re-simulation
  8. 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:43:00 UTC
a0f1379960f1489f9c308e1286e8399564a73c5a98e96917e263c179b7bfafc5
Seed reveal
revealed 2026-10-04 15:46:00 UTC
09afda2df63d4f2a3ca0e5f9ad6461d3595fa04b51b23442ee271d2d165057b8
Match seed
sha256(reveal:round:order)
749484a53d81e433049a7495f95c61d756d3b88fe4538c9deb33a4aeb49fc29f
Simulation · map
fomotag-sim-2 · fomo-plaza-1
Event hash
34 events
755cd9fc8147382a0236f4b6b60f1f2d7bc1297ae3ffd62fbbd40b6a2b5b4251
Winner
after 43s · 3 rounds
@shinyloudwhalecf397fc1-6493-45e6-a81e-fb1174adc574
Signed result
ed25519
ec7c051d7685f70b9c6d4586bdedaef103f94bd5a9d2fbcac2ff9c7a03d25d94e9bc974a1a771898f23e032e57baaee074737f59322eb243878e2bb8dd4e6d00
public key bbf4bd989546f2949429fa90795517146789ae843a2554fe31c76590964bafee
Payout
Paid ✓tx 0x304b2b…260f33 · local chain
pre-funded · funding tx 0x8d4619…7183ed
4 entrants · fixed at lock

Participant ordering

Order = qualification time, then entry id. Handles are labels only — nothing about an account enters the simulation.
  1. 1@stoevent
  2. 2@shinyloudwhale
  3. 3@hiroro_si
  4. 4@mihaell22
3 assignments · 6 tags

Bag assignments

Every assignment is u32(sha256(matchSeed:bag:round:alive ids)) % alive. Every tag was validated by the server (distance, line of sight, cooldown, immunity).
EventTimeRoundBagHow
20:03.01● → @shinyloudwhaleseeded draw · first
50:09.11@shinyloudwhale → @stoeventtag · 3.43s left
80:10.71@stoevent → @hiroro_sitag · 1.77s left
90:11.41@hiroro_si → @mihaell22tag · 1.10s left
120:16.52● → @stoeventseeded draw · reset
150:22.02@stoevent → @hiroro_sitag · 3.97s left
220:31.53● → @stoeventseeded draw · final two
260:37.33@stoevent → @shinyloudwhaletag · 5.73s left
290:40.93@shinyloudwhale → @stoeventtag · 2.10s left
Don't trust the page

Check it from a terminal

# 1. the reveal hashes to the commitment published before entries opened$ printf %s 09afda2df63d4f2a3ca0e5f9ad6461d3595fa04b51b23442ee271d2d165057b8 | shasum -a 256# 2. the match seed = sha256(reveal:roundId:ordered entry ids)$ printf %s '09afda2df63d4f2a3ca0e5f9ad6461d3595fa04b51b23442ee271d2d165057b8:bc352a32-1fc3-4188-96a1-e357ac934217:43213adb-7852-4de4-9a49-3aa50ce08b0a,cf397fc1-6493-45e6-a81e-fb1174adc574,d45d054a-21c0-4d…' | shasum -a 256
# 3. fetch the full record$ curl -s https://fomotag.fun/api/rounds/3/fairness > round-3.json# 4. re-run the whole match from the repo (same @fomotag/sim code)$ pnpm tsx scripts/verify-match.ts 3 --api https://fomotag.fun

The full ordered id list is in the JSON record (orderedEntrantIds, comma-joined).