Inspiration

Prediction markets are extremely powerful, but most people never engage with them. Trading feels complex, and existing interfaces cater to professionals. Meanwhile, clubs, friend groups, DAOs, and classrooms debate outcomes constantly, yet have no structured way to measure who is actually accurate. We wanted a simple, social mechanism that uses real Polymarket data to create a forecasting competition with transparent, onchain scoring powered by Base.

What it does

Prediction League allows any group to create a forecasting league backed by real Polymarket markets. Members browse markets, submit forecasts, and compete on an onchain leaderboard that updates when markets resolve. All commitments, forecasts, and scores are stored on Base. The result is a lightweight, social forecasting game that requires no trading or custody, only clean predictions tied to real-world outcomes.

How we built it

  • Polymarket Gamma API to fetch live markets, implied probabilities, and final resolutions.
  • Base smart contract to store leagues, forecasts, and scores onchain (Base Sepolia for demo).
  • MiniKit + OnchainKit for wallet actions and onchain writes inside a streamlined Next.js app.
  • Next.js + TypeScript frontend for market browsing, forecasting, and leaderboard views.
  • Scoring engine (Brier/win-loss) runs client-side and commits updated scores to the contract.

Challenges we ran into

  • Designing a UX that feels approachable while still respecting onchain constraints.
  • Normalizing Polymarket data; markets differ widely in structure and timing.
  • Avoiding the trap of building “yet another dashboard” and instead creating a genuinely new interaction pattern.
  • Ensuring onchain writes remained fast, cheap, and intuitive within the demo window.
  • Balancing minimal contract complexity with a scoring system flexible enough for many leagues.

Accomplishments that we're proud of

  • Built a full end-to-end loop: Polymarket → forecast → onchain commit → resolution → onchain leaderboard.
  • Designed a UX that makes prediction markets accessible to anyone, not just traders.
  • Created a reusable onchain primitive (a.k.a. forecast commitments) that other apps can build on.
  • Delivered a polished Mini App-friendly interface that works smoothly in a live demo.
  • Found a clean, real use case for both Base and Polymarket that feels natural, not forced.

What we learned

  • Polymarket’s Gamma API is flexible enough to power non-trading apps if you design around events and outcomes.
  • Base’s mini-app infrastructure makes social, onchain interactions feel lightweight instead of “web3-heavy.”
  • The biggest challenge isn’t technical but UX: making probabilities feel fun, relatable, and shareable.
  • Simple, well-scoped onchain state often beats complex contract logic in hackathon timelines.

What's next for Prediction League

  • Public leagues with discoverability and seasonal rankings.
  • Farcaster Frames for “one-tap forecasting” directly inside feeds.
  • Reputation scoring that tracks users across leagues and time.
  • Automated market curation by category and trending events.
  • Optional staking or prizes for competitive leagues.
  • Opening the protocol so DAOs, classrooms, and creators can host custom tournaments.

Built With

Share this project:

Updates