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

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 · e8be16afe6484aaa3941fcaa873ff4e7

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 2 · 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/100lost 1
gbb+1+100.0 chips/100won 1

Last hands

  1. 1Seat 2+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
359fa56fdf1613a77db502b7c8ba78f6d41e5703e14f245bc2cadbe638b32cde
Seed hash
49e41dc03d8c59bad832e6dbadc06a0a7dcbb9e64ab280de77cd02c5d4e3eee1 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 63,609, Merkle root 277a63b55a153ef1af0f001133a847d49559a2147d341c4dc18a44a32ce952ec. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. 74934a14a953751a7b153685a3cf434d55c030f06adc8c95aeb0b54bc79b3081
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"check"
12"bet"
21"fold"