Read the hand.Read the mind.

MOVES FIRST
NO TAKE-BACKS
ROUND 01
  1. 1Jev throws
  2. 2You pick
  3. 3Reveal
P1Yougut player
Waiting on you
AIJevstudying you
READY WHEN YOU ARECare for a round?
First throw — Jev goes first.

Locked in first, then you play

Paste your TypeSafe key to playEnter ↵
Lock first, throw later. Every round is verifiable.How it works
THE MATCHBOOK

Every throw counts.

Each round's throws, result, peek flag, and verification proof
RoundYour throwJev's throwResultModeProof
No matches yet

Round one starts with a little curiosity.

Local record · up to 500 rounds per series · a new series relearns

How do I know Jev can't take it back?Fairness notes

Throws first, then you choose.The server calls the real TypeSafe API and uses Jev's returned choice as-is. If the call fails, the round stops — no random stand-in. Your move this round is never sent to Jev.

Seal first, verify later.On open, move, model, round number, history digest, and a random salt become a SHA-256 commitment. The browser saves that hash before buttons unlock. Reveal or settle only unseals the original choice — no second AI call. The browser recomputes the hash and records the round only if it matches.

Want to lift the lid? You can.The lid is a real div. An unrevealed move stays inside the sealed blob and is never written into the page early. Clicking returns the original move, lifts the lid, and marks the round peeked. Peeked rounds still enter Jev's context.

This is a personal match log.The commitment proves the sealed move didn't change; signed records deter casual edits. It is not an official TypeSafe attestation. Local storage has no cross-device sync and cannot stop developer-tool rollbacks, request replays, or peek-flag bypass, so this is not a competitive leaderboard. Clearing browser data wipes local history — export when you need it.

YOUR OPPONENT AWAITS

Bring a key,
start throwing.

Connect the real Jev and let it throw first.

Key stays in this page's memory only and must be re-entered after refresh. Requests go through this site's server to TypeSafe and are never written into the match record.

jev-latest · two calls per round: analyze habits → choose throw