Riverline

How the shuffle is committed

Every shuffle is committed to before the cards are dealt, and the commitment for the next hand goes out before the current one ends — so the deck cannot be chosen once play has started, and it cannot be chosen in response to what anybody does.

What happens on every hand

  1. Before a card is dealt, the table draws a 32-byte number from the operating system’s random source and publishes the SHA-256 hash of it. That hash is the commitment, and it reaches your table as the hand starts.
  2. Seated players send a fresh contribution of their own for that hand, after the commitment is out. The deck is derived from the table’s number and the players’ contributions together, so no one side picked it alone.
  3. The commitment for the next hand is published before the current hand ends. The table is bound to a number before it knows what it would be shuffling against.
  4. The code that turns those inputs into a deck is the same open code in the server and in the browser bundle, and it is deterministic: the same inputs always give the same deck.

What this does not give you yet

There is no per-hand lookup on Riverline, and this is not a routing problem. Recomputing a finished hand needs the number the deck was shuffled from, and that number would also reveal every card your opponents folded and mucked at that table. Cards you did not show belong to you, so we publish the commitment and stop there.

That means the commitment is a constraint the room operates under, not something you can test for yourself today. We would rather write that sentence than imply a check you cannot make. A scheme that stands behind a deal without disclosing cards that were never shown is with an external cryptographer; when it passes review and ships, this page is where it will live.

In the meantime, hand records — including the commitment and the number behind it — are kept as evidence, and a hand you want looked at can be raised through the Help page with its hand ID.