How the money moves, where the contracts live, and how to check every settled board yourself.
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.
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.
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…
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.
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.
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.
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
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.