Solanaments verify the deal

Every deck, checkable by anyone

Before each hand is dealt the server publishes SHA256(secret) on Solana, then a MagicBlock VRF oracle writes verified randomness into the same account. The deck is shuffle(SHA256(domain ‖ randomness ‖ secret)). Neither side can choose it: the server commits before the randomness exists, and the oracle never learns the secret. When the tournament ends every secret is published.

This page does the checking itself. It re-derives each deck in your browser and reads the hand accounts straight from an RPC endpoint you choose below — it does not ask the server whether the server was honest. The rules are in rules.md, “The shuffle”; verify offline instead with server/verify_hand.py.