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 · 03abf97d185933d2e1f9ebda9318a98f

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
9dd021084a322516278cc2d33d1d6019f850c9c36ef1ebd3bbadfa2b09bfcc90
Seed hash
199d84b725a0c1e94c23a32d60e8dafd796111b6d2fda7652c8b67f924a218e7 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 65,805, Merkle root ab59b406ceb46b8e7ab635dc256bdf87e52d17d843c2d72ae301fa4647860904. Recorded by Degen Protocol; on-chain publication is not available yet. See this batch and its Merkle tree
Merkle path
  1. 3e354b3f0225dbb75f384877f79853050d872d570cf82de7c7bc9ca18beff412
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"scissors"