PeetBet Logo
PeetBet
HomeDashboardDocsAbout Us
Connect Wallet
OverviewHow It WorksConnect WalletProvably FairChainlink VRFNerd ZoneGamesCoin Flip RulesDice RulesContractsFees & EconomicsFree WithdrawalsReferral RulesFAQVerify & AuditScam AwarenessTerms & Conditions
Provably Fair

100% Blockchain. 0% Server.

Every bet, every random number, every payout is verifiable on the blockchain. We can't cheat you because we don't have the infrastructure to.

Live Odds from Smart Contract

These odds are read directly from the blockchain in real-time. They cannot be changed without a public transaction.

Your Win Rate

50.0%

Playing vs House

House Win Rate

50.0%

House games

House Edge

0.0%

Fair (0%)

P2P Games Are Always 50/50

When you play against another player (not the house), the odds are exactly 50/50 with zero house edge. The contract code proves this.

Verify These Odds On-Chain

0x10ff96bf...f04751cf

How Chainlink VRF Works

1

You Place Your Bet

When you bet, the smart contract locks your funds and calls Chainlink VRF to request a random number. At this point, nobody knows the outcome.

playHouseGame(betAmount) → requestRandomWords(roomId)
2

VRF Oracle Receives Request

Chainlink's decentralized oracle network receives the request. Multiple independent node operators participate to generate the random number.

VRFCoordinator.requestRandomWords(keyHash, subId, confirmations, gasLimit, numWords)
3

Cryptographic Randomness Generated

Chainlink generates a 256-bit random number using cryptographic proofs. This number is verifiable on-chain and nobody could have predicted it.

randomWords[0] → 256-bit cryptographically secure random number
4

Winner Determined & Paid

The random number is used to determine the winner (e.g., odd/even for coin flip). The smart contract automatically transfers winnings to the winner.

winner = randomWords[0] % 2 == 0 ? playerA : playerB

Mathematical Fairness Guaranteed

Chainlink VRF generates a 256-bit cryptographically secure random number. This number has a mathematically perfect 50/50 distribution for binary outcomes.

256-bit Random Number

A truly random 256-bit number has exactly 50% probability of ending in 0 (even) and 50% probability of ending in 1 (odd). This is mathematical fact, not an approximation.

The Modulo Operation

randomWords[0] % 2

We use modulo 2 (% 2) to determine the winner. If the random number is even, the result is 0. If odd, the result is 1.

0

Even number

Player A wins

1

Odd number

Player B wins

Cryptographic Proof Prevents Manipulation

Chainlink VRF includes a cryptographic proof with every random number. This proof verifies the number was generated correctly - even the VRF node operator cannot choose a specific outcome.

Room Creator = Room Joiner

A common question: Does creating a room give you an advantage? The answer is NO. Here's why both players have exactly the same odds:

Room Creator (Player A)

  • Creates the room and sets bet amount
  • Assigned to outcome 0 (even numbers)
  • Waits for opponent to join
50%

Win Chance

Room Joiner (Player B)

  • Joins an existing room
  • Assigned to outcome 1 (odd numbers)
  • Triggers the game to start
50%

Win Chance

Why It's Mathematically Equal

The random number is generated AFTER both players have joined. Neither player can influence the outcome. Since even and odd numbers are equally distributed in any random set, both outcomes have exactly 50% probability. Creating a room does NOT give any advantage.

// Player A wins if random % 2 == 0 (50%) // Player B wins if random % 2 == 1 (50%) // The assignment is arbitrary - neither position has an advantage

Why Zero Server Matters

Traditional Online Casinos

  • ✗Server controls the random number generator
  • ✗Backend can adjust odds in real-time
  • ✗You can't verify game outcomes
  • ✗House always has hidden advantage

PeetBet (100% Blockchain)

  • Chainlink VRF generates random numbers
  • Odds are stored on-chain and immutable
  • Every game outcome is publicly verifiable
  • Code is the law - no hidden manipulation

Verify It Yourself

You don't have to trust us. Here's how to verify any game outcome:

1

Go to Etherscan

Open the contract address on Etherscan. All transactions and events are public.

2

Find the Game Transaction

Look for the transaction hash of your game. You can find it in your wallet history.

3

Check the VRF Callback

Find the fulfillRandomWords event. This shows the exact random number used.

4

Verify the Math

Use the random number to verify the outcome: randomWord % 2 = 0 means Player A wins, 1 means Player B wins.

The Actual Contract Code

This is the real code that determines winners. It's deployed on Ethereum and cannot be changed.

// Winner determination logic (from PeetBet.sol)
function fulfillRandomWords(uint256 requestId, uint256[] calldata randomWords) internal {
    uint256 roomId = requestIdToRoomId[requestId];
    GameRoom storage room = rooms[roomId];

    address winner;

    if (room.isHouseGame && houseEdgeBps > 0) {
        // House game with edge: use 10000-based calculation
        uint256 userWinThreshold = 5000 - (houseEdgeBps / 2);
        uint256 randomResult = randomWords[0] % 10000;
        winner = randomResult < userWinThreshold ? room.playerA : room.playerB;
    } else {
        // P2P or house game with no edge: pure 50/50
        uint256 randomResult = randomWords[0] % 2;
        winner = randomResult == 0 ? room.playerA : room.playerB;
    }

    room.winner = winner;
    balances[winner] += (room.betAmount * 2);
    emit GameResult(roomId, winner);
}
PeetBet Logo

PeetBet

Decentralized peer-to-peer crypto betting with provably fair randomness.

Navigation

  • Dashboard
  • Play
  • Rooms
  • Leaderboard
  • Missions
  • Referrals
  • History
  • Transparency
  • Settings

Resources

  • About Us
  • Documentation
  • How It Works
  • Fees
  • Get Help
  • Discord

Follow Us on X

This is our main social media. Follow us there for updates, news, and community events!

@PeetBet →

Join Our Telegram

Join our community group for real-time discussions, support, and updates!

t.me/peetbet →

Get in Touch

For collaborations, marketing campaigns, bug reports, or if you want to work with us, reach out here.

peet.bet.global@gmail.com

Beta Version (Peet.bet v1.0.0)

This platform is in beta. Use at your own risk. Please read our Terms & Conditions

v1.0.0

Bug Hunter Program

Found a bug or vulnerability? Report it and get rewarded! Join our dev team and earn $$$.

Report Bug via Email

© 2026 PeetBet. All rights reserved.

Terms & Conditions|Disclaimer

Built on Ethereum