Skip to main content
The public verify page showing a round's commitment, revealed seed, the derived shoe and the three green checks.

From the app

1

Open the round

History → the round, or Verify hand straight from a result panel.
2

Read the three values

The round shows its commitment, the revealed server seed, your client seed and the nonce.
3

Check

The page re-derives the shoe in your browser and reports:
All three have to pass. One failing is a failure.

The public page

aceupgame.com/verify is a standalone verifier that needs no login and no account at all. It takes four values — the commitment, the server seed, the client seed and the nonce — all of which the round screen in the app shows you. Paste them in and it re-derives the shoe in your browser and reports whether the hash and the cards match. Because it needs nothing but those four values, you can hand them to anybody. A person with no Ace Up account can check your hand on their own machine, and they do not have to take our page’s word for it either — the algorithm is below. This is also what a group’s /fair command links to.

Verifying it by hand

You do not have to use our page. The algorithm is small enough to reimplement:
1

Check the commitment

If this fails, the revealed seed is not the one that was committed to, and nothing else matters.
2

Rebuild the shoe

Build a fresh six-deck shoe in the canonical order: deck-major, then suit, then rank — 6 × 52 = 312 cards.Then run an unbiased Fisher–Yates shuffle over it, drawing 32-bit values from an HMAC-SHA256 keystream keyed on the server seed and taking the client seed and nonce as its message.“Unbiased” means rejection sampling: a value at or above floor(2³² / max) × max is discarded and redrawn, so no card position is even slightly favoured by the modulo.
3

Compare

Deal from the top of your shoe in the order the round shows, and compare card for card.

If a check fails

Report it through /support with the round number. A failing check is the one bug class that matters most here, and it is treated that way. Before you do, the two things that produce a false alarm:
  • Comparing against a different round’s seed. The nonce has to match.
  • A round that is still live. The server seed is not published until the round settles — that is the whole point of the commitment.

How the commitment works

Commit, deal, reveal — in more detail.