Dust Diceprovably fair dice on Midnight
Backgammontwo players, one pot, powered by Dust Dice

Rules

The game

Standard backgammon for two, fifteen checkers each, from the standard starting position. Move your checkers around the board and into your home board, then bear them off. The first player to bear off all fifteen wins. A single game decides the pot: there is no doubling cube, and a gammon or backgammon pays the same as any other win.

  • Each die moves one checker that many points. Doubles play four times.
  • You may not land on a point your opponent holds with two or more checkers.
  • Landing on a single opposing checker hits it to the bar.
  • A checker on the bar must re-enter before any other checker moves.
  • You may bear off once all fifteen are in your home board. A die larger than your highest point bears off from the highest point.
  • You must play as many dice as you can. If only one of two dice can be played, you must play the larger. If nothing can move, you pass.

What the chain checks

Every checker you move is checked on chain, in order, against the board as it stands: that the checker is there, that the bar enters first, that the landing point is open, that bearing off is allowed. A die you leave unplayed must be unplayable. This site only ever lets you send a legal move.

Two rules are not checked on chain, because deciding them means searching every order the dice could be played in: playing as many dice as possible when a different order would have allowed more, and playing the larger of two dice when only one can be played. The verifier checks both after the game and reports any move that broke them.

The dice

The dice are Yacht's dust dice, two at a time. Before either player sits down the operator commits to a secret seed for the table. Each seat joins with a committed secret of its own, and every roll hashes the seed together with both seats' forced entropy for that ply — values fixed by those secrets and proven on chain, never chosen. Nobody, the operator included, can choose or change a roll, and after the game the seed is published so anyone can replay every one.

The opening is thrown the way it is over a real board: one die for each player, the higher moves first and plays both numbers. A tie is impossible by construction, so it never needs re-throwing.

What it does not promise: the operator holds the seed, so it can work out a roll before you see it. If it colluded with your opponent, the pair would know your next roll while making their own move — one roll ahead, and never the power to change it. The operator must not play at its own tables; Midnight's next ledger is what takes the roll out of its sight altogether.

The practice bot is the one exception, and it is labelled wherever it sits: see Playing the bot below.

Playing the bot. The bot is run by the people who run this site, as a separate program with its own wallet, and it never sees the operator's dice seed. It gets its dice exactly as you do, so it cannot choose or change a roll. One thing is our promise rather than something the chain proves: on this ledger the operator can work out a roll before you see it, and the chain cannot show that the bot never learns a roll early. That is why the bot plays only practice games, where the result moves no money: the contract gives the bot back exactly its own stake, whoever wins.

Stakes, clocks and what happens when someone stops

  • Each player stakes the tier. The winner is paid the pot less a 1% rake, straight from the table contract.
  • You have at least three minutes from the moment the dice are on chain to move. Past that your opponent — or anyone — can claim the game for them, and the operator does so itself a couple of minutes later.
  • You may resign at any time: your opponent wins the pot.
  • Waiting for an opponent, you may leave at any time for a full refund; after fifteen minutes alone the stake is refunded anyway.
  • If the operator stops rolling, anyone can refund both stakes in full, with no rake, once the table's grace has passed. A player who stops moving cannot use this: when the move is yours, the only way out is to move, resign or run out of time.
  • If the operator does not pay a decided game out, anyone can after the grace. The winner is paid either way; only the published seed, and with it the replay, is lost.

Playing the bot. A game against the practice bot costs a fee: the stake its button in the lobby names. The fee pays for the DUST the house spends on your game — the bot's moves and the operator's — and it is never returned: not when you win, not when you lose, not if you leave before the start, and not if the game never starts or stalls. The refunds and the pot described above are an ordinary table's. At a practice table the contract gives the bot back exactly its own stake however the game ends, sends your fee to the house, and pays no winner. A win there is still recorded as a win; it pays nothing.