Browse by type
Production-ready Platform for building provably fair casino games on Solana and EVM chains. Includes 10 games (Crash, Plinko, Dice, Blackjack, Roulette, Poker, Slots, CoinFlip, Jackpot, Lottery) with VRF-powered randomness via Chainlink and ORAO.
This repository provides production-ready Solana and EVM casino game smart contracts for building provably fair Web3 casino games. It supports multi-chain deployment on Solana and EVM networks, enabling developers to create decentralized casino games with transparent logic, verifiable randomness, and on-chain fairness.
10 Classic Casino Games • Multi-Chain Support • Provably Fair • Telegram Integration
🎮 Games • 🔗 Chains • 🛠️ Tech Stack • 🚀 Quick Start • 📱 Contact
Demo videos
GitHub does not allow an embedded YouTube player inside README.md (no iframe or player “module” there). Use Play on YouTube or the thumbnail; on YouTube, use the normal play control.
A fully decentralized, provably fair casino platform supporting Solana and EVM-compatible chains. (Additional chains can be added by extending the same patterns.) Play classic casino games with transparent, verifiable outcomes powered by VRF (Verifiable Random Function) technology.
docs/README.mddocs/GAMES.mddocs/GETTING_STARTED.mdBuilt for: - 🎲 Casino operators looking for multi-chain support - 🏦 DeFi protocols integrating gaming features - 👥 Communities wanting to run their own casino - 💼 Token projects seeking utility and engagement
┌────────────────────────────────────────────────┐
│ Frontend (Next.js) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Phantom │ │ MetaMask │ │ Telegram │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└────────────────────────────────────────────────┘
│
┌─────────────┴─────────────┐
│ │
┌───────▼────────┐ ┌───────▼────────┐
│ Solana Chain │ │ EVM Chains │
│ │ │ │
│ ┌────────────┐ │ │ ┌────────────┐ │
│ │ ORAO VRF │ │ │ │Chainlink │ │
│ └────────────┘ │ │ │ VRF │ │
│ │ │ └────────────┘ │
│ ┌────────────┐ │ │ ┌────────────┐ │
│ │Game │ │ │ │Game │ │
│ │Programs │ │ │ │Contracts │ │
│ └────────────┘ │ │ └────────────┘ │
└────────────────┘ └────────────────┘
┌─────────────────────┐ ┌──────────────────────┐ ┌─────────────────────┐
│ originals-games │────▶│ originals-backend │────▶│ originals-rng │
│ │ │ │ │ │
│ Next.js 16 + React │ │ Express + Prisma │ │ NestJS + Crypto │
│ Port 4000 │ │ Port 3001 │ │ Port 3002 │
│ │ │ PostgreSQL │ │ │
│ WebSocket + HTTP │────▶│ Socket.IO │ │ REST API │
└─────────────────────┘ └──────────────────────┘ └─────────────────────┘
┌──────────────────┐
│ External CDN │
│ (Static Assets) │
└────────┬─────────┘
│
┌─────────────▼─────────────┐
│ Load Balancer │
│ (nginx / ALB) │
└─────────────┬─────────────┘
│
┌────────────────────────────────┼────────────────────────────────┐
│ │ │
┌────────▼────────┐ ┌────────▼────────┐ ┌────────▼────────┐
│ Frontend #1 │ │ Frontend #2 │ │ Frontend #N │
│ Next.js │ │ Next.js │ │ Next.js │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└────────────────────────────────┼────────────────────────────────┘
│
┌─────────────▼─────────────┐
│ API Load Balancer │
│ (sticky sessions) │
└─────────────┬─────────────┘
│
┌────────────────────────────────┼────────────────────────────────┐
│ │ │
┌────────▼────────┐ ┌────────▼────────┐ ┌────────▼────────┐
│ Backend #1 │ │ Backend #2 │ │ Backend #N │
│ Express.js │ │ Express.js │ │ Express.js │
└────────┬────────┘ └────────┬────────┘ └────────┬────────┘
│ │ │
└────────────────────────────────┼────────────────────────────────┘
│
┌─────────────────────────────────────────┼─────────────────────────────────────────┐
│ │ │
│ ┌────────────────────┼────────────────────┐ │
│ │ │ │ │
┌───────▼───────┐ ┌───────▼───────┐ ┌───────▼───────┐ ┌───────▼───────┐ ┌───────▼───────┐
│ Redis │ │ PgBouncer │ │ RNG Cluster │ │ External │ │ Game DB │
│ (sessions, │ │ (connection │ │ (4-8 nodes │ │ Wallet │ │ (PostgreSQL) │
│ socket.io, │ │ pooling) │ │ clustered) │ │ API │ │ │
│ cache) │ └───────┬───────┘ └───────────────┘ │ (Your Casino │ │ Game state, │
└───────────────┘ │ │Infrastructure)│ │ sessions, │
│ └───────────────┘ │ history │
┌─────────▼─────────┐ └───────────────┘
│ PostgreSQL │
│ (game sessions │
│ + read replica) │
└───────────────────┘
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Frontend │───▶│ Backend │───▶│ RNG │ │ External │ │ Game DB │
│ │ │ │ │ Service │ │ Wallet │ │ │
│ │ │ │◀───│ │ │ API │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │────┼────────────▶│ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │◀───┼─────────────│ │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │───────────────────────────────────────▶│ │
│ │ │ │ │ │ │ │ │ │
│ │◀───│ │◀───────────────────────────────────────│ │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
1. Frontend sends game action (bet/hit/stand/etc)
2. Backend validates request + JWT
3. Backend calls External Wallet API to deduct bet (if new game)
4. Backend calls RNG for random outcome
5. Backend calculates result
6. Backend calls External Wallet API to credit winnings (if won)
7. Backend saves game state to Game DB
8. Backend returns result to Frontend
| ### 🎯 Plinko Drop the ball and watch it bounce! - **Mechanics:** Ball path via VRF → multiplier - **Max Payout:** Up to 1000x - **Provably Fair:** ✅ - **Physics Engine:** Realistic bouncing animation | ### 📈 Crash Cash out before it crashes! - **Mechanics:** Auto-cashout + VRF curve - **Max Multiplier:** Unlimited potential - **Provably Fair:** ✅ - **Live Stats:** Real-time crash history |
| ### 🎲 Dice Roll under or over your target! - **Mechanics:** Under/Over + VRF - **Dynamic Multipliers:** Based on probability - **Animated Rolls:** Realistic physics - **Live Probability:** Real-time win chances - **Detailed History:** Visual indicators | ### 💰 Jackpot Community progressive jackpot! - **Mechanics:** 5% rake → pool - **Prize Pool:** Grows with every bet - **Provably Fair:** ✅ - **Winner Selection:** Random VRF draw |
| ### 🪙 Coin Flip Simple 50/50 chance! - **Payout:** 1.95x your bet - **Mechanics:** 50/50 + VRF - **Animation:** Realistic coin flip physics - **Instant Results:** Immediate settlement - **Enhanced Visuals:** History tracking | ### 🎰 Slots Match 3 symbols to win big! - **Max Payout:** 25x your bet - **Features:** Immersive animations - **Sound Effects:** Spinning, stops, wins - **Jackpot Mode:** Confetti & flashing lights - **Payout Table:** Detailed odds display |
| ### 🃏 Poker Texas Hold'em tournaments! - **Mode:** Multi-player tournaments - **Provably Fair:** ✅ - **Buy-ins:** Flexible stakes - **Prize Pools:** Tournament-based | ### 🂡 Blackjack Beat the dealer to 21! - **Payout:** 3:2 on Blackjack - **Features:** Split, Double Down, Insurance - **Provably Fair:** ✅ - **Strategy Guide:** Included |
| ### 🎡 Roulette Spin the wheel of fortune! - **Types:** European & American - **Bets:** Inside, Outside, Neighbors - **Provably Fair:** ✅ - **Live Animation:** Realistic wheel spin | ### 🎟️ Lottery Draw your winning numbers! - **Mechanics:** Pick 6 numbers - **Jackpot:** Progressive prize pool - **Drawings:** Scheduled or instant - **Provably Fair:** ✅ |
| Blockchain | Network | Status | Tech Stack |
|---|---|---|---|
| 🟣 Solana | Mainnet Beta | ✅ Live | Rust + Anchor |
| 🔵 Ethereum | Mainnet | ✅ Live | Solidity + Foundry |
| 🔷 Base | Mainnet | ✅ Live | Solidity + Hardhat |
| 🔴 Arbitrum | One | ✅ Live | Solidity + Foundry |
| 🟣 Polygon | PoS | ✅ Live | Solidity + Hardhat |
| Platform | Languages | Frameworks | Testing |
|---|---|---|---|
$ claude mcp add solana-casino-games-evm-web3 \
-- python -m otcore.mcp_server <graph>