> ## Documentation Index
> Fetch the complete documentation index at: https://aceup.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Your client seed

> The part of the shuffle that is yours to choose.

The shoe is derived from three things: the server's secret seed, **your client
seed**, and the round's nonce.

Your client seed is the part the server does not control.

## Why it exists

The commitment already stops the server changing the shuffle after the deal. The
client seed closes the other gap: it stops the server *choosing* a seed it likes
in advance.

Because your seed goes into the derivation, the server cannot know what shoe any
particular seed will produce for you until you have supplied yours. It has to
commit first and find out at the same time you do.

## Setting it

Your client seed is visible in the app and you can change it. A new one applies
to the rounds after the change, not to rounds already played — those stay
verifiable against the seed they were dealt with.

Rules on what it can be:

* Letters, digits, `-` and `_`.
* Up to 64 characters.
* At least 8 characters — anything shorter, and Ace Up generates a random one
  instead rather than accepting a weak input.

Anything outside that set is stripped before the seed is used, so what you see
stored is exactly what goes into the shuffle.

## Do you need to change it

No. A seed generated for you is already random, and the proof works either way.

Changing it is useful if you want to be able to say you picked the value
yourself — which is a reasonable thing to want, and costs nothing.

> [!NOTE]
>
> Changing your client seed does not change your odds. It changes which cards
> come out, not how often you win. The house edge is a property of the
> [rules](https://aceup.mintlify.site/play/rules.md), not of the seed.

## What the server keeps secret, and for how long

| | Visible to you | Published |
| - | - | - |
| Commitment `SHA-256(serverSeed)` | Before the deal | Before the deal |
| Your client seed | Always | Always |
| Nonce | Always | Always |
| **Server seed** | Never, while the round is live | **After the round settles** |

While a round is running, the server seed is held encrypted, so reading the
database alone does not reveal the order of a live shoe.

> [card] [Verify a round](https://aceup.mintlify.site/fair/verify-a-round.md)
>
> Put all four values together and check a hand.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.