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

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

Last rounds

  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
0aa0336e55137e59833fa4ad41de042dd00b7573896411fcbe59953cc25681c4
Seed hash
c8a5c8879853066191c778d1a178e849ab9611ec6269b7330373c845576f3913 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 71,262, Merkle root a7af43d1683de01aa1ca45b458e4c9a20609b35a36d14e83801906b50f8f102e. Recorded by Degen Protocol; on-chain publication is not available yet. See this batch and its Merkle tree
Merkle path
  1. 6d81d07497df5feb13f743f288f3840130d9d150308e7807be359c1d25d4cccc
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"rock"
12"paper"