Live on Midnight Mainnet — play instantly in your browser. Every round is settled by a zero-knowledge proof on-chain. No wallet needed. No real money. No wagers.

Game modes

The launch edition ships three modes. They differ in hand size and in the score target that also wins the match.

ModeHand sizeCards per playWin conditionFeel
Casual5 cards1 to 4Empty your hand — or first to 10 pointsQuick, forgiving, good for learning
Standard7 cards1 to 4Empty your hand — or first to 15 pointsThe default table
Casino7 cards1 to 4Empty your hand — or first to 20 pointsLonger match, more swings

Setup

  1. Both players commit a secret random value (entropy) and a secret hand salt. Commitments are published; the values are not.
  2. Both entropies are revealed and combined into a shared seed. Because each side committed before seeing the other's value, neither can bias the seed. Only a commitment to the seed is published.
  3. Both hands are dealt inside the zero-knowledge proof from one shared 52-card deck, keyed by both players' secrets plus the shared seed. A card dealt to you provably cannot also be in your opponent's hand — and no rank can appear more than four times across the table, just like a physical deck.
  4. A starting required rank is set. Player one goes first. The pile starts empty and both scores start at zero.

Card ranks

Standard ranks, low to high: 2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King, Ace. Suits are decorative and do not affect play. Only rank matters.

Your turn

Play cards and make a claim

  • Choose 1 to 4 cards from your hand and play them face down onto the pile.
  • Declare a claim of the form count + rank, for example "Two Kings".
  • The claimed rank must be the current required rank, and the count must match the number of cards you placed.
  • The cards themselves can be anything. Whether they really are Kings is your secret. Bluffing is legal and expected.

Your play is accompanied by a proof that every card you placed was genuinely in your dealt hand. That proof says nothing about which cards they are.

Respond to your opponent's claim

When your opponent has just played, you must choose one of two responses:

  • Accept — the cards stay face down on the pile, the required rank advances by one, and it becomes your turn to play.
  • Challenge ("Proof or Bluff!") — demand proof. See below.

Rank progression

Every accepted play and every resolved challenge advances the required rank by one:

2 → 3 → 4 → 5 → 6 → 7 → 8 → 9 → 10 → Jack → Queen → King → Ace → 2 → …

With a small hand and thirteen ranks in rotation, you will be forced to bluff on many turns. That pressure is the engine of the game.

Challenge resolution

When a challenge is called, the player who made the claim must respond with a zero-knowledge proof. The contract compares the hidden cards with the public claim and discloses exactly one fact:

  • Claim was true — every played card matched the declared rank. The challenger loses the challenge.
  • Claim was false — at least one card did not match. The bluffer loses the challenge.

Then, regardless of outcome:

  1. The entire pile is discarded. Nobody picks it up; those cards are out of play.
  2. Points are awarded (see Scoring).
  3. The required rank advances by one and the challenger takes the next turn.

Why nobody picks up the pile. In the classic game the loser scoops up the pile. In the provably fair edition the pile's contents are private, so handing them to a player cannot be proven. Discarding the pile and settling with points keeps every card a player holds provably legitimate.

A challenged player who never produces a proof is treated as caught bluffing once the timeout window passes. A player who abandons an idle turn for the timeout period forfeits the match.

Emptying your hand — going out

Playing your last card is how you win — but the final claim must still survive scrutiny:

  • Your last play is accepted — you win the match.
  • Your last play is challenged and your claim was true — you still win; the challenger simply called it wrong.
  • Your last play is challenged and your claim was a bluff — caught at the door. No win: the challenger still scores +3, the round ends, and both players re-deal and play on.

If neither player empties a hand, the match can still be decided by points (below). Six completed rounds with no winner is a draw.

Scoring

EventPoints
Successful challenge — you catch a bluff+3 to the challenger
Failed challenge — you challenge a truthful claim−1 to the challenger (scores never go below 0)
Challenged player never proves (timeout)+3 to the challenger
Accepted play, truthful or bluff0

A player also wins the match the moment their score reaches the mode's target (10, 15, or 20) — so a caught-at-the-door challenge can itself end the game in the challenger's favor. Accepted plays score nothing directly — but getting a bluff accepted is still how you empty your hand and win.

Example round (Standard mode)

  1. Deal. You and the computer each receive 7 cards. The required rank starts at 7. Score 0 to 0.
  2. You play. You hold one 7, so you place two cards face down and claim "Two Sevens". One of them is actually a Jack. Your proof confirms both cards were in your dealt hand — and nothing else.
  3. The computer accepts. The pile holds 2 cards. The rank advances to 8. It is the computer's turn.
  4. The computer plays. It places three cards and claims "Three Eights". It smiles. You do not trust the smile.
  5. You challenge. "Proof or Bluff!" The computer must submit its proof. The chain reports: false — the claim was a bluff.
  6. Resolution. The 5-card pile is discarded. You gain +3 (3 to 0). The rank advances to 9 and, as the challenger, you take the next turn. Nobody learns what the three cards were.

5 Up 2 Down

The second table. Faster, and every number on it is public except your two cards.

Setup

  1. Each round, two private cards are dealt to each player and five cards face up to the board — all nine from one shared 52-card deck, inside the proof. No card can appear twice.
  2. A match is one of your cards sharing a rank with a board card. Two Kings in hand against one King on the board is two matches. Suits are decorative.

The round

  1. The first player names their matches: none, one or two, naming the board ranks ("I match the King and the Seven"). Lying is legal.
  2. The opponent accepts or calls "Proof or Bluff!". A claim of none cannot be challenged.
  3. Then the other player claims and the first responds. Who claims first alternates each round.

Scoring

ClaimAcceptedChallenged — all trueChallenged — any lie
None0——
One match+1+2liar −1, challenger +1
Two matches+3+4one lie: liar −1, challenger +1 · two lies: liar −2, challenger +2

A claim with any lie in it is void — the true card earns nothing. Scores never go below zero. The proof discloses exactly one number on a challenge: how many of the claimed cards were lies. Accepted claims disclose nothing, so a successful bluff stays secret forever.

Winning

Race to 20 (Casual: 10), checked at the end of each round; the higher score wins. After ten rounds the higher score wins regardless, and a tie is a draw.

Launch edition notes

  • Every match is played against the house bot — there is no player-versus-player matchmaking in the launch edition.
  • There is no "pass" action in the launch edition: on your turn you play, and when a claim is on the table you accept or challenge.
  • There are no wagers, stakes, or payouts. The house sponsors every game — all network fees are covered; you need no wallet and no crypto to play.
  • The original design document, including roadmap mechanics not yet built, lives in the project repository: docs/RULES.md.

Got it? Go call a bluff.

Play Proof or Bluff