← Back to Sol Wager

Fairness & Proof

Last updated: 2026-06-08

Why this page exists. You're wagering real money against other players. You deserve to know exactly how outcomes are decided, where the platform's cut comes from, and how to verify any game on-chain. Below is every relevant mechanic of Sol Wager, in plain language. If something isn't covered, ask via support and we'll add it.

How game outcomes are determined

Coin Flip — provably fair

Coin Flip uses a commit-reveal scheme so you can prove the result was fixed before the round started, not chosen after. When the round begins, the server generates a random 32-byte serverSeed (from crypto.randomBytes, the OS entropy pool) and publishes its SHA-256 — the commitmentbefore any bet is locked. The second input, the clientSeed, is not chosen by us: when the round locks it is set to a future Solana block hash (a slot a few blocks ahead) — entropy that neither the operator nor any player can predict or steer. Committing the server seed up front while drawing the client seed from a future block means the outcome can't be ground out by anyone, not merely proven after the fact.

Each flip N is then sha256(serverSeed:clientSeed:N); the first byte decides it (< 128 = heads, otherwise tails). Uniform, no weighting. When the game ends, the server reveals the serverSeed, the clientSeed (the block hash) and the slot it came from. Anyone can confirm the serverSeed's SHA-256 matches the hash shown at the start, check the block hash against that on-chain slot, then re-derive every flip — proving the outcome couldn't have been altered mid-game. Verify a game below.

Sol Wager has no incentive to bias the outcome. We're not the counterparty — one of the two players pays the other. We just take a 2% platform fee from the winning pot regardless of who wins.

Coin Fight

Coin Fight is a real-time multiplayer arena game. There is no RNG for outcome — players control their cells, eat food, eject mass, and eliminate each other through skill. The server runs the authoritative simulation at 30 ticks per second; clients send input, the server computes physics and collisions. Win condition: last cell alive when the timer expires or all other players are eliminated.

Two RNG-driven elements: (1) initial spawn positions are uniform random, (2) food and rugger spawn locations are uniform random. Neither affects who wins more than starting position in any other arena game.

Word Fight — provably fair

Word Fight uses the same commit-reveal scheme. At round start the server commits to a hashed serverSeed; the clientSeed is drawn at lock from a future Solana block hash (not pre-chosen by us). The target word is then chosen deterministically: sha256(serverSeed:clientSeed) modulo the size of the answer list for the chosen length picks the index. The same word is used for all players in the lobby; whoever guesses it in the fewest tries wins. Because the server commits to its seed before the round and the client seed is an unpredictable future block hash, the word could not have been swapped mid-game or steered toward one a player had already guessed — it was fixed the instant the round locked.

Wheel of Fortune — provably fair

The wheel commits to a hashed serverSeed when the round opens — before anyone buys in. Each player's slice is sized in proportion to their wager (bigger wager = bigger slice = proportionally higher win chance). When the round locks, the clientSeed is set to a future Solana block hash and a winning ticket in [0, totalWager) is derived from sha256(serverSeed:clientSeed) and lands in exactly one player's interval. Because the server seed was committed before any buy-in and the client seed is an unpredictable future block hash, the operator cannot have steered the result. Winner takes the pot minus the 2% fee.

Chess — provably fair

Chess uses the same commit-reveal scheme to assign the colors (White moves first, a real edge). The two players are ordered by public key, and sha256(serverSeed:clientSeed:chess) — first byte mod 2 — picks which one gets White. The server seed is committed before the game locks and the client seed is a future Solana block hash, so neither the house nor a player can steer who opens. The result screen reveals the seeds + both keys; paste them below to re-derive who should have been White.

Verify a game

After any Coin Flip or Word Fight, the result screen shows the revealed serverSeed, its committed hash, and the clientSeed. Paste them here to check the result yourself — this runs the exact same SHA-256 derivation the server uses, entirely in your browser.

How to verify a game on-chain

Every payout, refund, deposit, and withdrawal is a real Solana transaction. You can verify any of them yourself:

  1. Click any win in the activity ticker on the homepage, or any entry on your dashboard's Recent Games page. The transaction signature is shown.
  2. Open Solscan (or your preferred Solana explorer like Solana Explorer or SolanaFM).
  3. Paste the transaction signature into the search bar.
  4. You'll see: the source wallet (Sol Wager's escrow), the destination (your platform wallet), the amount transferred, and the block timestamp.

The escrow wallet's on-chain activity is public. You can audit its full inflow/outflow at any time. This means: if we were siphoning funds, the blockchain would show it.

Fee structure

Sol Wager makes money one way: a 2% platform fee on the total pot, deducted from the winner's payout. Nothing else.

Example: 1v1 Coin Flip, $10 each player
Total pot: $20.00
Platform fee (2%): −$0.40
Winner receives: $19.60
Example: 10-player Coin Fight, $5 each
Total pot: $50.00
Platform fee (2%): −$1.00
Winner receives: $49.00

Network fees (Solana, not us)

Solana itself charges a per-transaction fee of roughly 5,000 lamports (about $0.0004 at current SOL prices). This is paid to Solana validators, not to us. Where this fee comes from:

  • Deposit: your personal wallet pays the fee
  • Withdrawal: deducted from the withdrawal amount
  • Wager into escrow: your platform wallet pays
  • Refund from escrow: deducted from the refund amount
  • Payout to winner: paid by escrow from the 2% platform fee accumulated in escrow

How the escrow works

When you wager, your platform wallet sends the wager amount to a shared escrow wallet controlled by Sol Wager. The escrow holds all active wagers until the game completes:

  • If you win — escrow sends the pot (minus 2% platform fee) to your platform wallet
  • If you lose — your share stays in escrow and is paid out to the winner
  • If the game cannot complete (e.g. server crash, you leave a lobby that hasn't started) — the wager is returned to your platform wallet via the escrow recovery service, which sweeps every 30 minutes

Escrow balance is on-chain and publicly auditable. The address changes occasionally for security; the current escrow public key can be revealed in any payout transaction.

Platform wallets & token

Every wager, payout, fee, and burn flows through these public Solana wallets. Open any of them on an explorer to audit the full on-chain history yourself — including confirming that the escrow holds the active pots.

Loading addresses…

Referral fee allocation

If you join via someone's referral code, your referrer earns 25% of your share of the 2% platform fee on the games you play. From the winner's perspective, the payout is identical — you still get (pot − 2%). The referral cut comes out of our 2%, not your bet. Refer active players and you collect a recurring share of the fee on their games.

Example: $20 pot, two players betting $10 each, you referred one of them
Total pot: $20.00
Winner receives: $19.60
Platform fee: $0.40
...your referee bet half the pot, so their share of the fee is $0.20
...you earn 25% of that = $0.05
...the platform keeps the remaining $0.35

Provably-fair: what's covered

The stronger model used by leading crypto gambling platforms (e.g. Stake, BC.Game) is provably-fair: the server publishes a hash of its random seed before each game, then reveals the seed after, so players can independently verify the result wasn't changed mid-play.

This is now live for every chance-based game: Coin Flip, Word Fight, Wheel of Fortune, and Chess (color assignment). Each commits to a hash of its server seed before any bet is locked, and draws the client seed from an unpredictable future Solana block hash when the round locks; both are revealed at game over, and you can check any result with the verifier above. Concretely:

  • ✅ The randomness itself is genuinely random (a 32-byte seed from the OS entropy pool)
  • ✅ The server commits to the seed's hash before the game, so it cannot be changed after bets are placed
  • ✅ The client seed is an unpredictable future Solana block hash drawn when the round locks, so neither we nor any player can foresee or steer the outcome — not merely prove it after the fact
  • ✅ Every outcome is permanently recorded on-chain, and the proof is stored with the game history
  • ✅ You can independently re-derive every outcome from the revealed seed

Coin Fight is skill-based, not a chance game — players control their cells and win by elimination, so there's no outcome seed to commit to (only spawn/food positions are random, the same as any arena game). Connect Four is fully deterministic; the only randomness is the auto-move played if a player lets their turn clock expire.

On top of this, the structural argument still holds: Sol Wager has no incentive to bias outcomes. We are not the counterparty in any wager — the loser pays the winner, and we collect a flat 2% regardless.

Play responsibly

Wagering is risky. Never wager more than you can afford to lose. If you find yourself wagering compulsively:

  • US: National Council on Problem Gambling — call/text 1-800-GAMBLER
  • UK: GamCare — 0808 8020 133
  • Worldwide: Gambling Therapy

Questions?

If anything on this page is unclear, contact support. We'd rather over-explain than have you wonder.