MONSTER HUNTER 金屬卡牌 預定 2026.11.06 發售 HONG KONG DELIVERY ONLY
Deployed on Sepolia Testnet

Decentralized
Baccarat

On-chain Punto Banco powered by Chainlink VRF v2.5. Provably fair dealing — no server, no trust required.

Contract Details

Network

Sepolia Testnet

Ethereum Testnet

Contract Address

0xa7A4acAfe14769FC323ec750299628e9f4c916Bf

Solidity v0.8.20 · Source verified ✓

Minimum Bet

0.001 ETH

Maximum Bet

10 ETH

Shoe Size

416 cards

8 decks · 52 cards each

How It Works

The contract is a fully on-chain Baccarat table operating without any server or third party. The house (owner) manages the shoe and opens betting; players call placeBet() with ETH to join each round.

🎴Randomness via Chainlink VRF v2.5 — one VRF call covers an entire 8-deck shoe (~60+ rounds), keeping LINK costs minimal.
🔀Cards are shuffled using a lazy Fisher-Yates algorithm — no upfront storage writes; each card is derived on demand from the VRF seed.
💰Winners are paid automatically in the same transaction as deal().

Randomness Model

VRF

Shoe Seed

Chainlink VRF v2.5 provides a 256-bit verifiably random seed once per shoe shuffle. Truly unmanipulable.

K

Card Draws

keccak256(seed, position) — deterministic given the seed, generating a provably fair permutation for all 416 cards.

The seed is replaced on every reshuffle — each shoe is fully independent and verifiable on-chain.

Bet Types & Payouts

P

Player

1 : 1

Stake × 2 returned

B

Banker

0.95 : 1

Stake + stake × 19/20

T

Tie

8 : 1

Stake × 9 returned

Push rule: If the outcome is a Tie and you bet Player or Banker, your original stake is returned.

Game Flow

Each round follows this deterministic sequence on-chain

1

Request Shoe

requestShoe()

Owner submits a Chainlink VRF request. The contract moves into a pending state while awaiting the random seed.

2

VRF Fulfillment

fulfillRandomWords()

Chainlink delivers a 256-bit random seed. The shoe generation counter increments — no storage clearing needed.

3

Open Betting

openBetting()

Owner opens the betting window. Previous bets and round data are cleared. State moves to BETTING.

4

Place Bets

placeBet(betType)

Players send ETH (0.001 – 10 ETH) and choose PLAYER, BANKER, or TIE. Multiple bets are accepted.

5

Deal & Settle

deal()

Owner triggers the deal. Cards are drawn per Punto Banco rules, outcome is determined, and all winners are paid in one transaction.

Baccarat Rules

Card Values

Ace1 point
2 – 9Face value
10, J, Q, K0 points

Totals are calculated modulo 10. Maximum score is 9.

Drawing Rules

Natural:If either side totals 8 or 9 after two cards — no more cards are drawn.
Player:Draws a third card if total ≤ 5; stands on 6 or 7.
Banker:Follows the standard Banker drawing table based on own total and Player's third card.

Shoe Parameters

8

Decks

416

Total Cards

384

Cut Card Position

~60+

Rounds per Shoe

Explore the Contract

The full source code is verified and available on Etherscan. Read state, inspect events, and interact directly.