TL;DR:
- Last week, we launched a dice game as a testament that provably secure randomness is achievable on-chain on ICP
- I shared this fun side project on X and in the Loka Mining Discord. The gameplay is simple: buy ticket → roll dice → win prize.
- Surprisingly, in just a few days, we sold over a thousand dice roll tickets and awarded prizes totaling more than 150 ICP, with practically no marketing.
- We have open-sourced the code. You can now play the game at https://icdragon.xyz (find the link there).
Background
A few weeks ago, we noticed a tweet by Jan Camenisch in response to a question from Solana’s co-founder.
It started with a question: “Why don’t blockchains have built-in sys calls / op codes for randomness?” Anatoly replied, “It’s impossible to build without an oracle.”
So, during the weekend before our next sprint for scoping the release of our main project on building a decentralized Bitcoin mining pool on ICP, we built and shipped this dice game.
Gameplay
Our game is a simple “snake eyes” dice game won by rolling double ones (1-1). To add fun, we included a twist: the prize increases each time someone loses.
Each round starts with two prize pools:
- The Grand Prize, starting at 10x the ticket price.
- The Bonus Prize, starting at 2x the ticket price.
As a player, you need to:
- Buy a ticket.
- Roll the dice.
Game rules:
- Rolling snake eyes (both dice showing “1”) wins the Grand Prize.
- Rolling any doubles, except snake eyes and double sixes (2-2, 3-3, 4-4, 5-5), grants an extra dice roll.
- Rolling the first highest number among all participants wins the Bonus Prize. The first double six (6-6) guarantees a win.
The value of both prizes will keep increasing with every roll until someone wins the Grand Prize, after which a new round starts.
Game Mechanic Rationale
The odds of rolling snake eyes are 1 in 36, or about a 2.7% probability per roll. Since any double (except 1-1 and 6-6) grants an extra roll, the odds improve to around 1 in 32, or 3.1%.
For a rational gambler (if such a term exists), it only makes sense to bet when the reward/risk ratio is reasonable — preferably close to or even higher than the inverse of your odds.
However, merely adding a portion of the losing bets to the grand prize over time would incentivize later bettors (due to the higher prize) and disincentivize early ones (since it starts at “only” 10x). Thus, we introduced the Bonus Prize as an additional incentive for early bettors, creating a positive flywheel for each game round.
Reward Token 
We also incentivize players with $EYES token for first-time wallet connections and for each dice roll based on the rolled numbers.
$EYES has no supply cap, but its emission halves every 10 days. It currently has no utility, but if we gain more traction in the upcoming weeks, it could become a building block for a decentralized betting house where the profit are shared to token holders (no promises though!)
Check out the game → https://icdragon.xyz
Even if you don’t want to bet, you can connect your wallet and receive some free tokens. We use web3auth, so a new ICP wallet will be automatically generated in the background using your Google login.