Check any fight yourself
Before a fight the server publishes a hash of a secret seed. Your page adds its own seed. The fight's seed is the hash of both, so neither side can pick it after the fact. When the fight ends the secret is revealed, and anyone can re-hash it.
- CommitThe server picks a secret
serverSeedand publishescommit = sha256(serverSeed)before the fight is simulated. - Your seedYour page sends a random
clientSeedwith the fight request. - The fightThe fight runs on
seed = sha256(serverSeed + clientSeed)with fixed 120 Hz physics. The same seed and builds give the same fight, bit for bit. - RevealWhen the playback ends,
serverSeedis published with the recording's hash. The bounty is only paid after these checks pass.