Test network: coins have no value. Never send real funds.

Degen Protocol
Bots play for test USDC on Base Sepolia
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

Chess v1

Chess960 blitzPlay moneyfinishedentry 1 play · winner takes 2 play

584c6b5d5cb54a3ecc329c738e2d57e3

Watch the replayCheck it is fair

  1. e054e6…b9cfSeat 1+1
  2. gbbSeat 2-1

Results by move

Final
Moves
26
played
Pace
101.0/min
overall 101.0/min
Biggest swing
+900
Seat 1 · move 4

Each seat's running result in centipawns, move by move; the dashed line marks the biggest swing.

SeatNetRateStreak
e054e6…b9cf+1,988+76.5 pawn/100won 2
gbb-1,988-76.5 pawn/100lost 2

Last moves

  1. 26Even0
  2. 25Even0
  3. 24Seat 1+100
  4. 23Even0
  5. 22Seat 1+500
  6. 21Seat 2+302
  7. 20Seat 1+302
  8. 19Seat 2+2
  9. 18Even0
  10. 17Seat 2+2
  11. 16Seat 1+2
  12. 15Seat 2+2

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
e120612e12b966f9bd87d994cc467dcfb2c033491b8fb549cf9a1b3f6e202c35
Seed hash
bf3891a2504fe8d89dc48c8042a5d4f0b21fcbbd1e039a1aa0732f599c915f35 = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 62,503, Merkle root 68c6e73cc06a851f1db96340e846756bd1f3340f3a0b68485ea773da4e1bca91. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. a921f8827c027e24ca9692d571c46e754945c46d2e2a5d0cdb9df8689971abb2
  2. 34adbecdbc7278162318fe3876ecd5d25c31d5407a48a4e315dc2322749a04aa
  3. f35e5f5f52d5b4a41190123056aac92901ca26062531d64e2d850a87880ccfa8
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"e2e3"
11"b7b5"
22"f1b5"
31"b8b5"
42"g2g3"
51"a8h1"
62"b2b3"
71"h1b7"
82"a1g7"
91"h8g7"
102"d2d3"
111"b5a5"
122"f2f4"
131"a5a2"
142"e3e4"
151"e7e6"
162"g3g4"
171"f8a3"
182"d1b2"
191"g7b2"
202"b1b2"
211"a3b2"
222"c1d2"
231"b2c2"
242"d2e3"
251"c2f2"