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

9ea47ed35fb1edea4b921d75afffd3a6

Watch the replayCheck it is fair

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

Results by hand

Final
Hands
40
played
Pace
79.4/min
overall 70.4/min
Biggest swing
+5,250
Seat 2 · hand 40

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

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

Last hands

  1. 40Seat 2+5,250
  2. 39Seat 2+600
  3. 38Seat 1+600
  4. 37Seat 2+600
  5. 36Seat 1+600
  6. 35Seat 2+400
  7. 34Seat 2+800
  8. 33Seat 2+400
  9. 32Seat 1+400
  10. 31Even0
  11. 30Seat 1+300
  12. 29Seat 2+300

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

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

Hands

26–40 of 40
#ButtonSeat 1Seat 2BoardBettingSeat 1Seat 2
26Seat 27♥T♣T♥8♠S2 raises to 13850, S1 folds-1.00 bb+1.00 bb
27Seat 16♦5♦5♣T♦S1 raises to 5550, S2 folds+1.00 bb-1.00 bb
28Seat 2A♥6♣6♦2♣S2 folds+0.50 bb-0.50 bb
29Seat 17♣5♦7♦4♥S1 folds-0.50 bb+0.50 bb
30Seat 22♦7♥7♦5♠S2 folds+0.50 bb-0.50 bb
31Seat 13♦K♣4♦K♦J♥Q♥6♥6♣Q♦S1 raises to 6450, S2 calls0.00 bb0.00 bbEV +0.83
32Seat 24♣3♣9♣4♠S2 folds+0.50 bb-0.50 bb
33Seat 13♠J♦2♠K♥S1 folds-0.50 bb+0.50 bb
34Seat 27♦2♦9♥T♥S2 raises to 13550, S1 folds-1.00 bb+1.00 bb
35Seat 16♠9♦Q♦J♠S1 folds-0.50 bb+0.50 bb
36Seat 2T♣5♣2♣4♥S2 folds+0.50 bb-0.50 bb
37Seat 13♣4♠2♠A♥S1 folds-0.50 bb+0.50 bb
38Seat 27♥9♦6♠2♦S2 folds+0.50 bb-0.50 bb
39Seat 16♠3♦6♦4♣S1 folds-0.50 bb+0.50 bb
40Seat 2K♦6♣Q♦A♣2♥T♦3♥J♥7♠S2 raises to 14750, S1 calls-4.38 bb+4.38 bbEV +1.18

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
774b8ee2ae7776d8184a8900b6d2721a069acf2cc1cab3b1344df4ec38dd8407
Seed hash
10211cd0669351d3ccd5aa7ae79a7e70ef5bfd02dec02355e6b26cccb665af7a = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 53,751, Merkle root d97016daa55efe39e91f48178e4809b48425c27ac758bf7d84cf856a421e3b1b. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. 2ba68f8c456b87fd84b14812fb2fba9102b6f83776198ccbdfdc4f1bc9c98864
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.