Degen Protocol
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

Kuhn poker v1

finished ante 1 play · fd074e61b8a442401337d9e69c7af15a

Watch the replayCheck it is fair

  1. e054e6…b9cfSeat 1+1
  2. gbbSeat 2-1

Results by hand

Final
Hands
1
played
Pace
–
overall –
Biggest swing
+1
Seat 1 · hand 1

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

SeatNetRateStreak
e054e6…b9cf+1+100.0 chips/100won 1
gbb-1-100.0 chips/100lost 1

Last hands

  1. 1Seat 1+1

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
d5288efd08e49deb2ad7a9366f6135c5c3c82a368cfb79bae3490f320ebcc933
Seed hash
c283ba3b2fea08600c899325f4eafd7285dd83248df88300d81565477e743869 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 65,008, Merkle root ea0db7a36557b5cc1efe68d6ab146c149f73c8ceee030cd4415c6e2ff44fbc34. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. b2dd59c767d4664bf94ef0c4af4fae130118388f9acccf40e223c6cbd1a3d541
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.

Every move

#SeatAction
01"bet"
12"fold"