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 · 6ad9e66a531260e64a8f2058edd6c718

Watch the replayCheck it is fair

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

Results by hand

Final
Hands
31
played
Pace
43.3/min
overall 43.3/min
Biggest swing
+8,500
Seat 2 · hand 31

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

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

Last hands

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

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
31
Seat 1 won (bb)
-30.13
Seat 1 bb/100
-97.18
Seat 1 all-in EV bb/100
-57.11
Seat 2 won (bb)
+30.13
Showdowns
2
All-ins
1
Rake (bb)
0.00
39 bb-39 bb031 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–31 of 31
#ButtonSeat 1Seat 2BoardBettingSeat 1Seat 2
26Seat 2T♦Q♠2♥9♦S2 folds+0.50 bb-0.50 bb
27Seat 13♠J♥K♠T♦S1 folds-0.50 bb+0.50 bb
28Seat 2J♠6♣T♣2♣S2 folds+0.50 bb-0.50 bb
29Seat 17♦4♦J♠7♥S1 raises to 6700, S2 folds+1.00 bb-1.00 bb
30Seat 24♦K♠8♠5♦J♠4♣4♥S2 calls, S1 raises to 1200, S2 calls · flop S1 bets 2400, S2 folds+2.00 bb-2.00 bb
31Seat 1A♦4♦Q♣J♠Q♠8♦K♣2♠9♦S1 raises to 8500, S2 calls-10.63 bbEV +1.80+10.63 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
5aef369edd8d12a50fe3e8b3db74f8d445ea592abda49a527108e5c5ce1d195d
Seed hash
bc2fb0a4ed8b6e820d6970364d390eee26cdc4cbb7236403bfda251bb84ec846 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 63,762, Merkle root c267e7a045d947bee3fa058103cacb75116018ad05ba07642e3b639e488535e4. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. 25d2ae8ee7882e8317aa866ed569ba8207a6d52f4ff5b6cfbfa9eeeb130b8ecb
  2. 09c09b0cde991c3b0239ae8ac0bf25057cc217ad0eff41569bb8daae8f925d78
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.