Testnet preview — test tokens, no real value

Transparency

How the money moves, where the contracts live, and how to check every settled board yourself.

How the money moves

WagerMate never holds your stake. When two players fund a staked board, both stakes go into an escrow smart contract — a program on a public blockchain that neither player nor WagerMate can rewrite.

The contract accepts exactly three instructions from WagerMate's settlement oracle: pay everything to player A, pay everything to player B, or refund both players in full. There is no fourth instruction. The oracle cannot send funds to itself, to WagerMate, or to anyone else — the contract refuses.

If a board never funds, nobody needs our permission to exit: once the funding deadline passes, anyone can call the contract's cancel function and every deposit goes straight back where it came from.

What you trust, and what you don't

You are trusting WagerMate's oracle to report the right winner. You are not trusting us to hold, move, or return your money — the contract's three-instruction limit enforces that no matter what our software does.

The contracts

These are the exact contracts WagerMate runs on today, on Base Sepolia — a public test network. Stakes are mUSDC, a test token with no real-world value. No real funds move here. Before any real-money play, the mainnet gate applies — key management, contract review, and compliance checks are all ahead of, not behind, us.

Loading environment…

Check our work

1. The wager's identity

Every wager has a public id — the UUID in the ledger below. Its on-chain identity is derived from that id, not assigned by us: wagerId = keccak256 of the UTF-8 bytes of the lowercased public id. The ledger shows the stored on-chain id and a freshly derived one side by side — they must always match, and you can recompute the derivation with any keccak256 tool.

2. The settlement transaction

Open the settlement transaction on the block explorer. A decisive game pays both stakes to the winner's wallet; a draw refunds both players. The contract's event log names the wagerId and the winner.

3. Read the contract directly

Call getWager(wagerId) on the escrow contract — the explorer's "Read Contract" tab works. It returns the players, the token, the amount, and the final state. That record is permanent.

Game records: what's on-chain and what isn't

The chain proves who was paid — the result. The moves themselves — the PGN — live in WagerMate's records and are published here in full, each with a sha256 fingerprint of the exact PGN text. The fingerprint is not stored on-chain. What it gives you: save it (or the PGN itself), and any later change to the published record is immediately detectable. Verify a fingerprint with stock tools:

printf '%s' '<pgn>' | shasum -a 256

The ledger

Every wager that reached a final state — paid out, refunded, or cancelled — newest first. Cancelled and refunded boards stay on the books alongside settled ones.