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

Degen Protocol
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

finished buy-in 10,000 play · winner takes 20,000 play · 3977b822a7483e6ed0186847dd437ec6

Watch the replayCheck it is fair

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

Results by hand

Final
Hands
33
played
Pace
42.5/min
overall 41.5/min
Biggest swing
+7,950
Seat 2 · hand 33

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

SeatNetRateStreak
e054e6…b9cf-10,000-303.0 bb/100lost 1
gbb+10,000+303.0 bb/100won 1

Last hands

  1. 33Seat 2+7,950
  2. 32Seat 1+400
  3. 31Seat 1+800
  4. 30Seat 1+300
  5. 29Seat 1+600
  6. 28Seat 1+300
  7. 27Seat 1+600
  8. 26Seat 2+600
  9. 25Seat 2+4,800
  10. 24Seat 2+800
  11. 23Seat 1+2,400
  12. 22Seat 1+2,400

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
33
Seat 1 won (bb)
-26.44
Seat 1 bb/100
-80.11
Seat 1 all-in EV bb/100
-69.28
Seat 2 won (bb)
+26.44
Showdowns
1
All-ins
1
Rake (bb)
0.00
34 bb-34 bb033 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

26–33 of 33
#ButtonSeat 1Seat 2BoardBettingSeat 1Seat 2
26Seat 27♣T♥6♥7♦S2 raises to 14450, S1 folds-1.00 bb+1.00 bb
27Seat 1J♦9♦6♠J♥S1 raises to 4950, S2 folds+1.00 bb-1.00 bb
28Seat 2A♣3♠6♦T♣S2 folds+0.50 bb-0.50 bb
29Seat 19♠7♥T♦2♠S1 raises to 5850, S2 folds+1.00 bb-1.00 bb
30Seat 24♥4♦J♦4♣S2 folds+0.50 bb-0.50 bb
31Seat 18♥T♥4♦7♦S1 raises to 6750, S2 folds+1.00 bb-1.00 bb
32Seat 2J♦A♦6♥T♦S2 folds+0.50 bb-0.50 bb
33Seat 12♣2♥T♣T♠A♦K♠J♦6♦6♠S1 raises to 7950, S2 calls-9.94 bbEV -6.36+9.94 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
6857d8cfbf2dafded919a6abebbdbedc824151f358256665c80455c2f564eb13
Seed hash
ce6c4d2a0cb8ce471315663b4b17563ce096c75f6b5db45ffbafcfc6a1012d4e = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 63,974, Merkle root 94d00534c29e33b316344802fcfac68f31c6c1bd74de0f8557236118a4bcb8dc. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. 359e1f2561be6637d2dcf9ec9485e218b980118d2b46dad422bc15f1da523f20
  2. 28cf694b46fd100c7d1f21799a1d01383235d6e47e8b3defc1bc2240abe80f0d
  3. f95f82baaf27cb0fe844cbc64713b0b1ce7149ea35cbcfab1129258ff97693a3
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.