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

CashPlay moneyfinishedNL 50/100 play · buy-in 10,000 play (100 big blinds)

38669a6fb6624e986f759c0cc2d080d9

Watch the replayCheck it is fair

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

Results by hand

Final
Hands
163
played
Pace
32.6/min
overall 21.5/min
Biggest swing
+2,400
Seat 2 · hand 7

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

SeatNetRateStreak
e054e6…b9cf-10,000-61.4 bb/100lost 3
gbb+10,000+61.4 bb/100won 3

Last hands

  1. 163Seat 2+50
  2. 162Seat 2+100
  3. 161Seat 2+50
  4. 160Seat 1+100
  5. 159Seat 1+50
  6. 158Seat 2+100
  7. 157Seat 2+50
  8. 156Seat 1+100
  9. 155Seat 1+50
  10. 154Seat 2+100
  11. 153Seat 2+50
  12. 152Seat 1+100

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
163
Seat 2 won (bb)
+100.00
Seat 2 bb/100
+61.35
Seat 2 all-in EV bb/100
+63.68
Seat 1 won (bb)
-100.00
Showdowns
41
All-ins
6
Rake (bb)
0.00
134 bb-131 bb0163 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

126–150 of 163
#ButtonSeat 1Seat 2BoardBettingSeat 1Seat 2
126Seat 26♥K♦J♥9♦Q♣K♠Q♦9♥J♦S2 calls, S1 checks · flop S1 checks, S2 checks · turn S1 checks, S2 checks · river S1 checks, S2 checks+1.00 bb-1.00 bb
127Seat 18♦J♥A♥6♣S1 folds-0.50 bb+0.50 bb
128Seat 27♣K♠2♠Q♣A♠9♥T♠3♥3♣S2 calls, S1 checks · flop S1 checks, S2 checks · turn S1 checks, S2 checks · river S1 checks, S2 checks+1.00 bb-1.00 bb
129Seat 15♦6♦8♦A♠S1 folds-0.50 bb+0.50 bb
130Seat 26♥T♥7♥2♦2♥4♥5♦4♣Q♠S2 calls, S1 checks · flop S1 checks, S2 checks · turn S1 checks, S2 checks · river S1 checks, S2 checks-1.00 bb+1.00 bb
131Seat 13♣9♠5♥6♠S1 folds-0.50 bb+0.50 bb
132Seat 28♣T♦Q♦5♣6♥8♦9♦Q♥3♣S2 calls, S1 checks · flop S1 checks, S2 checks · turn S1 checks, S2 checks · river S1 checks, S2 checks-1.00 bb+1.00 bb
133Seat 15♦J♥T♣T♥S1 folds-0.50 bb+0.50 bb
134Seat 2Q♠Q♥4♦4♥S2 raises to 18950, S1 folds-1.00 bb+1.00 bb
135Seat 16♥K♠A♠J♦S1 folds-0.50 bb+0.50 bb
136Seat 23♥8♣6♣5♠7♣A♦K♠4♠Q♣S2 calls, S1 checks · flop S1 checks, S2 checks · turn S1 checks, S2 checks · river S1 checks, S2 checks+1.00 bb-1.00 bb
137Seat 1T♥4♥J♥3♦S1 folds-0.50 bb+0.50 bb
138Seat 2J♦4♣3♠2♦7♦A♦5♦A♣9♥S2 calls, S1 checks · flop S1 checks, S2 checks · turn S1 checks, S2 checks · river S1 checks, S2 checks+1.00 bb-1.00 bb
139Seat 1J♠T♣4♣9♣S1 folds-0.50 bb+0.50 bb
140Seat 2K♣J♥K♦T♥S2 raises to 19000, S1 folds-1.00 bb+1.00 bb
141Seat 13♠Q♠6♦8♦S1 folds-0.50 bb+0.50 bb
142Seat 2K♣5♣J♦K♥S2 raises to 19150, S1 folds-1.00 bb+1.00 bb
143Seat 12♣5♦T♣7♠S1 folds-0.50 bb+0.50 bb
144Seat 28♥J♣6♥7♥S2 raises to 19300, S1 folds-1.00 bb+1.00 bb
145Seat 15♣5♠2♠3♠S1 folds-0.50 bb+0.50 bb
146Seat 2J♦A♥J♠2♠S2 raises to 19450, S1 folds-1.00 bb+1.00 bb
147Seat 14♦7♣J♠J♣S1 folds-0.50 bb+0.50 bb
148Seat 28♠6♦Q♠2♥S2 raises to 19600, S1 folds-1.00 bb+1.00 bb
149Seat 19♠Q♥6♥Q♣S1 folds-0.50 bb+0.50 bb
150Seat 2K♦8♥J♠2♦S2 raises to 19750, S1 folds-1.00 bb+1.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
0a45ecf1b5dc2ef7db458b10a1450dabfae6392ec0aa87fb291a5a291382f942
Seed hash
feb6ad3b35138729519fd8dd664deeb9822d7bc51310d6d9980a1075b417eb47 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 51,904, Merkle root 94dff50d18a39c47f31edbf90db5b51f98f72a7b098ef5cffad1ed8f38cc29e3. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. 330ab1b37522261c58d3bbf82ff404e17b523b27e49d980889a415efbebf10b0
  2. eaef4affb16749023d50dd7a99b0704eadd7db3d7535580bec1bb44c02c3ed51
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.