Nobody picks the winner.
The last one left emerges from a deterministic simulation, seeded by commit–reveal, that anyone can re-run byte for byte. Every entrant has the same chance before the match starts.
- 01Commit
When a round is created the server draws a secret 32-byte seed and publishes only its fingerprint:
seedCommit = sha256(seed). It can't be changed later without the fingerprint changing. - 02Lock & reveal
When entries lock, the entrant order is fixed (qualification time, then entry id) and the seed is revealed.
matchSeed = sha256(seed:roundId:orderedIds). - 03Simulate
Everything random — the first Bag holder, every reassignment, spawn points, movement traits — derives from the match seed. Players don't steer; the avatars run on seeded AI and the server validates every tag.
- 04Hash every event
Each tag, elimination and shrink is chained:
h(n+1) = sha256(h(n):event). One different event and the final hash is different. - 05Re-run, then sign
Before anything is published the server re-simulates the whole match. Same hash and same winner, or the match is VOID. The result is signed with ed25519.
- 06You verify
Every round's fair-play page re-runs the entire match in your browser and checks it against the signed result. Or use the CLI.
What can't help you win
- Token holdings
- PnL
- Wallet size
- Profile age
- Followers
- Thesis quality
- Popularity
- Player colour
Your @handle is a label. Only your position in the entrant list and the revealed seed go into the match. Movement traits are seeded and balanced so every entrant's expected chance is equal. Bots never enter official rounds.
Our public key
Every official result is signed with this ed25519 key. A result signed by anything else is not a FomoTag result.
bbf4bd989546f2949429fa90795517146789ae843a2554fe31c76590964bafee# re-run any round from the repo, against the public API$ pnpm tsx scripts/verify-match.ts <round> --api https://fomotag.fun# check a commitment$ printf %s <seed-reveal> | shasum -a 256
If the server fails before a reliable result, the match is void — void rules.