Baccarat
Standard Punto Banco baccarat (Player, Banker, Tie) with the third-card draw rules implemented in pure Solidity.
How it works
The Overtime Baccarat contract implements the classic third-card rules of Punto Banco baccarat. When you place a bet:
You stake on Player, Banker or Tie
The contract requests a random word from Chainlink VRF
From that random word, the contract deals the initial four cards (Player + Banker, two each)
The third-card draw rules are applied deterministically based on the totals
The hand totals are computed, the winner is determined, and your payout is transferred
The hand is dealt and resolved in the same VRF callback — there's no stateful turn-by-turn UX as in blackjack, because in Punto Banco the player makes no decisions after placing the bet.
Bet types and payouts
Player
Player hand wins
2.00× (1:1 + stake)
Banker
Banker hand wins
1.95× default (configurable, capped 1.00×–2.00× on-chain)
Tie
Player and Banker totals equal
9.00× (8:1 + stake)
Player or Banker bet, when result is Tie
/
Stake refunded (push)
The Banker payout being slightly under 2× reflects the standard 5% commission found at any traditional baccarat table — except in Overtime's case the multiplier is a public state variable. Any change emits a BankerPayoutMultiplierChanged event. Every bettor who comes after sees the new number before they place their stake.
The contract structurally enforces that the Banker payout cannot be set outside the [1.00×, 2.00×] range. It is not possible to deploy a configuration that under-pays Banker bets to a degrading degree.
Limits
Minimum bet
3 USD
Banker payout multiplier
1.95× default, configurable in [1.00×, 2.00×]
Maximum profit per bet
Set per deployment (maxProfitUsd)
Cancel timeout
30 seconds minimum
Supported collaterals: USDC, WETH, $OVER.
Punto Banco rules in plain text
After the initial four cards:
If either Player or Banker has a natural 8 or 9, the hand stands. No third cards.
Otherwise, Player rule: Player draws if total is 0–5, stands on 6–7.
Banker rule (depends on whether Player drew, and on Player's third card):
If Player stood: Banker draws on 0–5, stands on 6–7.
If Player drew: Banker's draw rule depends on Banker's current total and the value of Player's third card, per the standard Punto Banco draw chart.
Final hand totals are computed (modulo 10), and the higher total wins. Equal totals = Tie.
The full rule logic is implemented in the contract and can be inspected directly. Card values follow the standard convention: 2–9 are face value, 10 / J / Q / K count as 0, Ace counts as 1.
User guide
1. Open the Baccarat table
Select Baccarat from the casino lobby.
[Screenshot — Baccarat lobby tile]
2. Place your stake
Choose your collateral, enter your stake, and click on the PLAYER, BANKER or TIE betting area.
[Screenshot — bet placement on Player/Banker/Tie]
3. Confirm the bet
Sign the transaction. The bet enters PENDING while waiting for Chainlink VRF to fulfill.
[Screenshot — pending bet]
4. Cards are dealt and resolved
When the random word arrives, the entire hand plays out at once: initial four cards, third-card draws (if applicable), final totals, and the winner. The cards and result are revealed in your bet UI.
[Screenshot — hand reveal with Player and Banker totals]
5. Payout
If you won, your payout is transferred in the same transaction that resolved the hand. If your Player or Banker bet pushed because of a Tie, your stake is refunded. The full result is in your bet history and on-chain.
[Screenshot — resolved hand with payout]
Why this matters
Baccarat is one of the simpler casino games — but it's also one of the most heavily abused by predatory operators, especially around variable Banker commissions and "house rule" surprises. Overtime makes that impossible:
The Banker payout multiplier is a public number. You can read it from the contract before you bet.
The cap is welded in. The owner cannot drop it below 1.00× or push it above 2.00×.
The third-card rules are code, not house policy. They cannot be adjusted between hands.
The cards do not exist until Chainlink generates the random word. No pre-shuffled shoe. No operator-chosen sequence.
Free bets
Baccarat supports placeBetWithFreeBet for users with an Overtime free-bet balance. The mechanics are identical, and resolution flows through the existing free-bets infrastructure.
Last updated
