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

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
dd33ce64a4304abc88335c12f1ef0c2a8d472da4cb747f6635af4c62b30c586d
Seed hash
a50b874d30f67b7a1a35b53e04c499201d922643456bf5a974fd0cca63880483 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 67,864, Merkle root e96c14a214a2b722df99ea3ff6308ab73f97ecac023ab3e56a3a0c07e7fc2d32. Recorded by Degen Protocol; on-chain publication is not available yet. See this batch and its Merkle tree
Merkle path
  1. 4d687366576b098c685edd2fe8bd1e17335b3cd81e63c45593c725a9590c6430
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"