I don’t know how I missed this topic!
Anyway, I read about how your provably fair system works, and I’m a bit confused, as I don’t think it’s completely provably fair.
So, your system will generate a random seed from which the winning number will be derived, then you will display the hash of that seed publicly so that players can verify the fairness of the result after the game ends.
Everything seems good, except that you (the casino owner) already know the winning number. So, how can we be sure that you won’t join the game and bet on the winning number (which you already know) and leave no chance for other players to win?
Absolutely, that's a great question — and it's actually a classic problem when it comes to fairness in online gambling systems.
You're totally right that if only the server provides the seed (even if it's hashed beforehand), the operator technically knows the outcome before the game ends. This opens the door to unfair play, like the operator betting on the winning number with inside knowledge.
A commonly suggested solution is to incorporate a client seed — so both the server and the player contribute to the final outcome. But in our case, since each new bet extends the game timer by 5 minutes, even this wouldn’t solve the core issue. Players (or malicious actors) could still potentially manipulate outcomes by strategically timing their seed submissions.
What I've been exploring instead is using a Bitcoin blockhash as the final seed source. That way:
The game would close at a specific Bitcoin block height.
The hash of that block (which is unpredictable) would determine the final outcome.
No one — not even the operator — could predict or manipulate the result ahead of time.
This approach would make the system truly trustless and provably fair, but it does require a significant investment — integrating with Bitcoin nodes, managing timing with block confirmation, and reworking the codebase accordingly. Right now, I’m waiting to grow the userbase a bit more before committing to such a major upgrade.
Stay tuned — it’s definitely on the roadmap!