Verification, in public
Provably fair means you can check the result yourself.
Timba commits to a secret before players join. When the game ends, the Solana program validates the reveal, calculates the winner and pays 99% of the pot.
- Commitment before entry
- Public settlement inputs
- Reproducible winner math
How a Game Is Settled
The result is checked by the Solana program before the pot is released.
Secret committed
The oracle generates a secret. The game address includes its SHA-256 hash, so the secret cannot be changed after the game is created.
Players join
Each wallet joins once. Joins and unjoins update the participant order and the final Solana slot used by the calculation.
Winner checked and paid
The oracle reveals the secret. The program checks it, calculates the winning participant, and sends 99% of the pot to that wallet.
Verify any game
Check the mathematical proof behind any completed game
Winner Calculation
Every participant occupies one position in the game's on-chain participant list. The calculation selects one of those positions.
- 1.
The program checks that the revealed secret matches the hash committed when the game was created.
- 2.
The program hashes that secret together with the game's final Solana slot.
- 3.
It reads a number from the hash. Values that could create uneven odds are discarded.
- 4.
The accepted number is divided by the participant count. The remainder is the winner's position in the list.
hash = SHA-256(secret + final slot)
winner position = accepted number from hash % participant count
Program ID
32Jr4JnXWvqq9GqPQynkooHsszaucUUvZfNLh2hdX2L5
Questions
Can the secret be changed after players join?
No. The game address commits to the secret's SHA-256 hash when the game is created. A different secret will fail the program's check.
Can the oracle submit any winner?
No. The program calculates the winner itself and rejects a winner or index that does not match.