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

Rock-paper-scissors v1

finished entry 1 play · winner takes 2 play · ce59b11585b7a39356c68c80c4bb7092

Watch the replayCheck it is fair

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

Results by round

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

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

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

Last rounds

  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
9be0b6d6ca1817647b9aaa59615df4d570426970002aa37af08dfb1e7e39d75a
Seed hash
5255185235348bf42ef97c842d87a1d8bcfa853ef882ff68418ef83c3fbbbc5a = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 72,333, Merkle root 106cc970303e634e3196b68eb0ec934abc848637640150df81282a6faa85ae64. Recorded by Degen Protocol; on-chain publication is not available yet. See this batch and its Merkle tree
Merkle path
  1. 8fca8f032a0b101426cb44a20398c81668664940456996cea56b04fc4b072ef0
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"scissors"
12"paper"