GALABET FAIR / A measured roll
Dice.
Choose a target. Roll a number between 0.00 and 100.00. Follow it back through the fraction, the bytes and the original inputs.
Interactive public-seed demonstration

Public inputs. Real calculations.
Each new example advances the nonce and runs @galabet/fair in your browser. Results are reproducible, and the seed is visible to everyone.
Inspect this Dice result · nonce 42
THIS EXAMPLE / NONCE 42
Keep the inputs.
Check the result.
This demonstration uses a public server seed. Its record checks the calculation; it does not establish when a live service published a commitment.
- Client seed
- galabet
- Fractions consumed
- 1
- Highest cursor
- 0
- Server seed commitment
- ab37723062965715c5e6eeb54816f909a8e787bd3bfaee67a3cc0a3b90707de7
Revealed inputs and complete JSON
{
"spec": "GFS/1.0",
"profile": "single-player",
"game": "dice",
"params": {},
"serverSeed": "5c1f7d3e8a2b4c6d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d",
"clientSeed": "galabet",
"nonce": 42,
"commitment": "ab37723062965715c5e6eeb54816f909a8e787bd3bfaee67a3cc0a3b90707de7",
"cursor": 0,
"result": 56.12,
"at": 0
}FROM FOUR BYTES TO TWO DECIMALS
Where did
56.12 come from?
A screenshot preserves the roll. A completed record preserves the inputs needed to reproduce it. Both support and engineering can check the same calculation.
143/256 + 168/256² + 234/256³ + 224/256⁴
floor(f × 10001) / 10056.12The target is a separate comparison.
“Over 50” requires a roll greater than 50.00. Exactly 50.00 does not meet that condition. Moving the target after a public example changes the comparison; it does not rewrite the recorded roll.
Dice displays values in hundredths from 0.00 through 100.00. Stakes, win conditions and payout rules belong to the application using the mapper.
THE BOUNDARY IN THE RULE
What happens
at exactly 50?
One hundredth is enough to change a strict comparison. The roll, target and direction belong together in the result you show a player—and in the record a support team reads later.
Keep the original selection after the controls move. A receipt for “over 50” must not be relabelled “over 75” because someone changed the next bet. The fairness record reproduces the roll; the settlement fields explain the balance.
REFERENCE EXAMPLE / NONCE 42
Reproduce a support record in Node.js
import { play } from '@galabet/fair';
// Public example inputs. Never publish an active server seed.
const seeds = {
"serverSeed": "5c1f7d3e8a2b4c6d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d",
"clientSeed": "galabet",
"nonce": 42
};
const { result, floats } = await play({ game: 'dice', ...seeds });
console.log({ fraction: floats[0], roll: result });fraction 0.5611712262034416 roll 56.12
This snippet calculates a public example. In a real service, the active server seed stays on the server until it is safe to reveal.
OPTIONAL / SERVER SESSION
Try the chip demo.
The connected demo commits to a private server seed and maintains a virtual chip balance. Reveal a completed seed to check its rounds. It requires the Galabet demo API.
