2026-03-23 18:28:11 +08:00
2026-03-20 19:13:14 +08:00

PolyWeather Pro

Production weather-intelligence stack for temperature settlement markets.

Official dashboard: polyweather-pro.vercel.app

Product Screenshots

Global Dashboard

PolyWeather global dashboard

City Analysis (Ankara)

PolyWeather Ankara analysis

Product Status (2026-03-21)

  • Subscription live: Pro Monthly 5 USDC.
  • Points redemption live: 500 points = 1 USDC, max 3 USDC off.
  • Onchain checkout live: Polygon contract checkout (USDC / USDC.e).
  • Auto-reconciliation live: event listener + periodic confirm loop.
  • Ops dashboard live: /ops for memberships, leaderboard, manual point grants, and payment incident triage.
  • Lightweight observability live: /healthz, /api/system/status, /metrics.
  • Runtime state supports gradual SQLite migration (file / dual / sqlite).
  • EMOS/CRPS pipeline is integrated in shadow mode with rollout gating.

Open-Core Boundary (Important)

This repository follows an Open-Core strategy:

  • Public in repo: weather aggregation, core analysis, dashboard, bot baseline, standard payment flow.
  • Private in production: commercial risk rules, operational thresholds, pricing strategy details, internal reconciliation policies, and growth operations tooling.

See: Open-Core & Commercial Boundary

Core Capabilities

  • Aggregates observations and forecasts for 30 monitored cities.
  • Uses DEB (Dynamic Error Balancing) to blend multi-model highs.
  • Generates settlement-oriented probability buckets (mu + bucket distribution).
  • Maps weather view to Polymarket quotes for mispricing scan.
  • Reuses one analysis core across web dashboard and Telegram bot.
  • Adds payment audit trails, replay tooling, and incident visibility in ops.

Reference Architecture

flowchart LR
    U["Users (Web / Telegram)"] --> FE["Next.js Frontend (Vercel)"]
    U --> BOT["Telegram Bot (VPS)"]
    FE --> API["FastAPI /web/app.py"]
    BOT --> API

    API --> WX["Weather Collector"]
    WX --> METAR["Aviation Weather (METAR)"]
    WX --> MGM["MGM (Turkey station network)"]
    WX --> OM["Open-Meteo"]

    API --> ANA["DEB + Trend + Probability + Market Scan"]
    ANA --> PAY["Payment State (Intent + Event + Confirm Loop)"]
    ANA --> PM["Polymarket Read-only Layer"]

Monitored Cities (30)

  • Europe / Middle East: Ankara, London, Paris, Munich, Tel Aviv, Milan, Warsaw, Madrid
  • APAC: Seoul, Hong Kong, Taipei, Shanghai, Singapore, Tokyo, Wellington
  • Americas: Toronto, New York, Chicago, Dallas, Miami, Atlanta, Seattle, Buenos Aires, Sao Paulo
  • South Asia: Lucknow
  • China extension: Chengdu, Chongqing, Shenzhen, Beijing, Wuhan

Quick Start

Backend + Bot (Docker)

docker compose up -d --build

Frontend (local)

cd frontend
npm install
npm run dev

Use external runtime storage to avoid SQLite/git conflicts:

POLYWEATHER_RUNTIME_DATA_DIR=/var/lib/polyweather
POLYWEATHER_DB_PATH=/var/lib/polyweather/polyweather.db

Ops Verification

Health / system status / metrics

curl http://127.0.0.1:8000/healthz
curl http://127.0.0.1:8000/api/system/status
curl http://127.0.0.1:8000/metrics

Frontend cache headers

./scripts/validate_frontend_cache.sh "https://polyweather-pro.vercel.app"

Payment auto-reconciliation logs

docker compose logs -f polyweather | egrep "payment event loop started|payment confirm loop started|payment auto-confirmed"

Payment runtime

curl http://127.0.0.1:8000/api/payments/runtime

Wallet activity logs

docker compose logs -f polyweather | egrep "polymarket wallet activity watcher started|wallet activity pushed"

Telegram Commands

Command Purpose
/city <name> City real-time analysis
/deb <name> DEB historical reconciliation
/top User leaderboard
/id Show current chat ID
/diag Startup diagnostics
/help Help and usage

Documentation Index

Version

  • Version: v1.5.1
  • Last Updated: 2026-03-21
S
Description
polymarket Intelligent Weather Quant Analysis Bot
Readme AGPL-3.0 143 MiB
Languages
Python 56.8%
TypeScript 37%
CSS 4.1%
JavaScript 1%
PLpgSQL 0.4%
Other 0.6%