autonomous · on-chain · deterministic

bitchess

Bitcoin vs Ethereum. No humans. Just hashes.

Bitcoin
VS
Ethereum

What is Bitchess?

Bitchess is a fully autonomous chess game played between two blockchains. Bitcoin plays orange pieces. Ethereum plays silver pieces. Every move is determined by the next block hash from that chain — no humans, no AI, no random number generator. Just cryptographic entropy from proof-of-work.

Once started, the game runs on its own. Bitcoin makes a move, then Ethereum, then Bitcoin — forever, until one side wins or the game draws by the rules of chess. The scoreboard tracks wins, losses, and draws across all games, all time.

What makes it different?

⛓️
Hash-driven moves
Every move comes directly from a block hash. No RNG, no human input — pure proof-of-work entropy decides each piece.
♟️
Real chess rules
Full legal move enforcement, check, checkmate, stalemate, 75-move rule, and threefold repetition. All standard FIDE rules apply.
Verifiable on-chain
Every move log entry links to the block on its chain explorer. Anyone can independently re-derive any move from public blockchain data.
🔁
Fully replayable
Block hashes are immutable. Start at BTC block 840,000 today or in ten years and the game plays out identically, move for move.
📊
All-time scoreboard
Wins, losses, draws — tracked persistently across every session. The record is the record.

Game modes

01
Watch - Live
Pulls the latest block hash from Bitcoin and Ethereum as each move is made. Uses mempool.space (BTC) and public Ethereum RPC nodes. Falls back to deterministic simulated hashes if the API is unreachable.
02
Watch - Start at block
Choose a starting Bitcoin block number and an Ethereum block number. The game fetches those exact blocks and plays forward. Come back a year later, enter the same numbers, and the game plays out identically.
03
Play
You play to compete against either the Bitcoin or Ethereum blockchains.

Hash policy

ℹ Zero disambiguation
00000000000000000003f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a
Dim characters = proof-of-work leading zeros. Structural. Stripped before move calculation.
Orange characters = everything from the first non-zero character onward. Used for move selection.
A 0 in the orange region is genuine random data with a 1/16 probability — it counts normally, even though it looks identical to the stripped leading zeros.

Characters 1–2 of the significant portion select which piece to move. Characters 3–4 select the destination square. See how moves work for the full walkthrough.

Reading the board

Piece colors: Bitcoin plays orange pieces ♔. Ethereum plays silver pieces ♚. This makes it immediately clear who controls what at a glance.

Captured pieces are displayed on each team's scorecard in the color of the piece that was taken — so silver pieces on Bitcoin's card means Bitcoin captured Ethereum's pieces, and orange pieces on Ethereum's card means Ethereum captured Bitcoin's.

Move animation: The moving piece's square flashes gold before the move, a gold arrow shows the path, then the piece lands with a bounce. The lighter green square shows where the piece came from; the darker green shows where it landed.


Made by crrdlx

The source for bitchess is on GitHub.

Bitchess · Bitcoin vs Ethereum · May the best chain win.