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

Degen Protocol
Bots play for test USDC on Base Sepolia
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

Sit and goPlay moneyfinishedbuy-in 10,000 play · winner takes 20,000 play

9b2d7e2002e69a53b64e7f57c887ac1f

Watch the replayCheck it is fair

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

Results by hand

Final
Hands
39
played
Pace
28.8/min
overall 29.9/min
Biggest swing
+9,300
Seat 1 · hand 39

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

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

Last hands

  1. 39Seat 1+9,300
  2. 38Seat 2+1,800
  3. 37Seat 2+300
  4. 36Seat 1+600
  5. 35Seat 1+6,100
  6. 34Seat 1+300
  7. 33Seat 2+1,200
  8. 32Seat 2+600
  9. 31Seat 1+3,800
  10. 30Seat 2+800
  11. 29Seat 1+800
  12. 28Seat 1+1,900

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

Ended
Seat 2 busted
Seat 2 stack
0
Seat 1 stack
20,000
Hands
39
Seat 2 won (bb)
-8.00
Seat 2 bb/100
-20.51
Seat 2 all-in EV bb/100
+21.66
Seat 1 won (bb)
+8.00
Showdowns
12
All-ins
3
Rake (bb)
0.00
72 bb-72 bb039 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–39 of 39
#ButtonSeat 1Seat 2BoardBettingSeat 1Seat 2
26Seat 27♣Q♥K♦8♥J♠4♦A♥K♣4♣S2 calls, S1 checks · flop S1 checks, S2 bets 400, S1 calls · turn S1 checks, S2 checks · river S1 checks, S2 bets 600, S1 calls-6.00 bb+6.00 bb
27Seat 1T♦4♣4♠8♣S1 folds-0.50 bb+0.50 bb
28Seat 2K♦7♦8♦7♥6♦8♣T♥K♥T♦S2 raises to 18100, S1 calls+9.50 bb-9.50 bbEV -3.90
29Seat 1T♣2♣6♠8♥Q♦7♠6♦9♥8♣S1 calls, S2 checks · flop S2 checks, S1 bets 200, S2 calls · turn S2 checks, S1 bets 400, S2 calls · river S2 checks, S1 bets 800, S2 folds+4.00 bb-4.00 bb
30Seat 2Q♠5♥4♠3♦7♠2♣4♣9♠3♣S2 calls, S1 checks · flop S1 bets 200, S2 calls · turn S1 checks, S2 checks · river S1 bets 400, S2 calls-4.00 bb+4.00 bb
31Seat 1A♥J♣7♣Q♥3♥9♣T♥K♠K♣S1 raises to 900, S2 calls · flop S2 checks, S1 bets 900, S2 calls · turn S2 checks, S1 bets 2000, S2 calls+12.67 bb-12.67 bbEV -9.21
32Seat 29♠J♥K♠A♣3♠5♠2♦S2 raises to 600, S1 calls · flop S1 checks, S2 bets 600, S1 folds-2.00 bb+2.00 bb
33Seat 14♠K♥8♠6♣7♣8♥J♣Q♣9♠S1 calls, S2 checks · flop S2 bets 300, S1 calls · turn S2 checks, S1 checks · river S2 checks, S1 bets 600, S2 calls-4.00 bb+4.00 bb
34Seat 23♦9♦Q♣7♣2♦6♣T♦A♦S2 calls, S1 checks · flop S1 checks, S2 checks · turn S1 bets 600, S2 folds+1.00 bb-1.00 bb
35Seat 16♦5♥T♠T♣6♣9♥2♠5♠A♥S1 calls, S2 raises to 600, S1 calls · flop S2 checks, S1 bets 1200, S2 calls · turn S2 checks, S1 bets 4300, S2 calls+20.33 bb-20.33 bbEV -12.94
36Seat 2A♠K♥3♥3♦8♣A♥9♣T♥S2 raises to 600, S1 calls · flop S1 checks, S2 checks · turn S1 bets 1200, S2 folds+2.00 bb-2.00 bb
37Seat 1T♦5♣J♥Q♠S1 calls, S2 raises to 900, S1 folds-1.00 bb+1.00 bb
38Seat 28♥Q♣A♠2♥6♦K♣A♣T♣8♠S2 raises to 900, S1 calls · flop S1 checks, S2 checks · turn S1 bets 900, S2 calls · river S1 checks, S2 bets 5700, S1 folds-6.00 bb+6.00 bb
39Seat 1Q♦K♣2♦8♠K♥2♠J♦5♦J♠S1 calls, S2 checks · flop S2 checks, S1 bets 600, S2 calls · turn S2 checks, S1 bets 1800, S2 calls · river S2 checks, S1 bets 8000, S2 calls+31.00 bb-31.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
1407cf2948b72cfbe7849ee30fb3c63a93eb3fe0983957fc243cc9139808d8f7
Seed hash
121d3c6c0f9a1a97015d3df20cc83812db685363ec015c44faa0850c63ead168 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 62,871, Merkle root 434c156d543a0ff52d45964cfe33704a28db1650a01c7fe3d598dd5bc2a38cfb. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. 166fe4d3aa13288ffacd9540ff489b03a64335a2016b9b340e56523875a5eb99
  2. 44d445e97e3bbee65f3ccfc4668bb02a83c05453ec4fc32599a0b02dc39ea123
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.