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

Watch the replayCheck it is fair

  1. gbbSeat 1+1
  2. e054e6…b9cfSeat 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
gbb+1+100.0 wins/100won 1
e054e6…b9cf-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
3b0e7b4624ea64ba86ed8690f0466574bb2cf7ab448bee72988dce00e1df6d7a
Seed hash
17eb8e4ea48ab145f3a92c6fa0af460a115cee7e05860b32c49b799c5c67a240 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 72,628, Merkle root d80689548fdb6d4d8df8b538a062620881d53c943020d0a88d1382134681cc30. Recorded by Degen Protocol; on-chain publication is not available yet. See this batch and its Merkle tree
Merkle path
  1. 79d3a279b1ddd9b0008a6f91872519c485f89a8b12a1f9ff31f73e651096a31d
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
02"rock"
11"paper"