No-limit hold'em, no dealer
Every table is a contract holding the buy-ins. The deck is shuffled by the players themselves — each one encrypts and permutes it in turn, so reading any card needs everyone's key. The relay carries wallet-signed ciphertext and public actions, but it never receives a shuffle key or live hole card.
You set the buy-in range, not a fixed amount — players bring what they want inside it and can stand up with their stack whenever a hand isn't live.
The action timer is also the hostage clock: if someone vanishes mid-hand, anyone can reopen the table after 20 minutes and every stack comes back untouched.
Runs the actual protocol: key generation, a collaborative encrypted shuffle, private deals, a public board, and side-pot settlement — all client-side, nothing sent anywhere.
Players collaboratively encrypt and shuffle. A single honest shuffler makes the order unknowable to everyone else.
Bets and folds are signed messages exchanged between players. A cooperative hand settles in one transaction.
A stalled cooperative hand can be abandoned after the timeout. That reopens the table with the original stacks; it does not enforce an unsigned win.
The engine — shuffle, deal, betting rounds, showdown, and side-pot settlement — is built and covered by 378 tests, and the contracts by 135, including a suite that plays real hands off chain and settles each one on a live deployment to prove the two agree to the micro-cent. None of that is an audit. Treat the contracts as unaudited and play with amounts you would shrug at.