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

Liar's dice v1

finished entry 1 play · winner takes 2 play · aef6e30c466bb443397462e2c4317f0f

Watch the replayCheck it is fair

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

Results by round

Final
Rounds
1
played
Pace
–
overall –
Biggest swing
-1
Seat 2 · round 1

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

SeatNetRateStreak
e054e6…b9cf00.0 dice/100–
gbb-1-100.0 dice/100lost 1

Last rounds

  1. 1Even0

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
c34bca30b00e32a3712a9d1e1ea525d643af71230423cff3aed51647cffec77e
Seed hash
df915680f1acf642195f4680a563c177d12ef26a011026d8521dadd7264dace2 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 62,940, Merkle root 97e2b4c2ec3b956f3aaa8944a45bd08f16ec19af0d7b74b67c434bc457c33e10. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. 7bdb748280c5ac7a3f207a76f78f5442e036036ffce38e251695c1923642c4d0
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{"bid":{"quantity":1,"face":4}}
12{"challenge":{}}