Provably fair · Onchain
TRULY TRUSTLESS.
Every outcome is committed before it resolves, settled onchain, and open for anyone to verify.
Chicken Run Fairness
Onchain Hash Chain + Block Entropy
Chicken Run picks a terminal seed once, hashes it thousands of times, and publishes the final hash onchain as the chain head. Every round then reveals one link backwards. Hash the seed from any round forward and you land on a head that was onchain before that round existed — so the seed could not have been picked for it.
A chain alone is not enough for a crash game, because whoever holds it knows every future seed. So the seed decides nothing by itself: it is combined with the hash of a Solana block from a slot that has not been produced when you place your bet.
- 01Publish. The chain head goes onchain before any round using it has run.
- 02Close. Betting ends, and a slot that has not been produced yet is named as the round's entropy.
- 03Wait. The round starts only once that block exists. Its hash is the input nobody could choose.
- 04Reveal. The seed is published when the round ends. Hash it forward to the head, then combine it with the block hash.
sha256(serverSeed) x stepsFromHead == chainHead material = sha256(serverSeed || entropyBlockHash) u = material[0..13 hex] as u52 / 2^52 crash = min(32, max(1, 0.93 / (1 - u)))
