MOON
Provably-fair PvP · no referee · no house

BATTLEROCKETSHIP

Hide your rocket fleet. Hunt your opponent's. The twist: no one can cheat, because the rules are enforced by cryptography, not a trusted server. There's also no house taking a cut.

scroll to learn ↓
The idea

A game with no referee

Hidden-information games normally need a trusted server to hold the secret boards. Battlerocketship replaces that referee with cryptography, so nobody can peek, lie, or rig it.

the old way
🚀🖥️👁️🚀

A trusted server sits in the middle holding both secret boards. You have to trust it not to peek, leak, or rig the game, a single point of cheating.

battlerocketship
🚀🔐🚀

Cryptography is the referee. Each player commits their fleet; every move proves itself. No server holds your secret, and no house can take a cut.

Step 1 · Commit

Lock your fleet without revealing it

Place your rockets, then commit. Each cell is hashed and combined into a single fleet root. Publishing only that root hides your board yet makes it impossible to change later.

1 · place your fleet

Tap cells to place rockets (2 placed). Then commit.

2 · cryptographic commitment
0x513a
0xbd55
0xdd17
0xb8fe
0x8ee8
0x7d94
0x3187
0x8613

these are your 8 cell hashes. Press Commit to combine them into one locked root.

Every cell becomes a hash; pairs combine up to a single fleet root. Committing only that root hides the board yet locks it forever. The commitment is per cell, so ships that span several cells are simply several committed cells. (Here: 8 cells → 1 root; the real game commits all 100.)

How hashing & commitments really work, in depth →

Step 2 · Play off-chain

Every shot proves itself

Now play out that exact fleet. You and your opponent trade shots directly, no server, no gas. Each hit/miss reply carries a Merkle proof against the locked fleet, so a lie is mathematically impossible to hide.

fire at the fleet you committed

Click a cell to fire. The opponent must reply with a proof against their locked fleet.

the reply must prove itself

leaf → proof siblings → recomputed root → compare to the locked fleet root

That is the very fleet you committed in Step 1, so every reply proves itself against the same locked root. All of this happens off-chain between the two clients, no gas, no server. Toggle opponent lies to see a forged reply get caught.

How Merkle proofs make lying impossible, in depth →

Step 3 · Settle on-chain

One transaction to finish

The chain is touched only to start and to settle, roughly one or two transactions per player, never one per move. Three ways a game ends, and you can never lose a stake to a cheater:

✍️

Cooperative

The loser signs a one-line concession. The winner submits it. Cheapest path, one signature, one tx.

1 tx · happy path
🛰️

Proof of win

By the time you've sunk the fleet you hold the opponent's reveals for every ship cell, so you prove the win on-chain. No cooperation needed.

1 tx · trustless

Timeout

Opponent vanishes? After a deadline, either side voids the game and BOTH stakes refund. You can never lose a stake to a quitter.

refund · anti-grief
Free vs Paid

Same game. One important difference.

Battlerocketship runs identically whether or not money is involved. The toggle below shows exactly what changes when you add stakes, and why that one change matters so much.

player A
🏆
ranking · bragging rights
no money at stake
player B
Entry
None, play for free
Prize
Rating + bragging rights
Who wins money
Nobody
House / rake
0
Escrow
None
Best for
Learning, ranked ladder, tournaments

Same game, same trust-minimized engine. The only difference is whether you burn a little MOON for a permanent, non-transferable trophy. Nobody ever wins money either way.

Open source. Deploy your own.

The contract is generic and MIT-licensed, point it at any ERC-20 (or none, for free play) and host an instance yourself. The DAO is never the house, and takes no rake.

Free games are just for fun. Burn-for-badge games destroy a little MOON for a soulbound trophy, and nobody ever wins money. Whoever deploys an instance is responsible for where it runs.

🚀 a CCMOON DAO experiment · provably-fair · no referee · no house