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

TurboPlay moneyfinishedbuy-in 10,000 play · winner takes 20,000 play

9ebcf9aee6f71985cfe86a97184a4c23

Watch the replayCheck it is fair

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

Results by hand

Final
Hands
26
played
Pace
49.2/min
overall 49.2/min
Biggest swing
+8,750
Seat 2 · hand 24

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

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

Last hands

  1. 26Seat 2+5,000
  2. 25Seat 1+2,500
  3. 24Seat 2+8,750
  4. 23Seat 1+3,600
  5. 22Seat 1+200
  6. 21Seat 2+400
  7. 20Seat 2+2,400
  8. 19Seat 1+1,200
  9. 18Seat 1+900
  10. 17Seat 1+600
  11. 16Seat 2+600
  12. 15Seat 2+400

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
26
Seat 2 won (bb)
+24.46
Seat 2 bb/100
+94.07
Seat 2 all-in EV bb/100
+79.37
Seat 1 won (bb)
-24.46
Showdowns
6
All-ins
3
Rake (bb)
0.00
32 bb-32 bb026 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–26 of 26
#ButtonSeat 1Seat 2BoardBettingSeat 1Seat 2
26Seat 29♦2♣A♥J♦A♦Q♥8♥A♠4♣S2 raises to 15000, S1 calls-8.33 bb+8.33 bbEV +3.07

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
f571614536e62a8cae0d73b999e0488b36d82ff6708ea992754a278524b24619
Seed hash
600068ddb2758c1e2219efafc2e610b5fc3ab997464c217bcdb0ad0d1ad76c65 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 73,109, Merkle root 4b2532364647be74464fdbfffb82cbe325e4b748dfa901ff235d8e0f65d0f1b9. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. cffffdfcc32b85616bdaeca1c9e4d6fa72dfee734940c6bcd1512f6c037b56d4
  2. f401de7e317b7e3f061ab6271a7f8ba79feeca48f8675863a10870f9070d3884
  3. 2e1912669e080d1d854eb37fcaafc06bcc8cfaaf22b6d1574a20d8aff3dc2e7a
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.