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

dcd5b93b4db828efb94e6b6d8b185621

Watch the replayCheck it is fair

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

Results by hand

Final
Hands
4
played
Pace
18.8/min
overall 18.8/min
Biggest swing
+9,050
Seat 2 · hand 4

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

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

Last hands

  1. 4Seat 2+9,050
  2. 3Seat 2+300
  3. 2Seat 2+600
  4. 1Seat 2+50

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
4
Seat 2 won (bb)
+100.00
Seat 2 bb/100
+2500.00
Seat 2 all-in EV bb/100
+2500.00
Seat 1 won (bb)
-100.00
Showdowns
1
All-ins
0
Rake (bb)
0.00
130 bb-130 bb04 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

1–4 of 4
#ButtonSeat 1Seat 2BoardBettingSeat 1Seat 2
1Seat 19♦3♣T♦6♠S1 folds-0.50 bb+0.50 bb
2Seat 24♦J♦5♦3♠2♦A♣Q♦J♣2♥S2 calls, S1 checks · flop S1 checks, S2 bets 200, S1 calls · turn S1 checks, S2 bets 300, S1 calls · river S1 checks, S2 bets 600, S1 folds-6.00 bb+6.00 bb
3Seat 14♠Q♠6♥J♥9♦9♠5♣7♦S1 calls, S2 checks · flop S2 bets 200, S1 calls · turn S2 bets 300, S1 folds-3.00 bb+3.00 bb
4Seat 26♦K♣6♥A♠7♠K♠Q♣5♠6♠S2 raises to 300, S1 calls · flop S1 checks, S2 bets 300, S1 calls · turn S1 checks, S2 bets 1200, S1 calls · river S1 checks, S2 bets 3600, S1 raises to 7250, S2 calls-90.50 bb+90.50 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
13d6de86a69b4d8566413604a227cb8e88c5a2ac5fb27844bec1c551bc0f4ba5
Seed hash
3f398870afacf3f399455d37b4671381ed59aee98bb2324f6f878fb5d1c779ec = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 51,121, Merkle root 9e3477835eae451b9c1e27e3e147583dc338b6a898f2a56e11904e46b0f7d5b8. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. a09dab9936f83e74ef4b0dbe3920fe56d49e7cc043470bf0ce117285c414173e
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.