RingBet
RingBet is a decentralized social gaming app
Created on 22nd September 2025
•
RingBet
RingBet is a decentralized social gaming app
The problem RingBet solves
Traditional online betting and casual wagering apps suffer from:
❌ Lack of transparency – users can’t verify how winners are chosen.
❌ High fees & intermediaries – centralized platforms take cuts and delay payouts.
❌ Limited social experience – betting often feels isolated instead of community-driven.
❌ Trust issues – players must rely on a central authority not to manipulate results.
RingBet makes this process simpler, safer, and more social by:
✅ Smart contracts manage the pool automatically – no middlemen, funds are locked until a winner is selected.
✅ RingBet has a demo mode with AI players so users can practice before betting real money.
✅ Provable fairness – outcomes are random and verifiable on-chain.
✅ Low-cost participation – built on Base for near-zero gas fees and fast finality.
✅ Social discovery – rings can be shared and joined inside Farcaster Mini Apps, making it easy to invite friends.
In short, RingBet turns casual betting into a trustless, transparent, and social experience, lowering barriers for friendly wagers and making payouts instant and verifiable.
Challenges we ran into
Building RingBet came with a few interesting hurdles:
Randomness on-chain
Problem: True randomness is hard to achieve on blockchains. Using only block.timestamp or block.prevrandao is insecure for production.
Solution: For the hackathon prototype, I implemented a simple local pseudo-random generator to demo the flow quickly. I also designed the contract to be easily upgradable to use Chainlink VRF for provable randomness in a production-ready version.
Gas efficiency with pooled funds
Problem: Handling multiple players’ ETH buy-ins without unnecessary storage writes was tricky.
Solution: Optimized the data structures and payout flow so funds are pooled and released in a single transaction, minimizing gas usage.
Farcaster Mini App integration
Problem: Mini Apps require a specific startup sequence, and missing the sdk.actions.ready() call kept the app stuck on a loading screen.
Solution: Dug into the Farcaster Mini App docs and ensured the app signaled readiness once the UI and wallet connection were initialized.
Base Sepolia deployment
Problem: At first, contract verification failed due to mismatched constructor arguments.
Solution: I double-checked the Hardhat config and used BaseScan’s verification API with the correct constructor inputs. That fixed the issue and made the contract fully verifiable on testnet.
Technologies used
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.