[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-78396":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":14,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":9,"pushedAt":9,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":14,"starSnapshotCount":14,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},78396,"polymarket-weather-trading-bot","Katbrink\u002Fpolymarket-weather-trading-bot","Katbrink","polymarket weather bot polymarket weather trading bot weather bot polymarket weather bot polymarket weather trading bot weather bot polymarket weather bot polymarket weather trading bot weather bot polymarket weather bot polymarket weather trading bot weather bot polymarket weather bot polymarket weather trading bot weather bot",null,"TypeScript",130,1935,136,0,9.86,"MIT License",false,"main",true,[21,22,23,24],"bot","polymarket","trading","weather","2026-06-12 02:03:47","\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F79ba71a2-b2d9-48b5-91bb-034b79ab4d1b\n\n# 🌤 WeatherBet — Polymarket Weather Trading Bot\n\nThis is **TypeScript on Node.js**, which means `npm`, `tsc`, and the sweet sound of `fetch()` errors at 3 a.m. It is **not** a `pip install feelings` project. If your README-fresh eyes were looking for `python weatherbet.py`, that timeline branched; the future is `npm start -- run`.\n\nAutomated trading for Polymarket weather markets: hunt mispriced daily temperature buckets using real forecasts across a bunch of cities, then let math (Kelly, EV, stops) argue with strangers on the internet about °F.\n\n---\n\n## Does it make money?\n\nPlayback in the README (native controls — use the play button on the player):\n\n\u003Cvideo controls playsinline preload=\"metadata\" width=\"100%\" src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FTsukamg\u002Fpolymarket-weather-trading-engine\u002Fmain\u002Fsrc\u002Frec\u002F2026-05-13_01-03-44%20-%20user.mp4\">\u003C\u002Fvideo>\n\n**▶ [Watch on GitHub (file viewer)](https:\u002F\u002Fgithub.com\u002FTsukamg\u002Fpolymarket-weather-trading-engine\u002Fblob\u002Fmain\u002Fsrc\u002Frec\u002F2026-05-13_01-03-44%20-%20user.mp4)** — same video in GitHub’s own viewer if the inline player doesn’t appear (some renderers strip `\u003Cvideo>`).\n\nSource of truth for paths \u002F URLs: [`src\u002Frec\u002Fvideo.ts`](src\u002Frec\u002Fvideo.ts) (`MONEY_PROOF_VIDEO_*`). Local clone: open `src\u002Frec\u002F2026-05-13_01-03-44 - user.mp4` directly if you prefer a desktop player.\n\n---\n\n## What you get (the serious bullet list)\n\n- **20 cities** across several continents — we went full globetrotter so your VPS gets passport stamps\n- **3 forecast sources** — ECMWF (global), HRRR\u002FGFS (US, hourly), METAR (airport reality checks)\n- **Expected Value gate** — no trade if the spreadsheet blushes\n- **Kelly sizing** — position size scales with edge, not with how loud FinTwit is\n- **Stop-loss + trailing stop** — 20% stop, breakeven trail after +20%\n- **Slippage filter** — skips markets where the spread is doing zumba (over $0.03)\n- **Self-calibration** — remembers which cities lied to it last week\n- **JSON ledger** — every forecast blob, trade, and resolution saved under `data\u002Fmarkets\u002F`\n\nOptional **`@polymarket\u002Fclob-client`** when **`WEATHERBOT_CLOB_LIVE=1`**; otherwise it’s polite paper trading and Gamma quotes.\n\n---\n\n## How it works (short story)\n\nPolymarket asks questions like: *“Will Chicago peak at 46–47°F on March 7?”* Sometimes the crowd prices 8¢ while the atmosphere outside is clearly main‑character energy. The bot pulls model + observation data, maps the right airport station (not “downtown vibes”), finds the bucket, checks EV, sizes with fractional Kelly, then naps for 10 minutes before doing it again.\n\n---\n\n## Why airports, not “city center LatLng”\n\nPolymarket resolves on **airport METAR stations**. NYC is **KLGA**, Dallas is **KDAL** (Love Field, not Dallas Fort Worth’s holiday traffic simulator). A few degrees of latitude snobbery can yeet your 1°F bucket trade into the shadow realm.\n\n| City | Station | Airport |\n|------|---------|---------|\n| NYC | KLGA | LaGuardia |\n| Chicago | KORD | O'Hare |\n| Miami | KMIA | Miami Intl |\n| Dallas | KDAL | Love Field |\n| Seattle | KSEA | Sea-Tac |\n| Atlanta | KATL | Hartsfield |\n| London | EGLC | London City |\n| Tokyo | RJTT | Haneda |\n| ... | ... | ... |\n\n---\n\n## Installation\n\nRequires **Node.js 20.10+** (engine for `@polymarket\u002Fclob-client`, plus `fetch` \u002F `AbortSignal` timeouts that actually work).\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002FKatbrink\u002Fpolymarket-weather-trading-bot\ncd polymarket-weather-trading-bot\nnpm install\nnpm run build\n```\n\nEnv template:\n\n```bash\ncp env.example .env\n```\n\nOn Windows: `copy env.example .env`\n\nVariables use the **`WEATHERBOT_`** prefix (see `env.example`). Anything importing `src\u002Fconfig.ts` loads `.env` via [dotenv](https:\u002F\u002Fgithub.com\u002Fmotdotla\u002Fdotenv).\n\nSet **`WEATHERBOT_VC_KEY`** for Visual Crossing (post-game temps). Free key: [visualcrossing.com](https:\u002F\u002Fwww.visualcrossing.com).\n\n**Live CLOB:** **`WEATHERBOT_CLOB_LIVE=1`** plus **`WEATHERBOT_POLY_PRIVATE_KEY`**, **`WEATHERBOT_POLY_PROXY_WALLET`**, and optional CLOB API fields from `env.example`. Gamma still feeds market ids and `clobTokenIds`. Without live mode, it’s **paper-only** (sim balance + Gamma prices).\n\n---\n\n## Usage\n\n```bash\nnpm start -- run       # bot loop: full scan on interval, monitor between\nnpm start -- status    # balance + open positions\nnpm start -- report    # resolved markets breakdown\n# or after build:\nnode dist\u002Findex.js run\n```\n\nDev without a separate build:\n\n```bash\nnpm run dev -- status\n```\n\n---\n\n## Data storage\n\nEverything lands under `data\u002Fmarkets\u002F` — one JSON file per market: forecast snapshots, prices, positions, resolutions. The bot uses that history to calibrate and occasionally sigh at past you.\n\n---\n\n## APIs\n\n| API | Auth | Purpose |\n|-----|------|---------|\n| Open-Meteo | None | ECMWF + HRRR forecasts |\n| Aviation Weather (METAR) | None | Real-time station observations |\n| Polymarket Gamma | None | Market metadata |\n| Visual Crossing | Free key | Historical temps \u002F resolution helpers |\n\n---\n\n## Disclaimer\n\nNot financial advice. Prediction markets can turn money into a learning experience. Paper trade until the math stops giggling.\n","WeatherBet 是一个基于 Polymarket 平台的天气交易自动化机器人，使用 TypeScript 编写。该机器人通过分析来自 ECMWF、HRRR\u002FGFS 和 METAR 的天气预报数据，在全球20个城市中寻找被错误定价的温度区间进行交易。它采用凯利准则调整仓位大小，并设置止损和追踪止损以控制风险，同时过滤掉价差过大的市场。此外，WeatherBet 还具备自我校准功能，能够根据历史表现优化策略。适用于希望在 Polymarket 上利用天气预测获利的投资者或对量化交易感兴趣的开发者。",2,"2026-05-24 02:30:10","CREATED_QUERY"]