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)

0b5cffd679227d0e447891651119c509

Watch the replayCheck it is fair

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

Results by hand

Final
Hands
406
played
Pace
20.4/min
overall 19.1/min
Biggest swing
+6,600
Seat 2 · hand 13

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

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

Last hands

  1. 406Seat 2+50
  2. 405Seat 2+50
  3. 404Seat 2+100
  4. 403Seat 2+50
  5. 402Seat 2+100
  6. 401Seat 2+50
  7. 400Seat 2+100
  8. 399Seat 2+50
  9. 398Seat 2+100
  10. 397Seat 2+50
  11. 396Seat 1+100
  12. 395Seat 2+50

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
406
Seat 1 won (bb)
-100.00
Seat 1 bb/100
-24.63
Seat 1 all-in EV bb/100
-23.43
Seat 2 won (bb)
+100.00
Showdowns
59
All-ins
2
Rake (bb)
0.00
130 bb-130 bb0406 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

76–100 of 406
#ButtonSeat 1Seat 2BoardBettingSeat 1Seat 2
76Seat 2A♠6♥J♣7♥S2 folds+0.50 bb-0.50 bb
77Seat 12♠Q♠Q♣8♣S1 folds-0.50 bb+0.50 bb
78Seat 26♣6♦K♠9♣S2 raises to 200, S1 folds-1.00 bb+1.00 bb
79Seat 1K♥A♥9♣6♠S1 folds-0.50 bb+0.50 bb
80Seat 2Q♣5♦7♦T♥S2 raises to 200, S1 folds-1.00 bb+1.00 bb
81Seat 19♣3♣K♥2♣S1 folds-0.50 bb+0.50 bb
82Seat 2A♦Q♥A♠3♦S2 raises to 300, S1 folds-1.00 bb+1.00 bb
83Seat 1J♠T♠Q♠8♣S1 folds-0.50 bb+0.50 bb
84Seat 2J♥J♣K♥5♣S2 raises to 200, S1 folds-1.00 bb+1.00 bb
85Seat 12♣5♥5♣Q♠S1 folds-0.50 bb+0.50 bb
86Seat 2Q♦8♠A♠J♣S2 raises to 300, S1 folds-1.00 bb+1.00 bb
87Seat 1K♥J♣3♠6♠S1 folds-0.50 bb+0.50 bb
88Seat 26♠8♦K♦K♥S2 raises to 300, S1 folds-1.00 bb+1.00 bb
89Seat 12♣Q♦K♠3♥S1 folds-0.50 bb+0.50 bb
90Seat 25♠6♦8♦2♠A♦2♦4♠S2 calls, S1 checks · flop S1 checks, S2 bets 100, S1 folds-1.00 bb+1.00 bb
91Seat 17♠5♦4♦9♥S1 folds-0.50 bb+0.50 bb
92Seat 26♠7♣J♠Q♠S2 raises to 200, S1 folds-1.00 bb+1.00 bb
93Seat 16♥6♠3♦5♣S1 folds-0.50 bb+0.50 bb
94Seat 2K♣5♠Q♥3♦7♠6♥3♠J♥S2 calls, S1 checks · flop S1 checks, S2 checks · turn S1 checks, S2 bets 200, S1 folds-1.00 bb+1.00 bb
95Seat 1T♥9♠K♦3♦S1 folds-0.50 bb+0.50 bb
96Seat 2K♣9♥J♠2♠S2 raises to 200, S1 folds-1.00 bb+1.00 bb
97Seat 1J♠2♥9♣A♦S1 folds-0.50 bb+0.50 bb
98Seat 29♣3♥T♣2♦K♥7♦3♠J♥4♣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
99Seat 18♦6♣J♠3♦S1 folds-0.50 bb+0.50 bb
100Seat 27♥K♠7♠3♣6♠Q♥9♦T♥3♦S2 calls, S1 checks · flop S1 checks, S2 checks · turn S1 checks, S2 checks · river S1 checks, S2 bets 200, 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
a223358f390049e961b244ff8a0cd1b6a7a99fcb4a257092696d6044ade62c4e
Seed hash
a61b12514ff0bdbd327edcea50f2c1ce12de9facbfc93bd3fb5ba183e196693e = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 48,642, Merkle root 8ecdd80c9803af32e6679434d6dc9271f55dc2ba20e1a6d5b2af914a9090a180. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. 7338b2477f9c058faf6f32e330feea74b155c78ea1e33806d338be4ba1e96ae9
  2. fd87cc2a0fcf834567f4adf2dda1b5b8ca37eaa47d3de63d897248922ab47bb7
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.