A Telegram bot where users predict if SOL price goes UP or DOWN in 30 seconds. Built on MagicBlock's Ephemeral Rollup for real-time, zero-fee onchain game state.
- User sends /start → bot generates a Solana wallet for them
- User taps Predict → picks UP or DOWN → picks bet amount
- Bot delegates game state to Ephemeral Rollup
- 30 seconds later → bot fetches live SOL price via Binance API
- Bot resolves prediction onchain → winner receives 1.9x payout
- Ephemeral Rollup — game session state lives on ER during the 30s window
- Devnet deployment — program deployed and verified on Solana devnet
- magic_game:
HCpnMwBcTrfsRGBriow3vqSEZF7WxsgpQ52jy7WjNphM - roll_dice_delegated:
BwS37np2uAnjgJ8rk8REbSSC1GzyYQQEEkEPtYbB9zHT
- Bot: grammy + TypeScript + Node.js
- Blockchain: Anchor + @coral-xyz/anchor + @solana/web3.js
- State: MagicBlock Ephemeral Rollup SDK
- Storage: Redis (wallet persistence)
- Price Feed: Binance API
User (Telegram) → grammy bot → Anchor program → Ephemeral Rollup → Solana devnet ↑ Redis (wallet store)
git clone https://github.com/Enmilo-dev/magic-game-tg
cd magic-game-tg
npm install
cp .env.example .env # fill in your values
npm run start:devBOT_TOKEN= HOUSE_KEYPAIR= REDIS_HOST= REDIS_PORT= REDIS_PASSWORD= REDIS_USERNAME= RPC_URL=https://api.devnet.solana.com ER_RPC_URL=https://devnet.magicblock.app PROGRAM_ID=HCpnMwBcTrfsRGBriow3vqSEZF7WxsgpQ52jy7WjNphM