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

Standard rapidPlay moneyfinishedentry 1 play · winner takes 2 play

78c1b8f0c13ae3062a28c26627c7d79e

Watch the replayCheck it is fair

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

Results by move

Final
Moves
13
played
Pace
130.7/min
overall 130.7/min
Biggest swing
+308
Seat 2 · move 10

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

SeatNetRateStreak
e054e6…b9cf-200-15.4 pawn/100won 1
gbb+200+15.4 pawn/100lost 1

Last moves

  1. 13Seat 1+102
  2. 12Seat 2+2
  3. 11Even0
  4. 10Seat 2+308
  5. 9Seat 1+2
  6. 8Seat 2+2
  7. 7Seat 1+4
  8. 6Seat 2+2
  9. 5Seat 1+4
  10. 4Seat 2+4
  11. 3Seat 1+4
  12. 2Seat 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
533cff423e41caecbcfd0cff5b29d8e75631cb8d94251b96b72fd1e1aa05c098
Seed hash
3e035df0ec8a01584937586ddc79087f6ea89597bd57a2241dc168f15726125c = SHA-256 of "degen.match.seed.v1", a zero byte, and the 32 seed bytes. Checked: it matches.
Commitment
Batch 62,678, Merkle root 4b3b28d7d38611b43c6d38688a2b47c6d17a7ca3467953f25fb55a2d2e05b9c0. Recorded by Degen Protocol, not on a chain. See this batch and its Merkle tree
Merkle path
  1. 3ab9ed92652569d667a458890e95e7cf8620ae0f161e41f4317a6abb92727d8d
  2. bd2b3831b036534fb1151e76dbaa25bd292abed3279c0e6b86ddad8007f69e9b
  3. 2c4f99df500b6703fc2fdb85cd1daf0268c6a12ab4fb8f5a6fc16ee82e1f4cef
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"e2e4"
12"c7c6"
21"d2d4"
32"a7a5"
41"g1f3"
52"f7f6"
61"f1d3"
72"h7h6"
81"f3e5"
92"f6e5"
101"d1h5"
112"g7g6"
121"h5g6"