Provably fair Dice on Kaspa
KaspaForge Dice combines two committed seeds into one verifiable 16-bit roll. Your Desk wallet signs locally, Kaspa L1 covenants constrain the money, and the interface shows a result only after it can verify the settlement evidence.
Current rooms, chances and fees
| Gross payout | Win threshold | Displayed chance | Winner service fee |
|---|---|---|---|
| 2× | 32,112 / 65,536 | 48.9990% | 0.90% of gross payout |
| 5× | 12,845 / 65,536 | 19.5999% | 0.90% of gross payout |
| 10× | 6,422 / 65,536 | 9.7992% | 0.90% of gross payout |
Each mode is published at 5, 10 and 15 KAS. A winning 5 KAS bet therefore returns 9.91 KAS at 2×, 24.775 KAS at 5× or 49.55 KAS at 10× after the 0.90% winner service fee. The combined probability and fee produce an effective house edge of about 2.88–2.89%, depending on the threshold. Network fees are separate, dynamic and shown by Desk before signing.
One roll in four on-chain stages
- Room. The house funds a single-use Room UTXO with the stake-specific reserve, rules and house seed commitment.
- JOIN. Your browser selects wallet inputs, creates fresh randomness, verifies the exact room and signs locally. JOIN fixes your commitment and creates the first Game state.
- PLAYER_REVEAL. Desk signs the reveal that matches your earlier commitment. The UI keeps the roll hidden until Kaspa L1 evidence shows the reveal state.
- Settlement. The house reveals its precommitted seed. Both seeds plus the game identity derive the 16-bit roll; the covenant pays the exact branch, and Desk verifies the receipt before animation.
What you can verify
The result drawer and All settled rolls expose the game ID, commitments, both revealed seeds, threshold, outcome, Room/JOIN/reveal/settlement transaction IDs and exact returned amount. Selecting VERIFY reconstructs the result from the archived evidence instead of trusting a cached label.
- The house seed matches the commitment funded in the Room.
- Your seed matches the commitment fixed by JOIN.
- The deterministic roll matches both seeds and the game ID.
- The win/loss agrees with the published threshold.
- The returned KAS and service output match the selected covenant mode.
The honest beta boundary
Settled rolls are independently verifiable; relay availability is operator-trusted. KaspaForge runs the house and the current reveal relay through its own Kaspa nodes. The public beta does not claim protection against the operator withholding settlement. If PLAYER_REVEAL does not win the L1 race, the timeout branch returns the exact player stake and no random result is shown. This is an availability limitation, not permission to alter a settled roll.
Before you play
- Keep enough available Desk balance for the selected stake plus wallet preparation and network fees.
- Read the exact return and fee on the confirmation screen.
- Do not close the tab while JOIN or PLAYER_REVEAL is being signed or observed.
- After settlement, open Verify roll or the shared history and inspect the linked transactions.
