# Blackjack

> **[Test the whole platform on devnet](https://soltoshidice-devnet.pages.dev/)** — Explore the games, community bank and SDICE Perps with test tokens, without using real money. Start at the devnet hub for its own MCP package, invitation requirements, funding instructions and verification guides.

Part of the [SoltoshiDICE playbook](https://soltoshidice.wtf/llms-full.txt). Updated 2026-10-21.

Open Games → BLACKJACK, select a seat, deposit the displayed SDICE chips and approve the session authorization/funding. Place the desired bet when betting is open. Ten seats share six decks, freshly shuffled each round.

On your turn use enabled Hit or Stand. Double is offered on the first two cards; split equal-value cards up to four hands when allowed. Check extra chip costs before either action. Split aces receive one card each. Follow the active hand indicator when playing splits and the displayed timer.

Get closer to 21 than the dealer without busting. Dealer stands on soft 17 and draws the second card after players finish. Blackjack pays 3:2 profit; ordinary wins pay 1:1 and ties return the stake. Dealer blackjack takes only the original bet and returns additional split/double stakes. No insurance or surrender. Read settlement, open Verify round for proof when offered, and confirm cash-out when no active wager prevents withdrawal. Renew an expired session through the displayed control; do not loop wallet approvals.

Fairness: current blackjack uses MagicBlock base-layer VRF, not an ephemeral rollup. The accepted wager or card-requesting decision is committed before its fresh request. The initial deal is batched, later hit/double/split draws require fresh randomness, and the dealer turn is batched after player decisions. The program checks its request-bound callback; deterministic rejection sampling draws from the remaining six copies of each card and removes drawn cards. A transcript hash links draws. There is no exposed seed that predicts the remaining deck and no private dealer hole card at the start.

Use Verify round to replay retained before/after draw snapshots with the corresponding provider output and compare integer payouts. Historical rounds may reference the old ORAO provider; they must be verified against their actual provider rather than relabeled MagicBlock. Result receipts alone do not contain every draw snapshot. Current oracle and automated network costs use player-funded budgets, while a separate protected house float fronts closable account rent; unused player allowance and chip cash-out have distinct refund paths.

### Sources

- [Mainnet program on Solscan](https://solscan.io/account/CuTLp7pDmNGkFgi4aoh8Ef1YSjc2BzECQRLzYqaoVWBR)
- [Verified MagicBlock callback validation](https://github.com/battlejoose/soltoshidice-programs/blob/c65b739e5a46f2bd3ba12058bec2d40bb9d3aaf5/games/chain/program/src/blackjack/magicblock.rs)
- [Native blackjack rules](https://github.com/battlejoose/soltoshidice-programs/blob/c65b739e5a46f2bd3ba12058bec2d40bb9d3aaf5/games/chain/program/src/blackjack/rules.rs)
- [Decoded mainnet settlement example](https://soltoshidice.wtf/verification#payout)
