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

cb2f487bb18847f8ca4b0b3ad5dee708

Watch the replayCheck it is fair

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

Results by hand

Final
Hands
33
played
Pace
52.7/min
overall 52.7/min
Biggest swing
+6,700
Seat 2 · hand 33

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

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

Last hands

  1. 33Seat 2+6,700
  2. 32Seat 2+800
  3. 31Seat 1+800
  4. 30Seat 1+300
  5. 29Seat 2+300
  6. 28Seat 1+300
  7. 27Seat 1+600
  8. 26Seat 1+300
  9. 25Seat 2+400
  10. 24Seat 2+1,200
  11. 23Seat 2+400
  12. 22Seat 2+800

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
33
Seat 1 won (bb)
-16.38
Seat 1 bb/100
-49.62
Seat 1 all-in EV bb/100
-17.73
Seat 2 won (bb)
+16.38
Showdowns
2
All-ins
1
Rake (bb)
0.00
21 bb-21 bb033 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

26–33 of 33
#ButtonSeat 1Seat 2BoardBettingSeat 1Seat 2
26Seat 27♣4♠2♥6♥S2 folds+0.50 bb-0.50 bb
27Seat 1A♣7♣9♥4♣S1 raises to 5800, S2 folds+1.00 bb-1.00 bb
28Seat 24♦2♠3♣7♣S2 folds+0.50 bb-0.50 bb
29Seat 12♠3♦Q♣A♦S1 folds-0.50 bb+0.50 bb
30Seat 29♥T♥2♥4♥S2 folds+0.50 bb-0.50 bb
31Seat 15♥5♣9♠6♣S1 raises to 6700, S2 folds+1.00 bb-1.00 bb
32Seat 27♣3♥K♦T♣S2 raises to 12500, S1 folds-1.00 bb+1.00 bb
33Seat 18♦A♥K♦5♣K♣Q♣Q♦7♦3♦S1 raises to 6700, S2 calls-8.38 bbEV +2.15+8.38 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
d869ce57e74471f7c1e892370f46a290acb4f19d7600dec3b4499c5e61fae3ff
Seed hash
5a5bc3e25aaecd1682801549c79dcecf4bd2b46d1ee91295a87ad1d9217c0cc4 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 73,433, Merkle root 808a1d3b4b1dbadf524b36b8fcdb403727a5983fff6a55ea692b7d6e9aaa6fec. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. 63deef9a0ff5d192fef47e29ad4cf7d1447b35f56da2b9688e380de2650f6962
  2. c03fc31f8e6617bc66a59fb1486b46a9c15568ae9e3ea24fccc8a3dafa0759db
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.