
flappy-frog
base-miniapp
Demo
About
The problem it solves 🐸 The problem it solves Many casual and social games online suffer from three main issues: - **Lack of transparency** – rewards are often unclear or not verifiable. - **Weak social integration** – scores and winners usually stay locked inside the game and are not shared with the wider community. - **Low sustainability & engagement** – casual games often lack features like daily lives, notifications, or meaningful ways for players to support the ecosystem. **Flappy Frog**, inspired by the iconic Flappy Bird, addresses these issues by introducing: - **A simple and familiar gameplay** that everyone already knows, but reimagined with Web3 mechanics. - **A transparent and verifiable leaderboard** stored on-chain. - **Automatic notifications** to players about new rounds, winners, and heart refills. - **A donation section** where players can support the project and increase the prize pool. Coming soon: **NFT-based rewards** and a sponsorship section to make the game even more sustainable and engaging and leaderbord on **IPFS**. Smart Contract Address(es) TestNet (Base Sepolia) [0xD155286756CbBABFa229563D09533EBB3E5BfdcF](https://sepolia.basescan.org/address/0xD155286756CbBABFa229563D09533EBB3E5BfdcF#code) TestNet Update (Base Sepolia) [0x22548d20bA326cDC9858D4c46DB8d3b4FB52ba13] https://sepolia.basescan.org/address/0x22548d20bA326cDC9858D4c46DB8d3b4FB52ba13#code Other Onchain Proof TestNet (Base-Sepolia) [0xeaf0d29452effdf274a1f606567611132ca86d09937a91ffdd26437b0c271ff2](https://sepolia.basescan.org/tx/0xeaf0d29452effdf274a1f606567611132ca86d09937a91ffdd26437b0c271ff2) TestNet (Base Sepolia) [0x22548d20bA326cDC9858D4c46DB8d3b4FB52ba13](https://sepolia.basescan.org/address/0x22548d20bA326cDC9858D4c46DB8d3b4FB52ba13)
How it's made
Challenges we ran into While building Flappy Frog we ran into several challenges: - **Smart contract prize distribution** (payWinner) Initially, the payWinner function kept reverting because the caller wasn’t recognized as the owner. We fixed this by ensuring the correct ownership checks and simplifying the round restart logic. - **BigInt & custom round times** Passing time parameters (e.g., “30 minutes”) as BigInt/seconds from the frontend was tricky. We solved this by creating utilities to handle conversions automatically. -**Scalable leaderboard with Redis** Redis had limitations when fetching a large set of users. We implemented a scan + batched mget approach to handle hundreds of players efficiently while keeping notifications fast. -**Reliable notifications** Making sure every player received their notification required a way to manage url + token for each user. We added a dedicated function to quickly retrieve them by fid. Thanks to these solutions, **Flappy Frog is now a simple, fun, transparent**, **and Farcaster/Coinbase Wallet - integrated game** — bringing the same immediacy and addictive gameplay of Flappy Bird into the Web3 world.