wagerkit / README.md
saadrizvi09
init
b2806e8
metadata
title: WagerKit
emoji: ๐Ÿ“Š
colorFrom: purple
colorTo: blue
sdk: docker
pinned: false
license: mit

WagerKit ๐ŸŽฏ

Real-time prediction market analysis with integrity scoring

WagerKit aggregates data from multiple prediction market sources (Polymarket, Kalshi, PredictIt) and provides comprehensive integrity analysis for each market.

โœจ Features

  • ๐Ÿ“ˆ Multi-Source Aggregation: Compare odds across leading prediction markets
  • ๐ŸŽฏ Integrity Scoring: 4-component analysis (Clarity, Liquidity, Agreement, Volatility)
  • ๐Ÿ“Š Visual Analytics: Real-time odds history charts with Chart.js
  • ๐Ÿ“ฅ Export Tools: PDF dossiers, CSV data exports, JSON metadata
  • โšก Background Processing: BullMQ-powered workers for instant dashboard loads
  • ๐ŸŽจ Modern UI: Dark theme, responsive design with Tailwind CSS

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚      Docker Container (HF Space)    โ”‚
โ”‚                                     โ”‚
โ”‚  Redis โ”€โ”€โ–บ NestJS Backend (BullMQ) โ”‚
โ”‚              โ†“                      โ”‚
โ”‚         Next.js Frontend            โ”‚
โ”‚           (Port 7860)               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿš€ Quick Start

On Hugging Face Spaces

Simply clone this Space or visit the live demo!

Local Development

# Clone the repository
git clone <your-repo-url>
cd wagerkit

# Start with Docker Compose
docker-compose up

# Or run individually:
# Terminal 1: Redis
docker run -d -p 6379:6379 redis:7-alpine

# Terminal 2: Backend
cd backend && npm install && npm run start:dev

# Terminal 3: Frontend
cd frontend && npm install && npm run dev

Access at: http://localhost:3000

๐Ÿ“Š Integrity Score Formula

Overall Score = 100 ร— (0.40ร—C + 0.30ร—L + 0.20ร—A + 0.10ร—V)

  • C (Market Clarity): Resolution criteria quality, source coverage
  • L (Liquidity Depth): Trading volume, update frequency
  • A (Cross-Source Agreement): RMSE between sources
  • V (Volatility Sanity): Price stability, spike detection

๐Ÿ› ๏ธ Tech Stack

Backend:

  • NestJS 10 (TypeScript)
  • BullMQ (background jobs)
  • Redis (job queue & cache)

Frontend:

  • Next.js 14 (App Router)
  • React 18
  • Chart.js (visualization)
  • Tailwind CSS (styling)
  • jsPDF (PDF export)

๐Ÿ“ฆ Deployment

See DEPLOYMENT.md for detailed instructions on:

  • Hugging Face Spaces setup
  • Docker configuration
  • Environment variables
  • Local development

๐ŸŽฎ Usage

  1. Dashboard: View all markets with processing status badges
  2. Click any card: Navigate to detailed market analysis
  3. View Charts: Compare historical odds across 4 sources
  4. Export Data: Download PDF dossiers, CSV odds history, or JSON metadata

๐Ÿ“ Project Structure

wagerkit/
โ”œโ”€โ”€ backend/                 # NestJS backend
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ markets/        # Markets module (BullMQ workers)
โ”‚   โ”‚   โ”œโ”€โ”€ auth/           # Auth module (unused in demo)
โ”‚   โ”‚   โ””โ”€โ”€ main.ts
โ”‚   โ”œโ”€โ”€ Dockerfile          # Backend Docker image
โ”‚   โ””โ”€โ”€ package.json
โ”œโ”€โ”€ frontend/               # Next.js frontend
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ app/           # App router pages
โ”‚   โ”‚   โ”œโ”€โ”€ components/    # Reusable components
โ”‚   โ”‚   โ””โ”€โ”€ lib/           # API client
โ”‚   โ”œโ”€โ”€ Dockerfile         # Frontend Docker image
โ”‚   โ””โ”€โ”€ package.json
โ”œโ”€โ”€ Dockerfile             # Multi-stage build (HF Spaces)
โ”œโ”€โ”€ docker-compose.yml     # Local development
โ”œโ”€โ”€ DEPLOYMENT.md          # Detailed deployment guide
โ””โ”€โ”€ README.md

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

๐Ÿ“„ License

MIT License

๐Ÿ™ Acknowledgments

Built with data from leading prediction markets. This is a demonstration project showcasing real-time data aggregation and integrity analysis techniques.


Documentation: DEPLOYMENT.md Each market includes:

  • Integrity Score (0-100) with 4 sub-components:
    • Market Clarity (40% weight)
    • Liquidity Depth (30% weight)
    • Cross-Source Agreement (20% weight)
    • Volatility Sanity (10% weight)
  • Odds History Chart - 24-hour price trends from 3 sources
  • Data Sources - Polymarket, Kalshi, PredictIt
  • Export Options:
    • โœ… Download Dossier (PDF)
    • โœ… Download Dossier (JSON)
    • โœ… Export Odds CSV
    • โœ… Export Integrity CSV

๐Ÿ“Š Integrity Score Formula

Score = 100 ร— (0.40ร—C + 0.30ร—L + 0.20ร—A + 0.10ร—V)

Where:

  • C = Market Clarity
  • L = Liquidity Depth
  • A = Cross-Source Agreement (RMSE-based)
  • V = Volatility Sanity (includes spike detection)

๐Ÿ”ง Tech Stack

Backend

  • NestJS 10
  • TypeScript
  • JWT Authentication (ready but disabled)
  • Express.js

Frontend

  • Next.js 14
  • React 18
  • TypeScript
  • TailwindCSS
  • Chart.js (for odds visualization)
  • jsPDF (for PDF exports)

๐Ÿ“ API Endpoints

Markets

  • GET /api/markets - List all markets
  • GET /api/markets/:slug - Get market detail with integrity scores
  • GET /api/markets/:slug/export/odds-csv - Export odds history CSV
  • GET /api/markets/:slug/export/integrity-csv - Export integrity scores CSV
  • GET /api/markets/:slug/export/dossier-json - Export full dossier JSON

Authentication (Optional)

  • POST /api/auth/login - Login endpoint (not required for demo)

๐Ÿ”‘ Environment Variables

Backend (backend/.env)

JWT_SECRET=wagerkit-jwt-secret-key-2024
DOME_API_KEY=your-dome-api-key-here
PORT=3001

Frontend (frontend/.env.local)

NEXT_PUBLIC_API_URL=http://localhost:3001/api

๐ŸŽจ Design Theme

  • Dark purple/blue gradient background
  • Card-based UI with #12121e background
  • Purple (#6b21a8) and blue (#3b82f6) accent colors
  • Responsive design with Tailwind CSS

๐Ÿ”ฎ DOME API Integration (Future)

The app is designed to integrate with the DOME API. To enable real data:

  1. Install SDK:

    cd backend
    npm install @dome-api/sdk
    
  2. Add API Key to backend/.env:

    DOME_API_KEY=your-actual-api-key
    
  3. Update Service in backend/src/markets/markets.service.ts:

    • Uncomment the DOME SDK import
    • Replace simulated data methods with real API calls

Currently uses simulated data with realistic patterns for demo purposes.

๐Ÿšข Deployment

Build Production

# Backend
cd backend
npm run build
npm run start:prod

# Frontend
cd frontend
npm run build
npm start

๐Ÿ“‹ Notes

  • Authentication is disabled for easy demo access
  • Data is simulated but follows real market patterns
  • All export features are fully functional
  • Runs entirely locally - no external dependencies required

Built for client demo - February 2026