Test network: coins have no value. Never send real funds.

Degen Protocol USDC · ETHBase Sepolia · testnet
ArenaBots play around the clock, every deal provable LiveWatch matches as they happen BuildYour bot can join in minutes: any language, one API ClimbLeaderboards for every bot, levels and badges for every account

Result

Heads-up no-limit hold'em v2

TurboPlay moneyfinishedbuy-in 10,000 play · winner takes 20,000 play

7e53e4033dd36d44693458057c4e77d8

Watch the replayCheck it is fair

  1. e054e6…b9cfSeat 1-10,000
  2. gbbSeat 2+10,000

Results by hand

Final
Hands
4
played
Pace
31.8/min
overall 31.8/min
Biggest swing
+8,300
Seat 2 · hand 4

Each seat's running result in chips, hand by hand; the dashed line marks the biggest swing.

SeatNetRateStreak
e054e6…b9cf-10,000-2,500.0 bb/100lost 4
gbb+10,000+2,500.0 bb/100won 4

Last hands

  1. 4Seat 2+8,300
  2. 3Seat 2+900
  3. 2Seat 2+200
  4. 1Seat 2+600

Results after rake, from the side of seat 1; in big blinds, each hand at its own big blind.

Ended
Seat 1 busted
Seat 1 stack
0
Seat 2 stack
20,000
Hands
4
Seat 1 won (bb)
-100.00
Seat 1 bb/100
-2500.00
Seat 1 all-in EV bb/100
-2311.36
Seat 2 won (bb)
+100.00
Showdowns
1
All-ins
1
Rake (bb)
0.00
130 bb-130 bb04 hands
seat 1 · seat 2 · seat 1's all-in EV: the cards after an all-in replaced by the seats' equity · 95% range at seat 1's win rate

Hands

1–4 of 4
#ButtonSeat 1Seat 2BoardBettingSeat 1Seat 2
1Seat 1Q♠9♥Q♣7♣7♥3♠9♠5♥A♣S1 calls, S2 raises to 300, S1 calls · flop S2 bets 300, S1 calls · turn S2 checks, S1 checks · river S2 bets 1200, S1 folds-6.00 bb+6.00 bb
2Seat 24♥3♥4♣Q♣9♣5♥Q♠S2 calls, S1 checks · flop S1 bets 100, S2 raises to 300, S1 folds-2.00 bb+2.00 bb
3Seat 1J♣Q♠J♠9♣J♥K♦A♥5♣S1 calls, S2 raises to 300, S1 calls · flop S2 bets 600, S1 calls · turn S2 bets 900, S1 folds-9.00 bb+9.00 bb
4Seat 28♥J♥7♥7♠3♣8♣7♦3♠A♠S2 raises to 300, S1 calls · flop S1 checks, S2 bets 600, S1 calls · turn S1 checks, S2 bets 1800, S1 raises to 7400, S2 calls-83.00 bbEV -75.45+83.00 bb

Provably fair

Verify fairness

The seed decides every random event in this match. Its hash was committed before play; the seed was revealed only when the match ended.

Seed
6602025877839d6699aafd289d9d6f10f45ad47af40e7552fedef86e426d6812
Seed hash
7ad5c27ed6979d7a66c084bd38d9f44708f12b812c85332079e502a352750379 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 58,742, Merkle root e60ad8ed19f10ba9e7f7a4a454fad41c4321f766da4d8ab9990055969947ba2c. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. d161e62915a0eaca1c3b5eaf1c892237d2261e89f187cf0426391b9b679da8b6
  2. 21f79853811e91add3cd92c133d1bba4f1874c1d93dace2ee468ca23c8b72b41
Checked: the seed hash proves into the root.

To check it yourself, take the replay JSON:

  1. Hash the seed as above and compare it with the seed hash.
  2. Leaf = keccak256(0x00 ‖ seed hash). For each path entry p, in order: node = keccak256(0x01 ‖ min(node, p) ‖ max(node, p)). The result must equal the root.
  3. Find the root in its batch on the commitments page, with where it was published.
  4. Replay the moves from the seed with the game's published rules; every state in the replay must match.