Inspiration

PolyDraft started from three observations.

First, we believe the best way to onboard people to prediction markets on-chain isn’t to teach them about wallets and keys, but to meet them inside a familiar experience they already enjoy. Fantasy sports is a massive industry where millions of users already understand drafts, lineups, leaderboards, and the culture of friendly competition, which makes it a natural on-ramp for bringing this audience into Web3 without changing their behavior.

Second, most conversations aren’t just about sports. People argue about elections, ETH/BTC prices, macro news, and pop culture. We wanted a way for that energy to live in a fantasy-like format, where you “draft” your convictions using real Polymarket markets instead of players.

Third, people like beating their friends more than placing solo bets against a house. Head-to-head leagues are social, creating return visits and moments that blow up the group chat. Polydraft combines all three by hosting prediction markets in a fantasy league where beating your friends is just as compelling as a profitable trade.

What It Does

Polydraft is a mobile-first fantasy app for prediction markets:

  • Users create or join leagues built on Polymarket yes/no markets (e.g., “Will BTC be above X?”).
  • Instead of drafting athletes, players draft markets as their “picks” — stances on real-world outcomes.
  • Commissioners configure season length, scoring rules, and starting budgets, then share a join code.
  • Drafts follow a snake order; players hold their picks until market resolution.
  • As Polymarket prices change, leaderboard standings update based on profitable outcomes and head-to-head victories.

League Modes:

  • Simulated Leagues (default): Virtual balances mirror real market prices, safe for onboarding.
  • Paid Leagues (in progress):
    • Buy-ins and prizes in USDC on Base.
    • Funds bridge Base → Polygon to settle real Polymarket trades.
    • Standardized position sizes keep the UI simple.

How We Built It

Frontend / UX:

  • Mobile-first Next.js app with bottom navigation (Home / Draft / Leagues / Settings).
  • Fantasy-style draft room with turn order, available markets, and user picks.
  • UX hides crypto complexity while keeping the system transparent.

Data + Realtime:

  • Supabase handles Postgres, authentication, and realtime updates.
  • Realtime channels keep drafts synchronized (turn order, duplicate prevention, reconnects).

Polymarket Integration:

  • Server routes proxy Polymarket APIs to fetch market lists, prices, and resolutions.
  • Data is normalized into a lightweight format for mobile.

Base + USDC + Circle:

  • App targets Base (Sepolia for testing).
  • Paid leagues: players fund participation in USDC on Base → bridged to Polygon for Polymarket execution.
  • Compatible with Base mini-app distribution.

Challenges

  • Simplifying order books into draftable “player cards” for UX.
  • Maintaining consistent real-time drafts with minimal backend.
  • Normalizing Polymarket data for small-screen mobile display.
  • Designing clear, idempotent cross-chain funding flows with fallbacks and status updates.

Accomplishments

  • Working end-to-end draft flow with real Polymarket markets.
  • Friction-light onboarding hiding Web3 complexity.
  • Robust realtime layer handling leagues, drafts, and picks without heavy infrastructure.
  • Clear design for USDC-funded paid leagues bridging into Polymarket.

What We Learned

  • Supabase + thin server logic can power collaborative onchain-adjacent apps.
  • Good cross-chain UX requires idempotency, clear status transitions, and recovery paths.

What's Next

Paid League Flow: Persist user wallets/proxies, implement verified webhooks/polling, gate league readiness based on funding completion.

Onchain League Logic: Deploy LeagueManager/escrow contract to hold USDC, enforce payouts, and integrate Polymarket execution.

ERC-20 In-Game Currency: Scoped token for free leagues, engagement rewards, cosmetic unlocks, and XP-style progression.

Product Polish: Expand profiles, leaderboards, scoring, historical records, guardrails for paid leagues, and monitoring for public beta.

Built With

Share this project:

Updates