
MadFill
Mad stories, real prizes.
About
The problem it solves The Problem MadFill Solves 1. Boring and Isolated Online Games Most online mini-games are single-player or have shallow multiplayer loops. They lack the social creativity that keeps people coming back. MadFill solves this by making story-building a shared, competitive, and hilarious experience where every word can shape the outcome. ⸻ 2. Lack of Ownership in Community Games Traditional word games (like MadLibs or party games) are fun but ephemeral — once the round is over, the creation disappears. MadFill uses the blockchain to record stories permanently, letting players own, revisit, and share the creations they helped make. Smart Contract Address(es) Contract Address (FillInStoryV3) 0x18b2d2993fc73407C163Bd32e73B1Eea0bB4088b MadFillTemplateNFT contract is at: 0xca699fb766e3faf36ac31196fb4bd7184769dd20
How it's made
Challenges we ran into It’s still a work in progress and One of the biggest hurdles was designing a fair prize pool system that worked seamlessly across both Pool1 (submission + winner) and Pool2 (challenge + voting). Handling fees in BASE without awkward USD conversions required multiple revisions. We overcame this by simplifying fee handling on-chain instead of in the frontend, which made everything more reliable and less error-prone. ⸻ Frontend & On-Chain Sync Early versions relied on localStorage for round metadata, which quickly broke when syncing with live contract data. This created mismatches (e.g., blanks showing as empty or misaligned). The fix was to fully commit to V3 contract data as the source of truth — removing local caching and wiring every page directly to the smart contract. Right now I’m still working on the minting portion and has been the biggest hurdle yet.