More Information about Bet-A-Sketchy
IMPORTANT: This game is currently in BETA! Features may change, and there could be unexpected issues. Play at your own risk.
Welcome to Bet-A-Sketchy!
Bet-A-Sketchy is an exciting blockchain-based game where two players stake their SketchyMilios NFTs in a fair coin flip showdown. Powered by Gelato VRF for true randomness, the winner takes both NFTs! It's simple, thrilling, and fully on-chain using the contract at 0xf6b8d2E0d36669Ed82059713BDc6ACfABe11Fde6 on ABChain.
How to Play
Step-by-step guide based on the game's smart contract and UI:
- Connect Wallet: Use MetaMask to connect your account. The app will fetch your SketchyMilios NFTs from contract 0x08533a2b16e3db03eebd5b23210122f97dfcb97d.
- Select NFT: Click "Select NFT" to choose a SketchyMilio from your owned tokens (displayed as images from backblazeb2.com).
- Create Game: Approve and transfer your NFT to the contract via createGame(). Emits GameCreated event; wait for someone to join.
- Join Game: Browse open games in the list, select one, approve your NFT, and call joinGame(). Triggers randomness request via Gelato VRF.
- Resolve Game: Once joined, VRF fulfills randomness in _fulfillRandomness(), determining winner (50/50). Winner gets both NFTs. Check results in the "Results" button/modal.
- Cancel Options: Creators can cancel unjoined games after 1 hour via cancelUnjoinedGame(). Joined games can be canceled by either player after 24 hours if not resolved via cancelGame().
- View Open/Resolved Games: Open games show in the list with join/cancel buttons. Resolved games appear in the results modal with resolve/replay options, playing win/lose videos.
Risks and Important Notes
Key risks from the contract and app logic:
- Staking real SketchyMilios NFTs—losing transfers ownership permanently to the winner via nft.transferFrom().
- Transactions can fail due to insufficient gas (just increase gas and try again), network issues, or RPC errors (e.g., code -32603: Disconnect/reconnect MetaMask).
- Gelato VRF may have rare delays in fulfillment; use cancel if stuck after 24 hours.
- Beta stage: Potential UI glitches (e.g., video playback errors) or backend socket disconnects—reconnect attempts are automatic.
- Immutable blockchain: No refunds; all transfers/events are final. Always verify on Abstract.
Tips and Troubleshooting
- Contract verified on Abstract; VRF by Gelato for fairness/transparency.
- Errors? Force-close MetaMask/Web3 app, retry. Check status messages for RPC issues.
- Failures possible (e.g., network congestion), but blockchain remains true—verify tx on Abstract.
- Stable connection recommended; enough gas for approve/transfer calls.
- UI updates via Socket.IO: If disconnected, app auto-reconnects and re-registers address.