The Politics desk covers 65+ recurring Kalshi series across presidential approval, legislation, executive actions, elections, and government operations. There is no single "Pinnacle" for politics. Polymarket is the closest equivalent — real-money, deep liquidity, sophisticated international traders. We build a synthetic sharp line from Polymarket (primary) + Metaculus + Manifold + PredictIt + our own models.
Edge comes from two sources:
Polymarket is the political Pinnacle. Highest volume, most sophisticated traders, covers most Kalshi political markets.
consensus_prob = (0.45 * polymarket) + (0.25 * metaculus) + (0.20 * manifold) + (0.10 * model)
For data-anchored contracts (bills, border, EOs): model weight increases to 0.40, others decrease proportionally.
edge = consensus_prob - kalshi_implied_prob
trade_threshold = 0.08 (8 cents)
min_sources = 2 (at least 2 independent sources must agree)
Kalshi and Polymarket price the same political events. When Polymarket moves and Kalshi lags, that's the trade. Historical lag: 15-60 minutes depending on contract liquidity.
Some contracts have objective, trackable underlying data:
When the data moves and the Kalshi price hasn't, that's edge.
1/4 Kelly for all political bets. Hard caps:
approval_velocity = (current - 3d_ago) / 3, project to Friday settlementTrack bills through stages: introduced → committee → floor → passed_one → passed_both → enrolled → signed. Each stage increases readiness score. Cross-reference with Kalshi "will bill X pass" contracts.
EO/proclamation frequency modeled as Poisson process with contextual multipliers. When frequency deviates from baseline, "EO count" contracts are mispriced.
| Source | URL | Auth | Cost | Purpose |
|---|---|---|---|---|
| Polymarket CLOB | clob.polymarket.com/markets |
None | Free | Primary sharp anchor |
| Polymarket Gamma | gamma-api.polymarket.com/markets |
None | Free | Market metadata |
| PredictIt | predictit.org/api/marketdata/all/ |
None | Free | Cross-validation |
| Manifold | Manifold API | None | Free | Cross-validation |
| Metaculus | Metaculus API | None | Free | Forecaster consensus |
| Congress.gov | api.congress.gov/v3/bill |
Free API key | Free | Bill pipeline |
| Federal Register | federalregister.gov/api/v1/documents |
None | Free | EOs, proclamations |
| CBP Encounters | cbp.gov/newsroom/stats/ |
None | Free | Border data |
| RCP Polling | realclearpolling.com |
None | Free | Approval average |
| 538 Approval | projects.fivethirtyeight.com/polls/ |
None | Free | Approval model |
| GDELT 2.0 | data.gdeltproject.org/gdeltv2/ |
None | Free | Geopolitical events |
| WH Schedule | whitehouse.gov/schedule/ |
None | Free | Lid prediction |
| MARAD Alerts | maritime.dot.gov/msci/msci-alerts |
None | Free | Geopolitical signal (Phase 3) |
| Contract Type | ~Series | Anchor Data |
|---|---|---|
| Presidential Approval | KXAPRPOTUS, KX538APPROVE | RCP + 538 polling averages |
| EO Count | KXTRUMPEO | Federal Register |
| Bill Passage | Various | Congress.gov pipeline |
| Border Encounters | KXBORDERENCOUNTER | CBP monthly data |
| Contract Type | ~Series | Anchor |
|---|---|---|
| Election markets | Various | Polymarket primary |
| Cabinet/appointment | Various | Polymarket + news |
| Government shutdown | Various | Congress bill pipeline |
~3,158 one-off contracts. Stale price scan only.
| Time (ET) | Job | Frequency |
|---|---|---|
| 6:00 AM | RCP + 538 approval scrape | Daily |
| 6:15 AM | Congress.gov bill pipeline | Daily |
| 6:30 AM | Federal Register EOs/proclamations | Daily |
| Every 30 min | Kalshi politics prices | Continuous |
| Every 30 min | Polymarket politics | Continuous |
| Every 30 min | PredictIt contracts | Continuous |
| 7:15 AM, 1 PM, 7 PM | Politics consensus computation | 3x daily |
| 1st of month | CBP border encounters | Monthly |
| Weekly Sun 10 PM | Pollster house effect update | Weekly |
| Condition | Reason |
|---|---|
| Net edge < 8 cents | Below threshold (higher than sports) |
| Kalshi volume < $200 | Too illiquid |
| < 2 independent sources agree | Not enough consensus |
| Breaking news cycle (first 2 hours) | Markets are chaotic, let them settle |
| Contract expires > 60 days out | Too much uncertainty |
| One-off contract with no data anchor | No model, no edge |
Full ruling: /home/ubuntu/edgeclaw/results/panel-results/politics-data-final-ruling.md
Panel: Opus (judge) + Sonnet + Grok 4.2 Reasoning + Gemini Pro 3.1
Date: 2026-03-26, Grade: A
Status: NOT BUILT — add when this desk goes live for execution
Current state: All Kalshi data (prices, order books, trades) is fetched via REST API polling on cron schedules. This is fine for edge detection and monitoring, but NOT sufficient for live trade execution.
Why WebSocket matters:
Note: Sports markets use RFQ (Request for Quote) so the visible order book is usually empty — but the trade feed still matters for freshness signals and the WebSocket is required for order submission. Weather and politics markets DO have real visible order books where this upgrade is even more critical.
Added 2026-03-29 — upgrade REST to WS when desk moves to live execution