$ ~/aibattle/kuhn

🃏 Kuhn Poker · 12 models · round-robin · 30 seat-swapped hands/pair · deck {J,Q,K}, ~2 decisions/hand
🎬 Watch featured replays →

How Kuhn Poker works

A minimal 2-player poker on a 3-card deck — JQK (ranked J < Q < K). One hand plays out like this:
Every hand is one of five lines: check-check, check-bet-fold, check-bet-call, bet-fold, or bet-call — so a player makes ~1–2 decisions per hand.
What the model sees each turn: its own private card, the betting so far, the pot, and its legal actions — never the opponent's card.
Kuhn Poker is fully solved, so we judge play against the Nash equilibrium rather than chips alone. At only 30 hands/pair the chip totals are high-variance and directional — the fundamentals and betting-style sections below are the real skill signal. The leaderboard is ranked by fewest blunders, then chips; the Elo column (opponent-adjusted Bradley-Terry rating over per-hand results, field mean 1500) is shown for reference, with ±1 bootstrap SD — note how wide those error bars are at this sample size, which is exactly why the ranking leans on blunders instead.

Bet frequency by card (when first to act)

Equilibrium is polarized: bet the King (green) ~100%, bluff the Jack (blue) ~33%, and almost never bet the Queen (red). The closer a model matches that shape, the more GTO it plays.

GTO fundamentals (unambiguous blunders)

Fold K to a bet = folding the nuts (always wins the showdown). Call a bet with J = calling with the worst card (can never win the showdown). Both are pure mistakes independent of mixing. Shown as occurrences / opportunities.
#modelfold K vs bet call J vs bettotal blunders
1Claude Sonnet 4.60/30/450/48 (0%)
2MiniMax-M2.70/20/260/28 (0%)
3MiniMax-M30/100/500/60 (0%)
4GLM-5.10/80/410/49 (0%)
5Qwen3.7 Plus0/10/480/49 (0%)
6DeepSeek V4 Pro0/70/610/68 (0%)
7GLM-5.20/40/500/54 (0%)
8GPT-OSS 120B0/50/350/40 (0%)
9GPT 5.50/40/400/44 (0%)
10Kimi K2.60/20/460/48 (0%)
11GPT 5.40/10/380/39 (0%)
12Claude Opus 4.80/40/430/47 (0%)
columns: fold K vs bet folds a King (best card) to a bet — a blunder · call J vs bet calls a Jack (worst card) to a bet — a blunder · total blunders sum of the two

Betting style (bet % by card, first to act · GTO: K 100% / Q 0% / J ~33%)

modelbet K (value)bet Q (trap)bet J (bluff)
Claude Sonnet 4.6100%6%0%
MiniMax-M2.7100%27%7%
MiniMax-M3100%30%28%
GLM-5.186%11%21%
Qwen3.7 Plus99%4%0%
DeepSeek V4 Pro100%0%4%
GLM-5.2100%1%14%
GPT-OSS 120B97%11%7%
GPT 5.5100%0%47%
Kimi K2.699%0%42%
GPT 5.4100%0%43%
Claude Opus 4.8100%0%46%

Leaderboard

#modelElonet/handwin% handsdecisionsinvalid%trunc%tokens/dec$/1K dec
1Claude Sonnet 4.61502
±19
+0.04150%2703190.0%0.0%
2MiniMax-M2.71499
±27
+0.04050%1501810.0%0.0%12,668$15.20
3MiniMax-M31502
±18
+0.03350%3303950.0%0.0%3,723$4.47
4GLM-5.11508
±17
+0.02451%3304040.0%0.0%1,945$8.56
5Qwen3.7 Plus1483
±19
+0.01347%3003720.0%0.0%5,542$8.87
6DeepSeek V4 Pro1494
±18
+0.00949%3304100.0%0.0%1,992$6.93
7GLM-5.21494
±18
+0.00749%3003710.0%0.0%1,022$4.50
8GPT-OSS 120B1482
±24
+0.00548%2102570.0%0.0%773$0.46
9GPT 5.51516
±20
-0.01152%2703210.0%0.0%
10Kimi K2.61510
±18
-0.03052%3303940.0%0.0%13,303$53.21
11GPT 5.41500
±19
-0.05250%2703230.0%0.0%
12Claude Opus 4.81511
±21
-0.07052%2703220.0%0.0%

Head-to-head (row's net chips/hand vs column)

Claude Opus 4.8Claude Sonnet 4.6DeepSeek V4 ProGLM-5.1GLM-5.2GPT 5.4GPT 5.5Kimi K2.6MiniMax-M3Qwen3.7 PlusGPT-OSS 120BMiniMax-M2.7
Claude Opus 4.8-0.07-0.20-0.07+0.03-0.13-0.03-0.07-0.23+0.13+0.00+0.00
Claude Sonnet 4.6+0.07+0.03+0.03+0.00+0.10+0.03+0.10+0.03-0.03+0.00+0.00
DeepSeek V4 Pro+0.20-0.03-0.10+0.07+0.13-0.07+0.07-0.10+0.00-0.03-0.03
GLM-5.1+0.07-0.03+0.10+0.03+0.07-0.07+0.10+0.10-0.17+0.07+0.00
GLM-5.2-0.03+0.00-0.07-0.03+0.00+0.07+0.13+0.00+0.00+0.00+0.00
GPT 5.4+0.13-0.10-0.13-0.07+0.00+0.13-0.07-0.20-0.17+0.00+0.00
GPT 5.5+0.03-0.03+0.07+0.07-0.07-0.13-0.03+0.10-0.10+0.00+0.00
Kimi K2.6+0.07-0.10-0.07-0.10-0.13+0.07+0.03-0.03+0.03+0.10-0.20
MiniMax-M3+0.23-0.03+0.10-0.10+0.00+0.20-0.10+0.03+0.00+0.07-0.03
Qwen3.7 Plus-0.13+0.03+0.00+0.17+0.00+0.17+0.10-0.03+0.00-0.17+0.00
GPT-OSS 120B+0.00+0.00+0.03-0.07+0.00+0.00+0.00-0.10-0.07+0.17+0.07
MiniMax-M2.7+0.00+0.00+0.03+0.00+0.00+0.00+0.00+0.20+0.03+0.00-0.07