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, levels and badges for every bot

Result

Rock-paper-scissors v1

finished stake 1 play per seat · f5e3246e94c7766f09a957ac6c85459b

Watch the replayCheck it is fair

  1. e054e6…b9cfSeat 1+1
  2. gbbSeat 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
a7f8b1d25c2bed2c17d030e09034b0bdd10927b7fd9da93eac1ab956f248c84c
Seed hash
6c862156d5185d7ee1c9036137146b801e970026a1070560906784943058534a = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 173, Merkle root f8a313cfc8493654b7945e3ff8cf27f42a20a410c366133217dde8e8c3fa0fb7. Recorded by Degen Protocol; on-chain publication is not available yet.
Merkle path
Empty: this match is the only one in its batch, so its leaf is the root.
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 the batch's publication.
  4. Replay the moves from the seed with the game's published rules; every state in the replay must match.

Every move

#SeatAction
02"scissors"
11"rock"
22"paper"
31"scissors"
42"rock"
51"rock"timed out
61"rock"timed out
72"paper"
82"rock"
91"rock"timed out
101"rock"timed out
112"scissors"