From a256ff199cf673afd1b7c38cdd29ef38e87995bf Mon Sep 17 00:00:00 2001 From: harrodyuan Date: Fri, 18 Jul 2025 12:51:23 -0400 Subject: [PATCH 1/2] Fix WebSocket connection header parameter in KalshiWebSocketClient --- clients.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clients.py b/clients.py index ee0ba2da..0f0387d1 100644 --- a/clients.py +++ b/clients.py @@ -189,7 +189,7 @@ async def connect(self): """Establishes a WebSocket connection using authentication.""" host = self.WS_BASE_URL + self.url_suffix auth_headers = self.request_headers("GET", self.url_suffix) - async with websockets.connect(host, additional_headers=auth_headers) as websocket: + async with websockets.connect(host, extra_headers=auth_headers) as websocket: self.ws = websocket await self.on_open() await self.handler() From bbe1693da22f7b23efb5e4816dc80026f1235fec Mon Sep 17 00:00:00 2001 From: harrodyuan Date: Wed, 3 Jun 2026 01:09:32 -0400 Subject: [PATCH 2/2] Add custom Kalshi scripts: market discovery, ordering, market maker, analysis, trading_workflow --- awesome_kalshi_trader_toolkit/README.md | 0 env.example | 9 + event_helper.py | 0 fetch_open_events.py | 0 fetch_open_markets.py | 280 +++ fetch_open_markets_fixed.py | 295 +++ find_market.py | 0 main.py | 282 ++- market_analysis.py | 0 market_maker.py | 0 open_events.json | 2196 +++++++++++++++++++ place_order.py | 466 ++++ place_order_working.py | 0 quick_open_markets.py | 174 ++ requirements.txt | 7 - search_events.py | 0 search_market.py | 0 search_markets_in_event.py | 0 simple_order.py | 0 trading_workflow/Comprehensive_Guide.md | 57 + trading_workflow/README.md | 0 trading_workflow/fetch_open_events.py | 0 trading_workflow/search_events.py | 0 trading_workflow/search_markets_in_event.py | 0 trading_workflow/simple_order.py | 0 25 files changed, 3749 insertions(+), 17 deletions(-) create mode 100644 awesome_kalshi_trader_toolkit/README.md create mode 100644 env.example create mode 100644 event_helper.py create mode 100644 fetch_open_events.py create mode 100644 fetch_open_markets.py create mode 100644 fetch_open_markets_fixed.py create mode 100644 find_market.py create mode 100644 market_analysis.py create mode 100644 market_maker.py create mode 100644 open_events.json create mode 100755 place_order.py create mode 100644 place_order_working.py create mode 100755 quick_open_markets.py delete mode 100644 requirements.txt create mode 100644 search_events.py create mode 100644 search_market.py create mode 100644 search_markets_in_event.py create mode 100644 simple_order.py create mode 100644 trading_workflow/Comprehensive_Guide.md create mode 100644 trading_workflow/README.md create mode 100644 trading_workflow/fetch_open_events.py create mode 100644 trading_workflow/search_events.py create mode 100644 trading_workflow/search_markets_in_event.py create mode 100644 trading_workflow/simple_order.py diff --git a/awesome_kalshi_trader_toolkit/README.md b/awesome_kalshi_trader_toolkit/README.md new file mode 100644 index 00000000..e69de29b diff --git a/env.example b/env.example new file mode 100644 index 00000000..b719ebfd --- /dev/null +++ b/env.example @@ -0,0 +1,9 @@ +# Kalshi API Credentials +# 1. Replace the placeholder values with your actual keys. +# 2. Rename this file to .env + +# Your API Key ID from your Kalshi profile +PROD_KEYID=your_api_key_id_here + +# The absolute path to your private key .pem file +PROD_KEYFILE=/path/to/your/private_key.pem diff --git a/event_helper.py b/event_helper.py new file mode 100644 index 00000000..e69de29b diff --git a/fetch_open_events.py b/fetch_open_events.py new file mode 100644 index 00000000..e69de29b diff --git a/fetch_open_markets.py b/fetch_open_markets.py new file mode 100644 index 00000000..bf646b3b --- /dev/null +++ b/fetch_open_markets.py @@ -0,0 +1,280 @@ +#!/usr/bin/env python3 +""" +Kalshi Market Scanner - Find Best Market Making Opportunities +Fetches all open events and their markets, analyzes bid-ask spreads + +Usage: python fetch_open_markets.py +""" + +import os +import sys +from dotenv import load_dotenv +from cryptography.hazmat.primitives import serialization +from clients import KalshiHttpClient, Environment + +load_dotenv() + +def format_money(value): + """Format cents to dollars""" + try: + return f"${float(value)/100:.2f}" + except: + return "$0.00" + +def setup_client(): + """Setup Kalshi client""" + try: + with open(os.getenv('PROD_KEYFILE'), "rb") as f: + private_key = serialization.load_pem_private_key(f.read(), password=None) + + client = KalshiHttpClient( + key_id=os.getenv('PROD_KEYID'), + private_key=private_key, + environment=Environment.PROD + ) + return client + except Exception as e: + print(f"❌ Setup error: {e}") + return None + +def get_open_events(client): + """Get all open events""" + try: + print("πŸ” Fetching open events...") + response = client.get("/trade-api/v2/events?status=open") + events = response.get('events', []) + print(f"βœ… Found {len(events)} open events") + return events + except Exception as e: + print(f"❌ Error getting events: {e}") + return [] + +def get_markets_for_event(client, event_ticker): + """Get all markets for a specific event using the markets endpoint""" + try: + print(f" πŸ” Fetching markets for event: {event_ticker}") + + # Use the markets endpoint with event_ticker filter + response = client.get(f"/trade-api/v2/markets?event_ticker={event_ticker}&status=open") + markets = response.get('markets', []) + + print(f" βœ… Found {len(markets)} markets for {event_ticker}") + return markets + + except Exception as e: + print(f" ❌ Error getting markets for event {event_ticker}: {e}") + return [] + +def analyze_market_opportunity(market): + """Analyze a market for trading opportunities""" + ticker = market.get('ticker', 'N/A') + title = market.get('title', 'N/A') + + yes_bid = market.get('yes_bid', 0) + yes_ask = market.get('yes_ask', 0) + no_bid = market.get('no_bid', 0) + no_ask = market.get('no_ask', 0) + + volume = market.get('volume', 0) + open_interest = market.get('open_interest', 0) + + # Calculate spreads + yes_spread = yes_ask - yes_bid if yes_ask > 0 and yes_bid > 0 else 0 + no_spread = no_ask - no_bid if no_ask > 0 and no_bid > 0 else 0 + + # Check if there are gaps (no current bids/asks) - good for market making + yes_gap = yes_bid == 0 or yes_ask == 0 + no_gap = no_bid == 0 or no_ask == 0 + + # Market making opportunity score + opportunity_score = 0 + opportunity_reasons = [] + + # Wide spreads are good for market making + if yes_spread >= 3: # 3Β’ or more spread + opportunity_score += yes_spread + opportunity_reasons.append(f"YES spread: {format_money(yes_spread)}") + + if no_spread >= 3: + opportunity_score += no_spread + opportunity_reasons.append(f"NO spread: {format_money(no_spread)}") + + # Gaps in the market are excellent opportunities + if yes_gap: + opportunity_score += 10 + opportunity_reasons.append("YES side has gaps") + + if no_gap: + opportunity_score += 10 + opportunity_reasons.append("NO side has gaps") + + # Volume indicates activity + if volume > 100: + opportunity_score += 5 + opportunity_reasons.append(f"High volume: {volume}") + + return { + 'ticker': ticker, + 'title': title, + 'yes_bid': yes_bid, + 'yes_ask': yes_ask, + 'no_bid': no_bid, + 'no_ask': no_ask, + 'yes_spread': yes_spread, + 'no_spread': no_spread, + 'yes_gap': yes_gap, + 'no_gap': no_gap, + 'volume': volume, + 'open_interest': open_interest, + 'opportunity_score': opportunity_score, + 'opportunity_reasons': opportunity_reasons + } + +def scan_all_markets(client): + """Scan all open markets directly""" + print("πŸš€ Starting comprehensive market scan...") + + # Get all open events first + events = get_open_events(client) + + if not markets: + print("❌ No open markets found") + return [] + + all_opportunities = [] + + print(f"\nπŸ” Analyzing {len(markets)} markets for opportunities...") + + # Analyze each market + for i, market in enumerate(markets, 1): + if i % 100 == 0: # Progress indicator + print(f" οΏ½ Processed {i}/{len(markets)} markets...") + + opportunity = analyze_market_opportunity(market) + + # Add event info from market data + opportunity['event_ticker'] = market.get('event_ticker', 'N/A') + opportunity['event_title'] = market.get('event_title', 'N/A') + + all_opportunities.append(opportunity) + + print(f"\nβœ… Analysis complete!") + print(f" Total markets analyzed: {len(markets)}") + + return all_opportunities + +def display_best_opportunities(opportunities, limit=20): + """Display the best market making opportunities""" + + # Sort by opportunity score (highest first) + sorted_opportunities = sorted(opportunities, key=lambda x: x['opportunity_score'], reverse=True) + + # Filter out markets with no opportunity + good_opportunities = [opp for opp in sorted_opportunities if opp['opportunity_score'] > 0] + + print(f"\n🎯 TOP {min(limit, len(good_opportunities))} MARKET MAKING OPPORTUNITIES") + print("=" * 100) + + if not good_opportunities: + print("❌ No good market making opportunities found") + print("πŸ’‘ Try looking for:") + print(" - Markets with wide bid-ask spreads (3Β’+)") + print(" - Markets with missing bids or asks") + print(" - Markets with recent activity") + return + + for i, opp in enumerate(good_opportunities[:limit], 1): + print(f"\n{i}. {opp['ticker']}") + print(f" πŸ“ {opp['title'][:80]}...") + print(f" πŸ›οΈ Event: {opp['event_ticker']}") + + # Current market state + print(f" πŸ’° YES: {format_money(opp['yes_bid'])} Γ— {format_money(opp['yes_ask'])} (spread: {format_money(opp['yes_spread'])})") + print(f" πŸ’° NO: {format_money(opp['no_bid'])} Γ— {format_money(opp['no_ask'])} (spread: {format_money(opp['no_spread'])})") + + # Opportunity details + print(f" πŸ“Š Volume: {opp['volume']}, Open Interest: {opp['open_interest']}") + print(f" 🎯 Opportunity Score: {opp['opportunity_score']}") + + if opp['opportunity_reasons']: + print(f" ✨ Reasons: {', '.join(opp['opportunity_reasons'])}") + + # Market making suggestions + suggestions = [] + + if opp['yes_gap'] and opp['yes_bid'] == 0: + suggestions.append(f"Place YES bid at 1Β’-5Β’") + elif opp['yes_spread'] >= 3: + mid_price = (opp['yes_bid'] + opp['yes_ask']) // 2 + suggestions.append(f"YES bid: {format_money(mid_price-1)}, ask: {format_money(mid_price+1)}") + + if opp['no_gap'] and opp['no_bid'] == 0: + suggestions.append(f"Place NO bid at 1Β’-5Β’") + elif opp['no_spread'] >= 3: + mid_price = (opp['no_bid'] + opp['no_ask']) // 2 + suggestions.append(f"NO bid: {format_money(mid_price-1)}, ask: {format_money(mid_price+1)}") + + if suggestions: + print(f" πŸ’‘ Suggestions: {' | '.join(suggestions)}") + +def save_opportunities_to_file(opportunities, filename="market_opportunities.txt"): + """Save opportunities to a text file""" + try: + with open(filename, 'w') as f: + f.write("KALSHI MARKET MAKING OPPORTUNITIES\n") + f.write("=" * 50 + "\n\n") + + # Sort by opportunity score + sorted_opportunities = sorted(opportunities, key=lambda x: x['opportunity_score'], reverse=True) + good_opportunities = [opp for opp in sorted_opportunities if opp['opportunity_score'] > 0] + + for i, opp in enumerate(good_opportunities, 1): + f.write(f"{i}. {opp['ticker']}\n") + f.write(f" Title: {opp['title']}\n") + f.write(f" Event: {opp['event_ticker']}\n") + f.write(f" YES: {format_money(opp['yes_bid'])} Γ— {format_money(opp['yes_ask'])} (spread: {format_money(opp['yes_spread'])})\n") + f.write(f" NO: {format_money(opp['no_bid'])} Γ— {format_money(opp['no_ask'])} (spread: {format_money(opp['no_spread'])})\n") + f.write(f" Volume: {opp['volume']}, Open Interest: {opp['open_interest']}\n") + f.write(f" Opportunity Score: {opp['opportunity_score']}\n") + if opp['opportunity_reasons']: + f.write(f" Reasons: {', '.join(opp['opportunity_reasons'])}\n") + f.write("\n") + + print(f"\nπŸ’Ύ Results saved to {filename}") + except Exception as e: + print(f"❌ Error saving to file: {e}") + +def main(): + """Main function""" + print("πŸ” KALSHI MARKET SCANNER") + print("=" * 40) + print("Finding the best market making opportunities...") + + # Setup client + client = setup_client() + if not client: + sys.exit(1) + + print("βœ… Connected to Kalshi Production") + + # Scan all markets + opportunities = scan_all_markets(client) + + if not opportunities: + print("❌ No markets found") + sys.exit(1) + + # Display best opportunities + display_best_opportunities(opportunities) + + # Save to file + save_opportunities_to_file(opportunities) + + print(f"\nπŸ’‘ Next steps:") + print(f" 1. Pick a market with good opportunity score") + print(f" 2. Use market_maker.py to place bid/ask orders") + print(f" 3. Or use simple_order.py for single orders") + print(f" 4. Monitor and adjust your prices") + +if __name__ == "__main__": + main() diff --git a/fetch_open_markets_fixed.py b/fetch_open_markets_fixed.py new file mode 100644 index 00000000..1c8ee791 --- /dev/null +++ b/fetch_open_markets_fixed.py @@ -0,0 +1,295 @@ +#!/usr/bin/env python3 +""" +Kalshi Market Scanner - Find Best Market Making Opportunities +Fetches all open events and their markets, analyzes bid-ask spreads + +Usage: python fetch_open_markets.py +""" + +import os +import sys +from dotenv import load_dotenv +from cryptography.hazmat.primitives import serialization +from clients import KalshiHttpClient, Environment + +load_dotenv() + +def format_money(value): + """Format cents to dollars""" + try: + return f"${float(value)/100:.2f}" + except: + return "$0.00" + +def setup_client(): + """Setup Kalshi client""" + try: + with open(os.getenv('PROD_KEYFILE'), "rb") as f: + private_key = serialization.load_pem_private_key(f.read(), password=None) + + client = KalshiHttpClient( + key_id=os.getenv('PROD_KEYID'), + private_key=private_key, + environment=Environment.PROD + ) + return client + except Exception as e: + print(f"❌ Setup error: {e}") + return None + +def get_open_events(client): + """Get all open events""" + try: + print("πŸ” Fetching open events...") + response = client.get("/trade-api/v2/events?status=open") + events = response.get('events', []) + print(f"βœ… Found {len(events)} open events") + return events + except Exception as e: + print(f"❌ Error getting events: {e}") + return [] + +def get_markets_for_event(client, event_ticker): + """Get all markets for a specific event using the markets endpoint""" + try: + print(f" πŸ” Fetching markets for event: {event_ticker}") + + # Use the markets endpoint with event_ticker filter + response = client.get(f"/trade-api/v2/markets?event_ticker={event_ticker}&status=open") + markets = response.get('markets', []) + + print(f" βœ… Found {len(markets)} markets for {event_ticker}") + return markets + + except Exception as e: + print(f" ❌ Error getting markets for event {event_ticker}: {e}") + return [] + +def analyze_market_opportunity(market): + """Analyze a market for trading opportunities""" + ticker = market.get('ticker', 'N/A') + title = market.get('title', 'N/A') + + yes_bid = market.get('yes_bid', 0) + yes_ask = market.get('yes_ask', 0) + no_bid = market.get('no_bid', 0) + no_ask = market.get('no_ask', 0) + + volume = market.get('volume', 0) + open_interest = market.get('open_interest', 0) + + # Calculate spreads + yes_spread = yes_ask - yes_bid if yes_ask > 0 and yes_bid > 0 else 0 + no_spread = no_ask - no_bid if no_ask > 0 and no_bid > 0 else 0 + + # Check if there are gaps (no current bids/asks) - good for market making + yes_gap = yes_bid == 0 or yes_ask == 0 + no_gap = no_bid == 0 or no_ask == 0 + + # Market making opportunity score + opportunity_score = 0 + opportunity_reasons = [] + + # Wide spreads are good for market making + if yes_spread >= 3: # 3Β’ or more spread + opportunity_score += yes_spread + opportunity_reasons.append(f"YES spread: {format_money(yes_spread)}") + + if no_spread >= 3: + opportunity_score += no_spread + opportunity_reasons.append(f"NO spread: {format_money(no_spread)}") + + # Gaps in the market are excellent opportunities + if yes_gap: + opportunity_score += 10 + opportunity_reasons.append("YES side has gaps") + + if no_gap: + opportunity_score += 10 + opportunity_reasons.append("NO side has gaps") + + # Volume indicates activity + if volume > 100: + opportunity_score += 5 + opportunity_reasons.append(f"High volume: {volume}") + + return { + 'ticker': ticker, + 'title': title, + 'yes_bid': yes_bid, + 'yes_ask': yes_ask, + 'no_bid': no_bid, + 'no_ask': no_ask, + 'yes_spread': yes_spread, + 'no_spread': no_spread, + 'yes_gap': yes_gap, + 'no_gap': no_gap, + 'volume': volume, + 'open_interest': open_interest, + 'opportunity_score': opportunity_score, + 'opportunity_reasons': opportunity_reasons + } + +def scan_all_markets(client): + """Scan all markets by first getting events, then markets for each event""" + print("πŸš€ Starting comprehensive market scan...") + + # Step 1: Get all open events + events = get_open_events(client) + + if not events: + print("❌ No open events found") + return [] + + all_opportunities = [] + total_markets = 0 + + # Step 2: For each event, get its markets + for i, event in enumerate(events, 1): + event_ticker = event.get('ticker') + event_title = event.get('title', 'No title') + + # Skip events without valid tickers + if not event_ticker or event_ticker == 'N/A': + print(f"\nπŸ“‹ Event {i}/{len(events)}: SKIPPING - No ticker") + print(f" Title: {event_title}") + continue + + print(f"\nπŸ“‹ Event {i}/{len(events)}: {event_ticker}") + print(f" Title: {event_title}") + + # Get markets for this event + markets = get_markets_for_event(client, event_ticker) + total_markets += len(markets) + + # Analyze each market + for market in markets: + opportunity = analyze_market_opportunity(market) + + # Add event info + opportunity['event_ticker'] = event_ticker + opportunity['event_title'] = event_title + + all_opportunities.append(opportunity) + + print(f"\nβœ… Scan complete!") + print(f" Total events processed: {len(events)}") + print(f" Total markets analyzed: {total_markets}") + + return all_opportunities + +def display_best_opportunities(opportunities, limit=20): + """Display the best market making opportunities""" + + # Sort by opportunity score (highest first) + sorted_opportunities = sorted(opportunities, key=lambda x: x['opportunity_score'], reverse=True) + + # Filter out markets with no opportunity + good_opportunities = [opp for opp in sorted_opportunities if opp['opportunity_score'] > 0] + + print(f"\n🎯 TOP {min(limit, len(good_opportunities))} MARKET MAKING OPPORTUNITIES") + print("=" * 100) + + if not good_opportunities: + print("❌ No good market making opportunities found") + print("πŸ’‘ Try looking for:") + print(" - Markets with wide bid-ask spreads (3Β’+)") + print(" - Markets with missing bids or asks") + print(" - Markets with recent activity") + return + + for i, opp in enumerate(good_opportunities[:limit], 1): + print(f"\n{i}. {opp['ticker']}") + print(f" πŸ“ {opp['title'][:80]}...") + print(f" πŸ›οΈ Event: {opp['event_ticker']}") + + # Current market state + print(f" πŸ’° YES: {format_money(opp['yes_bid'])} Γ— {format_money(opp['yes_ask'])} (spread: {format_money(opp['yes_spread'])})") + print(f" πŸ’° NO: {format_money(opp['no_bid'])} Γ— {format_money(opp['no_ask'])} (spread: {format_money(opp['no_spread'])})") + + # Opportunity details + print(f" πŸ“Š Volume: {opp['volume']}, Open Interest: {opp['open_interest']}") + print(f" 🎯 Opportunity Score: {opp['opportunity_score']}") + + if opp['opportunity_reasons']: + print(f" ✨ Reasons: {', '.join(opp['opportunity_reasons'])}") + + # Market making suggestions + suggestions = [] + + if opp['yes_gap'] and opp['yes_bid'] == 0: + suggestions.append(f"Place YES bid at 1Β’-5Β’") + elif opp['yes_spread'] >= 3: + mid_price = (opp['yes_bid'] + opp['yes_ask']) // 2 + suggestions.append(f"YES bid: {format_money(mid_price-1)}, ask: {format_money(mid_price+1)}") + + if opp['no_gap'] and opp['no_bid'] == 0: + suggestions.append(f"Place NO bid at 1Β’-5Β’") + elif opp['no_spread'] >= 3: + mid_price = (opp['no_bid'] + opp['no_ask']) // 2 + suggestions.append(f"NO bid: {format_money(mid_price-1)}, ask: {format_money(mid_price+1)}") + + if suggestions: + print(f" πŸ’‘ Suggestions: {' | '.join(suggestions)}") + +def save_opportunities_to_file(opportunities, filename="market_opportunities.txt"): + """Save opportunities to a text file""" + try: + with open(filename, 'w') as f: + f.write("KALSHI MARKET MAKING OPPORTUNITIES\n") + f.write("=" * 50 + "\n\n") + + # Sort by opportunity score + sorted_opportunities = sorted(opportunities, key=lambda x: x['opportunity_score'], reverse=True) + good_opportunities = [opp for opp in sorted_opportunities if opp['opportunity_score'] > 0] + + for i, opp in enumerate(good_opportunities, 1): + f.write(f"{i}. {opp['ticker']}\n") + f.write(f" Title: {opp['title']}\n") + f.write(f" Event: {opp['event_ticker']}\n") + f.write(f" YES: {format_money(opp['yes_bid'])} Γ— {format_money(opp['yes_ask'])} (spread: {format_money(opp['yes_spread'])})\n") + f.write(f" NO: {format_money(opp['no_bid'])} Γ— {format_money(opp['no_ask'])} (spread: {format_money(opp['no_spread'])})\n") + f.write(f" Volume: {opp['volume']}, Open Interest: {opp['open_interest']}\n") + f.write(f" Opportunity Score: {opp['opportunity_score']}\n") + if opp['opportunity_reasons']: + f.write(f" Reasons: {', '.join(opp['opportunity_reasons'])}\n") + f.write("\n") + + print(f"\nπŸ’Ύ Results saved to {filename}") + except Exception as e: + print(f"❌ Error saving to file: {e}") + +def main(): + """Main function""" + print("πŸ” KALSHI MARKET SCANNER") + print("=" * 40) + print("Finding the best market making opportunities...") + + # Setup client + client = setup_client() + if not client: + sys.exit(1) + + print("βœ… Connected to Kalshi Production") + + # Scan all markets + opportunities = scan_all_markets(client) + + if not opportunities: + print("❌ No markets found") + sys.exit(1) + + # Display best opportunities + display_best_opportunities(opportunities) + + # Save to file + save_opportunities_to_file(opportunities) + + print(f"\nπŸ’‘ Next steps:") + print(f" 1. Pick a market with good opportunity score") + print(f" 2. Use market_maker.py to place bid/ask orders") + print(f" 3. Or use simple_order.py for single orders") + print(f" 4. Monitor and adjust your prices") + +if __name__ == "__main__": + main() diff --git a/find_market.py b/find_market.py new file mode 100644 index 00000000..e69de29b diff --git a/main.py b/main.py index 822403a7..be7c0748 100644 --- a/main.py +++ b/main.py @@ -1,13 +1,18 @@ import os +import json from dotenv import load_dotenv from cryptography.hazmat.primitives import serialization import asyncio from clients import KalshiHttpClient, KalshiWebSocketClient, Environment +from event_helper import EventHelper, find_event, search_events # Load environment variables load_dotenv() -env = Environment.DEMO # toggle environment here +# env = clearEnvironment.DEMO # toggle environment her +env = Environment.PROD if os.getenv('USE_DEMO_ENVIRONMENT', 'False').lower() == 'false' else Environment.DEMO + +print(f"Using environment: {env.value}") KEYID = os.getenv('DEMO_KEYID') if env == Environment.DEMO else os.getenv('PROD_KEYID') KEYFILE = os.getenv('DEMO_KEYFILE') if env == Environment.DEMO else os.getenv('PROD_KEYFILE') @@ -29,16 +34,273 @@ environment=env ) +# Helper function to format monetary values +def format_money(value): + try: + return f"{float(value)/100:.2f}" + except (TypeError, ValueError): + return "0.00" + +# Helper function to load/save events cache +def load_events_cache(): + try: + with open('events_cache.json', 'r') as f: + return json.load(f) + except FileNotFoundError: + return {} + +def save_events_cache(events_dict): + with open('events_cache.json', 'w') as f: + json.dump(events_dict, f, indent=2) + +# Helper function to load/save open events cache +def load_open_events_cache(): + try: + with open('open_events_cache.json', 'r') as f: + return json.load(f) + except FileNotFoundError: + return {} + +def save_open_events_cache(open_events_dict): + with open('open_events_cache.json', 'w') as f: + json.dump(open_events_dict, f, indent=2) + +# Function to fetch all events efficiently +def get_all_events(): + print("Loading events cache...") + events_dict = load_events_cache() + print(f"Found {len(events_dict)} cached events") + + cursor = None + new_events_count = 0 + + while True: + # Build URL with cursor if available + url = "/trade-api/v2/events" + if cursor: + url += f"&cursor={cursor}" + + print(f"Fetching events page... (cursor: {'Yes' if cursor else 'First page'})") + response = client.get(url) + events = response.get('events', []) + + if not events: + break + + # Add new events to our dictionary + for event in events: + event_id = event.get('event_ticker') + event_name = event.get('title') + + if event_id and event_id not in events_dict: + events_dict[event_id] = { + 'id': event_id, + 'name': event_name + } + new_events_count += 1 + + # Get cursor for next page + cursor = response.get('cursor') + if not cursor: + break + + print(f"Added {new_events_count} new events") + print(f"Total events: {len(events_dict)}") + + # Save updated cache + save_events_cache(events_dict) + return events_dict + +# Function to fetch only open events using API filtering +def get_open_events(force_refresh=False): + print("Loading open events cache...") + + # Load cached open events unless force refresh + if not force_refresh: + open_events_dict = load_open_events_cache() + if open_events_dict: + print(f"Found {len(open_events_dict)} cached open events") + return open_events_dict + + print("Fetching open events from API...") + open_events_dict = {} + + cursor = None + total_open = 0 + + while True: + # Build URL with status=open filter and cursor if available + url = "/trade-api/v2/events?status=open" + if cursor: + url += f"&cursor={cursor}" + + print(f"Fetching open events page... (cursor: {'Yes' if cursor else 'First page'})") + response = client.get(url) + events = response.get('events', []) + + if not events: + break + + # Add open events to our dictionary + for event in events: + event_id = event.get('event_ticker') + event_name = event.get('title') + + if event_id: + open_events_dict[event_id] = { + 'id': event_id, + 'name': event_name, + 'status': 'open' + } + total_open += 1 + + # Get cursor for next page + cursor = response.get('cursor') + if not cursor: + break + + print(f"Found {total_open} open events") + + # Save the cache + save_open_events_cache(open_events_dict) + print("Open events cached successfully!") + + return open_events_dict + # Get account balance balance = client.get_balance() -print("Balance:", balance) +print("Balance:", format_money(balance.get('balance', 0))) -# Initialize the WebSocket client -ws_client = KalshiWebSocketClient( - key_id=KEYID, - private_key=private_key, - environment=env -) +# # Get all events efficiently +# print("\n" + "="*50) +# print("FETCHING ALL EVENTS") +# print("="*50) +# events_dict = get_all_events() + +# # Display first 10 events as example +# print("\nFirst 10 events:") +# for i, (event_id, event_data) in enumerate(list(events_dict.items())[:10]): +# print(f"{i+1}. {event_id}: {event_data['name']}") + +# Get open events using API filtering +print("\n" + "="*50) +print("FETCHING OPEN EVENTS") +print("="*50) +open_events = get_open_events() + +print(f"\nOpen events: {len(open_events)} total") +print("\nFirst 10 OPEN events:") +for i, (event_id, event_data) in enumerate(list(open_events.items())[:10]): + print(f"{i+1}. {event_id}: {event_data['name']}") + +print(f"\nYou can now access any event by ID: open_events['EVENT_ID']") +print(f"Open events available: {len(open_events)}") + +# Initialize Event Helper for easy searching +print("\n" + "="*50) +print("EVENT HELPER DEMO") +print("="*50) + +event_helper = EventHelper(events_dict={}, open_events_dict=open_events) + +# Demo searches +print("\nExample: Search for 'Trump' events:") +trump_results = event_helper.search_event_by_name("trump", max_results=3) +event_helper.print_search_results(trump_results) + +print("\nExample: Find event ID for 'election':") +election_id = find_event("election", {}, open_events) +if election_id: + print(f"First election event ID: {election_id}") +else: + print("No election events found") + +print(f"\n{'='*50}") +print("HOW TO USE EVENT HELPER:") +print("1. event_helper.search_event_by_name('search term')") +print("2. find_event('partial name', {}, open_events)") +print("3. Run: python event_helper.py for interactive mode") +print("\nCACHE INFO:") +print("- All events cached in: events_cache.json") +print("- Open events cached in: open_events_cache.json") +print("- To refresh open events: get_open_events(force_refresh=True)") +print(f"{'='*50}") + +positions = client.get("/trade-api/v2/portfolio/positions") + +print("Market Positions:") +for pos in positions.get('market_positions', []): + if pos.get('position', 0) != 0: + ticker = pos.get('ticker') + market = client.get(f"/trade-api/v2/markets/{ticker}") + market_title = market.get('market', {}).get('title', 'Unknown') + print("---") + print(f"Ticker: {ticker}") + print(f"Event: {market_title}") + print(f"Total Traded: {format_money(pos.get('total_traded', 0))}") + print(f"Position: {float(pos.get('position', 0)):.2f}") + print(f"Market Exposure: {format_money(pos.get('market_exposure', 0))}") + print(f"Realized PnL: {format_money(pos.get('realized_pnl', 0))}") + print(f"Resting Orders Count: {float(pos.get('resting_orders_count', 0)):.2f}") + print(f"Fees Paid: {format_money(pos.get('fees_paid', 0))}") + print(f"Last Updated: {pos.get('last_updated_ts')}") + + +# ...existing code... + +# Get all orders (pending, open, etc.) +orders = client.get("/trade-api/v2/portfolio/orders?cursor=EhIKEAnPLuins0i5pLfKfpANAL8aDAiN6d7BBhConqPRAw") + +# print(orders) +print("\nOrders:") +for order in orders.get("orders", [])[:5]: + ticker = order.get("ticker") + market = client.get(f"/trade-api/v2/markets/{ticker}") + market_title = market.get("market", {}).get("title", "Unknown") + print("---") + print(f"Market: {market_title}") + print(f"Ticker: {ticker}") + print(f"Order ID: {order.get('order_id')}") + print(f"User ID: {order.get('user_id')}") + print(f"Status: {order.get('status')}") + print(f"Yes Price: {format_money(order.get('yes_price'))}") + print(f"No Price: {format_money(order.get('no_price'))}") + print(f"Created Time: {order.get('created_time')}") + print(f"Taker Fill Cost: {format_money(order.get('taker_fill_cost'))}") + print(f"Maker Fill Cost: {format_money(order.get('maker_fill_cost'))}") + print(f"Fill Count: {order.get('fill_count')}") + print(f"Remaining Count: {order.get('remaining_count')}") + print(f"Initial Count: {order.get('initial_count')}") + print(f"Self Trade Prevention Type: {order.get('self_trade_prevention_type')}") + print(f"Queue Position: {order.get('queue_position')}") + print(f"Expiration Time: {order.get('expiration_time')}") + print(f"Taker Fees: {format_money(order.get('taker_fees'))}") + print(f"Maker Fees: {format_money(order.get('maker_fees'))}") + print(f"Action: {order.get('action')}") + print(f"Side: {order.get('side')}") + print(f"Type: {order.get('type')}") + print(f"Last Update Time: {order.get('last_update_time')}") + print(f"Client Order ID: {order.get('client_order_id')}") + print(f"Order Group ID: {order.get('order_group_id')}") + +# trades = client.get_trades() +# print("Trades:") +# for trade in trades.get('trades', []): +# trade_id = trade.get('trade_id') +# ticker = trade.get('ticker') +# # Fetch market details for this ticker +# market = client.get(f"/trade-api/v2/markets/{ticker}") +# market_title = market.get('market', {}).get('title', 'Unknown') +# print(f"Trade ID: {trade_id} | Ticker: {ticker} | Event: {market_title}") + +# print("Exchange Status:", client.get_exchange_status()) + +# # Initialize the WebSocket client +# ws_client = KalshiWebSocketClient( +# key_id=KEYID, +# private_key=private_key, +# environment=env +# ) -# Connect via WebSocket -asyncio.run(ws_client.connect()) \ No newline at end of file +# # Connect via WebSocket +# asyncio.run(ws_client.connect()) \ No newline at end of file diff --git a/market_analysis.py b/market_analysis.py new file mode 100644 index 00000000..e69de29b diff --git a/market_maker.py b/market_maker.py new file mode 100644 index 00000000..e69de29b diff --git a/open_events.json b/open_events.json new file mode 100644 index 00000000..63e7e0ed --- /dev/null +++ b/open_events.json @@ -0,0 +1,2196 @@ +{ + "KXNEWPOPE-70": "Who will the next Pope be?", + "KXWARMING-50": "Will the world pass 2 degrees Celsius over pre-industrial levels before 2050?", + "KXMARSVRAIL-50": "Will a human land on Mars before California starts high-speed rail?", + "KXERUPTSUPER-0": "Will a supervolcano erupt before 2050?", + "KXCOLONIZEMARS-50": "Will humans colonize Mars before 2050?", + "KXPERSONPRESMAM-45": "Will Zohran Mamdani become President of the United States before 2045?", + "KXFUSION": "When will nuclear fusion be achieved?", + "KXEARTHQUAKECALIFORNIA-35": "Will there be an at least 8.0 magnitude earthquake in California before 2035?", + "KXROBOTMARS-35": "Will a humanoid robot walk on Mars before a human does?", + "KXPERFORMBONDSONG-35": "Who will perform the next James Bond theme?", + "KXLALEADEROUT-35": "Which of these Latin America leaders will leave office next?", + "KXJOHNNYDEPP-35": "Will Johnny Depp be cast in the next Pirates of the Caribbean?", + "KXBRUVSEAT-35": "Will Andrew Tate's party win a seat in the next UK election?", + "KXAFRICALEADEROUT-35": "Which of these African leaders will leave office next?", + "KXFDATYPE1DIABETES-33": "Will the FDA approve a cure for Type 1 diabetes before 2033?", + "EUCLIMATE": "EU meets its 2030 climate goals?", + "INDIACLIMATE-30": "India meets its 2030 climate goals?", + "KXNEXTSPEAKER-31": "Who will be the next Speaker of the House?", + "KXMOONMAN-31": "Which country will be the next to send humans to the Moon?", + "USCLIMATE": "US meets its climate goals?", + "KXTVSEASONRELEASETHELASTOFUS": "When will \"The Last of Us\" Season 3 be released?", + "KXPRIMEENGCONSUMPTION-30": "What will be the largest source of global primary energy consumption in 2030?", + "AITURING": "AI passes Turing test before 2030?", + "KXCANADACUP-30": "Canadian team wins the hockey championship before the 2031 season?", + "KXTIMEDECADE20S-30": "Who will Time name as Person of the Decade?", + "EVSHARE-30JAN": "EV market share in 2030?", + "KXU3MAX-30": "How high will unemployment get before 2030?", + "NONCOMPETEBAN": "Non-compete ban overturned?", + "KXUSTAKEOVER-30": "Will the US government take control of any AI company or project before 2030?", + "KXTVSEASONRELEASEACOURTOFTHORNSANDROSES": "When will A Court Of Thorns and Roses be released?", + "KXTRILLIONAIRE-30": "Who will be the world's first trillionaire?", + "KXSPORTSOWNERLBJ-30": "Will LeBron James be a majority owner of a pro men's basketball team before 2030?", + "KXSPACEXMARS-30": "Will SpaceX land anything successfully on Mars before 2030?", + "KXSONICS-30": "Portland Trailblazers bought and changed to Seattle SuperSonics?", + "KXSHOWENDSIMPSONS-30": "Will there be an announcement that The Simpsons is ending?", + "KXPOLIOELIM-30": "Will there be a year without polio before 2030?", + "KXNEXTUKPM-30": "Who will be the next Prime Minister of the UK?", + "KXNEWROLEVOGUE-30JAN": "Who will be the next Editor-in-Chief of Vogue?", + "KXNBATEAM-30": "Will the NBA add a new team before 2030?", + "KXNBASEATTLE-30": "Will a Seattle NBA team play a game before 2030?", + "KXMUSKTRILLION": "When will Elon Musk become a trillionaire?", + "KXLIVENATIONUS-30": "Courts consider Live Nation a monopoly?", + "KXJPMCEONEW": "Who will replace Jamie Dimon as JPMorgan CEO?", + "KXHALFTRIL": "When will there be a half-trillionaire?", + "KXGTAPRICE": "What will the price of GTA VI be on PS5?", + "KXGTA6SONGS-30": "What songs will be on the GTA 6 radio at launch?", + "KXEUREF-30": "What countries will hold referenda on leaving the EU?", + "KXEUEXITCOUNTRY-30": "Which countries will vote to leave the EU before 2030?", + "KXECCOMPACT-30": "Will the National Popular Vote Interstate Compact reach 270 electoral votes before 2030?", + "KXEARTHQUAKEJAPAN-30": "8.0 magnitude earthquake in Japan before 2030?", + "KXDATACENTER-30": "Will the US start the process of building a nuclear-powered data center on a military base before 2030?", + "KXCO2LEVEL-30": "How bad will CO2 atmospheric concentration get before 2030?", + "KXCASECESSION-30": "Will a ballot initiative on California secession qualify for a vote before 2030?", + "KXBUSHBY-30": "Will Karl Bushby Finish His World Walk to Hull Before 2030?", + "KXBOND-30": "Who will be the next James Bond?", + "KXBLUESPACEX-30": "Will Blue Origin land on the moon before SpaceX?", + "KXARTISTCOLLABDRAKEKENDRICK-30": "Will Drake and Kendrick Lamar make a song together before 2030?", + "EUEXPANSION": "EU has a new member before 2030?", + "EUEXIT": "EU loses a member before 2030?", + "CHINAUSGDP": "China overtakes USA\u2019s economy by 2030?", + "BEYONCEGENRE-30": "What genre will Beyonce\u2019s next album be?", + "AMAZONFTC-29DEC31": "Courts consider Amazon a monopoly?", + "APPLEUS": "Courts consider Apple a monopoly?", + "STARSHIPMARS": "Starship launches humans to Mars before 2030?", + "KXALBERTAREFYES-29": "Will Alberta vote to secede from Canada before the next general election?", + "KXUKPARTY-29": "Which party will win the next U.K. election?", + "KXBALANCE-29": "Will Trump balance the budget?", + "KXGDPSHAREMANU-29": "Will Trump bring back manufacturing?", + "KXFULLTERMSKPRES-29": "Will South Korean President Lee Jae-myung serve their full term?", + "KXGOVTCUTS-28": "How much of government spending will Trump and Elon cut before Trump's term ends?", + "KXDEBTGROWTH-28DEC31": "Peak US National Debt Under Trump Administration", + "KXTDEFICITHALF-29": "Will Trump halve the trade deficit?", + "POWER-28": "Who will win the House, Senate, and Presidency?", + "KXGDPUSMAX-28": "Will there be a Trump economic boom?", + "KXAMEND22-29": "Will Trump be allowed to run for a 3rd term?", + "KXTRUMPRESIGN": "Will Trump resign before his term is up?", + "KXSCOURT-29": "Who will be the next Supreme Court justice?", + "KXPRESPERSON-28": "Next US Presidential Election Winner?", + "KXPRESPARTY-2028": "Which party will win the 2028 Presidential Election?", + "KXMTRUSHMORE-29": "Will Trump add himself to Mt. Rushmore?", + "KXGREENTERRITORY-29": "Will the US take control of any part of Greenland?", + "KXCANTERRITORY-29": "Will the US take control of any part of Canada?", + "GOVPARTYDE-28": "Who will win the governorship in Delaware?", + "KXWITHDRAW-29": "What will the U.S. withdraw from during the Trump Administration?", + "KXVETOOVERRIDE-29JAN20": "Will Congress ever override Trump's veto?", + "KXUSAKIM-29": "Will Kim Jong-Un visit the US during Trump's term?", + "KXTRUMPSNL-29": "Will Trump go on SNL during his second term?", + "KXTRUMPREMOVE": "Will Trump be impeached and removed from office?", + "KXTRUMPAGCOUNT-29": "How many Attorneys General will Trump have?", + "KXTERMLIMITS-29": "Will Trump impose term limits on Congress?", + "KXTAFTHARTLEY-29": "Will Trump invoke the Taft-Hartley Act during his presidency?", + "KXSTATE51-29": "What will be the 51st state?", + "KXSTATE-29": "Will Trump add a 51st state to the US?", + "KXSCOTUSRESIGN-29": "Which Supreme Court justices will resign during Trump's term?", + "KXSCOTUSPOWER-29": "What will the Supreme Court look like at the end of Trump's term?", + "KXSCOTUSCHANGE-29": "Will the size of the Supreme Court be changed during Trump's Presidency?", + "KXSCOTUSCERT3RD-29JAN": "Will the Supreme Court hear a 3rd Amendment case before Trump's term ends?", + "KXRECOGSOMALI-29": "Will Trump recognize Somaliland?", + "KXRECOGROC-29": "Will Trump recognize Taiwan?", + "KXNEXTSTATE-29": "Who will be Trump's next Secretary of State?", + "KXNEXTDEF-29": "Who will be Trump's next Secretary of Defense?", + "KXNEWSCOTUSCONF-29JAN20": "How many Supreme Court justices will the next President confirm?", + "KXNEWCITY-29": "Will Trump approve a new city on federal land?", + "KXMARTIAL-29JAN20": "Will Trump impose martial law before his term ends?", + "KXJAN6CASES": "Will Trump be held liable for January 6th in any court?", + "KXINSURRECTION-29": "Will Trump invoke the Insurrection Act during his Presidency?", + "KXINDJUDICIARY-29": "Will the independence of the judiciary be weakened during Trump's term?", + "KXIMPEACH-29": "Will President Trump be impeached again?", + "KXHABEAS-29": "Will Trump suspend habeas corpus?", + "KXH1B-29": "Will Trump expand the H1-B program?", + "KXGREENLAND-29": "Will Trump buy at least part of Greenland?", + "KXFTAPRC-29": "Will Trump make a new free trade agreement with China?", + "KXFTA-29": "Will Trump make a new free trade agreement?", + "KXFREEIVF-29": "Will Trump make IVF free?", + "KXFEDEND-29": "Will Trump end the Federal Reserve?", + "KXFEDCHAIRNOM-29": "Who will Trump nominate as Fed Chair?", + "KXDOED-29": "Will Trump end the Department of Education?", + "KXDJTWHDINNER-29": "Will Trump attend the White House correspondents dinner during his Presidency?", + "KXCONSTAMEND-29": "Will a new Constitutional Amendment be added during Trump's term?", + "KXCAPCONTROL-29": "Will Trump impose capital controls?", + "KXCANAL-29": "Will Trump take back the Panama Canal?", + "KXCABOUT-29": "Who will be the first to leave the Trump Cabinet?", + "KXAMEND25-29": "Will the 25th Amendment be used during Trump's Presidency?", + "KXAGENCYELIM-29": "Which agencies will Trump eliminate?", + "KXACAREPEAL-29": "Will Obamacare be repealed before 2029?", + "KXABRAHAMSY-29": "Will Israel and Syria normalize relations during Trump's term?", + "KXABRAHAMSA-29": "Will Israel and Saudi Arabia normalize relations during Trump's term?", + "KXABRAHAMQ-29": "Will Israel and Qatar normalize relations during Trump's term?", + "GOVPARTYWV-28": "Who will win the governorship in West Virginia?", + "GOVPARTYMO-28": "Who will win the governorship in Missouri?", + "GOVPARTYIN-28": "Who will win the governorship in Indiana?", + "GOVPARTYNH-28": "Who will win the governorship in New Hampshire?", + "SENATEIN-28": "Who will win the Senate race in Indiana?", + "GOVPARTYVT-28": "Who will win the governorship in Vermont?", + "SENATEWI-28": "Who will win the Senate race in Wisconsin?", + "SENATEWA-28": "Who will win the Senate race in Washington?", + "SENATEVT-28": "Who will win the Senate race in Vermont?", + "SENATEUT-28": "Who will win the Senate race in Utah?", + "SENATESD-28": "Who will win the Senate race in South Dakota?", + "SENATESC-28": "Who will win the Senate race in South Carolina?", + "SENATEPA-28": "Who will win the Senate race in Pennsylvania?", + "SENATEOR-28": "Who will win the Senate race in Oregon?", + "SENATEOK-28": "Who will win the Senate race in Oklahoma?", + "SENATEOH-28": "Who will win the Senate race in Ohio?", + "SENATENY-28": "Who will win the Senate race in New York?", + "SENATENV-28": "Who will win the Senate race in Nevada?", + "SENATENH-28": "Who will win the Senate race in New Hampshire?", + "SENATEND-28": "Who will win the Senate race in North Dakota?", + "SENATENC-28": "Who will win the Senate race in North Carolina?", + "SENATEMO-28": "Who will win the Senate race in Missouri?", + "SENATEMD-28": "Who will win the Senate race in Maryland?", + "SENATELA-28": "Who will win the Senate race in Louisiana?", + "SENATEKS-28": "Who will win the Senate race in Kansas?", + "SENATEIL-28": "Who will win the Senate race in Illinois?", + "SENATEID-28": "Who will win the Senate race in Idaho?", + "SENATEIA-28": "Who will win the Senate race in Iowa?", + "SENATEHI-28": "Who will win the Senate race in Hawaii?", + "SENATEGA-28": "Who will win the Senate race in Georgia?", + "SENATEFL-28": "Who will win the Senate race in Florida?", + "SENATECT-28": "Who will win the Senate race in Connecticut?", + "SENATECO-28": "Who will win the Senate race in Colorado?", + "SENATECA-28": "Who will win the Senate race in California?", + "SENATEAZ-28": "Who will win the Senate race in Arizona?", + "SENATEAR-28": "Who will win the Senate race in Arkansas?", + "SENATEAL-28-2": "Who will win the Senate race in Alabama?", + "SENATEAK-28": "Who will win the Senate race in Alaska?", + "GOVPARTYUT-28": "Who will win the governorship in Utah?", + "GOVPARTYMT-28": "Who will win the governorship in Montana?", + "KXUSNY-29": "Will Trump win his lawsuit against New York for its sanctuary cities laws?", + "KXUSIL-29": "Will Trump win his lawsuit against Illinois for its sanctuary cities laws?", + "KXQUEBEC-29": "Will a date be announced for another Quebec Referendum before 2029?", + "KXOBERGEFELL-29": "Will the Supreme Court overturn gay marriage?", + "KXNETWORTHROYLEE-29": "Will Roy Lee become a billionaire before 2029?", + "KXCHARLIEKIRKOFFICE-29": "Will Charlie Kirk run for any government office?", + "KXBANTRANS-26": "Will US Supreme Court ban transgender girls and women from competing on female sports teams?", + "KXAVGMEASLESDJT-29": "What will the average number of measles cases be during Trump's term?", + "GOVPARTYNC-28": "Who will win the governorship in North Carolina?", + "KXINEQUALITY-28": "Will Trump reduce inequality in the US?", + "KXGHANAPRES-28": "Who will win the next Ghanaian presidential election?", + "KXEARTHQUAKECALIFORNIA-28": "Will there be an at least 8.0 magnitude earthquake in California before 2028?", + "KXDEMOCRACYUS-28": "How much will US democracy weaken under Trump?", + "GOVPARTYND-28": "Who will win the governorship in North Dakota?", + "KXGHANAPARLI-28": "Who will win the next Ghanaian parliamentary election?", + "KXVPRESNOMR-28": "Who will be the Republican VP nominee in 2028?", + "KXVPRESNOMD-28": "Who will be the Democratic VP nominee in 2028?", + "KXTRUMPPRES-28": "Will a Trump family member be the 2028 Republican presidential nominee?", + "KXPRESNOMR-28": "Republican nominee in 2028?", + "KXPRESNOMD-28": "Democratic nominee in 2028?", + "KXPRESENDORSEMUSKD-28": "Will Elon Musk support the Democrats in 2028?", + "KXFIRSTPRIMARYD-28": "What state will be first in the Democratic presidential primary?", + "KXMOLDOVAPRES-28": "Who will win the next Moldovan presidential election?", + "KXJAPANHOUSE-28": "Who will win the next Japanese general election?", + "KXGEORGIAPARLI-28": "Who will win the next Georgian parliamentary election?", + "KXAUSTRALIAHOUSE-28": "Who will win the next Australian House election?", + "KXPHILIPPINESSENATE-28": "Who will win the next Philippine Senate election?", + "KXPHILIPPINESPRES-28": "Who will win the next Philippine presidential election?", + "KXPHILIPPINESHOUSE-28": "Who will win the next Philippine House election?", + "KXDOMINICANREPUBLICSENATE-28": "Who will win the next Dominican Republic Senate election?", + "KXAUSTRALIASENATE-28": "Who will win the next Australian Senate election?", + "KXDOMINICANREPUBLICDEPUTIES-28": "Who will win the next Dominican Republic Chamber of Deputies election?", + "KXTURKEYPRES-28": "Who will win the next Turkish presidential election?", + "KXPRESTURKEYR1-28": "Who will win the first round of the next Turkish presidential election?", + "KXPARLITURKEY-28": "Who will win the next Turkish general election?", + "KXPARAGUAYSENATE-28": "Who will win the next Paraguayan Senate election?", + "KXPARAGUAYDEPUTIES-28": "Who will win the next Paraguayan Chamber of Deputies election?", + "KXAOCSENATE-28": "Will Alexandria Ocasio-Cortez run for Senate in 2028?", + "KXPRESTAIWAN-28": "Who will win the next Taiwanese presidential election?", + "NYTOAI-27DEC31": "New York Times wins OpenAI lawsuit?", + "KXSUPERSONIC-28": "Will the ban on supersonic flight over land end before 2028?", + "KXSTARSHIPDOCK-28": "Will two SpaceX Starships dock together before 2028?", + "KXSNL-28": "Who will be announced as Lorne Michaels' successor at SNL?", + "KXSCOTTIESLAM-28": "Will Scottie Scheffler win the grand slam before 2028?", + "KXRIPPLINGDEEL-28": "Will Rippling win its lawsuit against Deel?", + "KXOAIDAMAGE-28": "Will OpenAI pay a tort claim with more than $1 million in damages before 2028?", + "KXESVI": "When will Elder Scrolls VI be released?", + "KXCONGESTIONSUIT-28": "Will the MTA win its congestion pricing lawsuit against Trump?", + "KX2028RRUN-28": "Who will run for the Republican presidential nomination in 2028?", + "KX2028DRUN-28": "Who will run for the Democratic presidential nomination in 2028?", + "KXUSTESTSREADING-26": "US test scores in Reading next year?", + "KXUSTESTSMATH-26": "US test scores in Math next year?", + "KXITALYSENATE-27": "Who will win the next Italian Senate election?", + "KXITALYDEPUTIES-27": "Who will win the next Italian Chamber of Deputies election?", + "KXMALAYSIAPARLI-2-27": "Who will win the next Malaysian general election?", + "GOVPARTYLA-27": "Who will win the governorship in Louisiana?", + "KXPOLANDSEJM-27": "Who will win the next Polish general election?", + "KXKAMALAGOV-27": "Will Kamala Harris run for California Governor?", + "GOVPARTYMS-27": "Who will win the governorship in Mississippi?", + "KXARGENTINAPRES-27": "Who will win the next Argentine presidential election?", + "KXSLOVAKIAPARLI-27": "Who will win the next Slovak parliamentary election?", + "KXJOINRONALDO-27": "Where will Cristiano Ronaldo go next?", + "KXKENYASENATE-27": "Who will win the next Kenyan Senate election?", + "KXKENYAPRES-27": "Who will win the next Kenyan presidential election?", + "KXKENYAASSEMBLY-27": "Who will win the next Kenyan National Assembly election?", + "KXGUATEMALACONGRESS-27": "Who will win the next Guatemalan Congressional election?", + "KXSPAINPARLI-27": "Who will win the next Spanish general election?", + "KXGREECEPARLI-27": "Who will win the next Greek general election?", + "KXMONGOLIAPRES-27": "Who will win the next Mongolian presidential election?", + "KXMEXICODEPUTIES-27": "Who will win the next Mexican Chamber of deputies election?", + "KXFRENCHPRES-27": "Who will win the 2027 French presidential election?", + "KXFINLANDPARLI-27": "Who will win the next Finnish general election?", + "KXGOVTCUTS-26": "How much of government spending will Trump and Elon cut before 2027?", + "KXPRESNIGERIA-27": "Who will win the next Nigerian presidential election?", + "KXNIGERIASENATE-27": "Who will win the next Nigerian Senate election?", + "KXMAYORCHI-27": "Who will win Chicago Mayoral Election?", + "KXMUSKPRIMARY-26": "Who will Elon Musk back a primary against next year?", + "KXMUSKCHALLENGERS-26": "How many Elon-backed challengers will win seats in Congress next year?", + "CONTROLS-2026": "Which party will win the U.S. Senate next year?", + "CONTROLH-2026": "Which party will win the House next year?", + "KXRECSSNBER-26": "Recession before 2027?", + "GOVPARTYSC-26": "Who will win the governorship in South Carolina?", + "GOVPARTYTX-26": "Who will win the governorship in Texas?", + "GOVPARTYAL-26": "Who will win the governorship in Alabama?", + "KXATTYGENMA-26": "Who will win the Attorney General race in Massachusetts?", + "GOVPARTYTN-26": "Who will win the governorship in Tennessee?", + "GOVPARTYMD-26": "Who will win the governorship in Maryland?", + "GOVPARTYPA-26": "Who will win the governorship in Pennsylvania?", + "KXATTYGENIL-26": "Who will win the Attorney General race in Illinois?", + "KXSECSTATEOH-26": "Who will win the Secretary of State election in Ohio?", + "KXSECSTATEGA-26": "Who will win the Secretary of State election in Georgia?", + "KXATTYGENOH-26": "Who will win the Attorney General race in Ohio?", + "GOVPARTYOK-26": "Who will win the governorship in Oklahoma?", + "GOVPARTYOH-26": "Who will win the governorship in Ohio?", + "GOVPARTYKS-27": "Who will win the governorship in Kansas?", + "GOVPARTYIL-26": "Who will win the governorship in Illinois?", + "GOVPARTYIA-26": "Who will win the governorship in Iowa?", + "GOVPARTYGA-26": "Who will win the governorship in Georgia?", + "KXATTYGENSC-26": "Who will win the Attorney General race in South Carolina?", + "KXATTYGENGA-26": "Who will win the Attorney General race in Georgia?", + "KXATTYGENAR-26": "Who will win the Attorney General race in Arkansas?", + "KXATTYGENOK-26": "Who will win the Attorney General race in Oklahoma?", + "KXATTYGENKS-26": "Who will win the Attorney General race in Kansas?", + "KXATTYGENCT-26": "Who will win the Attorney General race in Connecticut?", + "GOVPARTYAR-26": "Who will win the governorship in Arkansas?", + "KXATTYGENFL-26": "Who will win the Attorney General race in Florida?", + "KXATTYGENCO-26": "Who will win the Attorney General race in Colorado?", + "GOVPARTYOR-26": "Who will win the governorship in Oregon?", + "GOVPARTYCT-26": "Who will win the governorship in Connecticut?", + "KXATTYGENWI-26": "Who will win the Attorney General race in Wisconsin?", + "KXATTYGENMN-26": "Who will win the Attorney General race in Minnesota?", + "GOVPARTYSD-26": "Who will win the governorship in South Dakota?", + "GOVPARTYFL-26": "Who will win the governorship in Florida?", + "GOVPARTYCO-26": "Who will win the governorship in Colorado?", + "GOVPARTYWY-26": "Who will win the governorship in Wyoming?", + "GOVPARTYWI-26": "Who will win the governorship in Wisconsin?", + "GOVPARTYMN-26": "Minnesota Governorship Winner?", + "GOVPARTYID-26": "Who will win the governorship in Idaho?", + "GOVPARTYCA-26": "Who will win the governorship in California?", + "KXGOVCA-26": "Who will be the next governor of California?", + "KXATTYGENVT-26": "Who will win the Attorney General race in Vermont?", + "KXATTYGENTX-26": "Who will win the Attorney General race in Texas?", + "KXATTYGENNV-26": "Who will win the Attorney General race in Nevada?", + "GOVPARTYRI-26": "Who will win the governorship in Rhode Island?", + "KXATTYGENNE-26": "Who will win the Attorney General race in Nebraska?", + "GOVPARTYVT-26": "Who will win the governorship in Vermont?", + "GOVPARTYMA-26": "Who will win the governorship in Massachusetts?", + "SENATEWY-26": "Who will win the Senate race in Wyoming?", + "SENATEWV-26": "Who will win the Senate race in West Virginia?", + "SENATEVA-26": "Who will win the Senate race in Virginia?", + "SENATETX-26": "Who will win the Senate race in Texas?", + "SENATETN-26": "Who will win the Senate race in Tennessee?", + "SENATESD-26": "Who will win the Senate race in South Dakota?", + "SENATESC-26": "Who will win the Senate race in South Carolina?", + "SENATERI-26": "Who will win the Senate race in Rhode Island?", + "SENATEOR-26": "Who will win the Senate race in Oregon?", + "SENATEOK-26": "Who will win the Senate race in Oklahoma?", + "SENATEOHS-26": "Ohio Senate Race Winner?", + "SENATENM-26": "New Mexico Senate race winner?", + "SENATENJ-26": "Who will win the Senate race in New Jersey?", + "SENATENH-26": "Who will win the Senate race in New Hampshire?", + "SENATENE-26": "Who will win the Senate race in Nebraska?", + "SENATENC-26": "North Carolina Senate Race Winner?", + "SENATEMT-26": "Montana Senate race winner?", + "SENATEMS-26": "Who will win the Senate race in Mississippi?", + "SENATEMN-26": "Who will win the Senate race in Minnesota?", + "SENATEMI-26": "Who will win the Senate race in Michigan?", + "SENATEME-26": "Who will win the Senate race in Maine?", + "SENATEMA-26": "Who will win the Senate race in Massachusetts?", + "SENATELA-26": "Who will win the Senate race in Kentucky?", + "SENATEKS-26": "Who will win the Senate race in Kansas?", + "SENATEIL-26": "Who will win the Senate race in Illinois?", + "SENATEID-26": "Who will win the Senate race in Idaho?", + "SENATEIA-26": "Who will win the Senate race in Iowa?", + "SENATEGA-26": "Who will win the Senate race in Georgia?", + "SENATEFLS-26": "Who will win the Senate race in Florida?", + "SENATEDE-26": "Who will win the Senate race in Delaware?", + "SENATECO-26": "Who will win the Senate race in Colorado?", + "SENATEAR-26": "Who will win the Senate race in Arkansas?", + "SENATEAL-26": "Who will win the Senate race in Alabama?", + "SENATEAK-26": "Who will win the Senate race in Alaska?", + "KXSNAPRESTRICT-27": "Will Trump restrict SNAP benefits?", + "KXSECSTATEWI-26": "Who will win the Secretary of State election in Wisconsin?", + "KXSAVEACT-27": "Will Americans be required to have a passport or birth certificate to vote?", + "KXPATIENTSMONOPOLIES-27": "Will a bill curbing pharmaceutical monopolies become law?", + "KXNCCOURT-26": "Who will win the Supreme Court race in North Carolina?", + "KXJONESACTREPEAL-27": "Will Trump eliminate cabotage restriction?", + "KXHOUSEWA8-26": "Which party will win the House race for WA-08?", + "KXHOUSEVA10-26": "Which party will win the House race for VA-10?", + "KXDRAINTHESWAMP-27": "Will the \"Drain the Swamp\" Act become law before Jan 4, 2027?", + "KXDEEPSEEKGOVTDEVICES-27": "Will Congress ban DeepSeek on government devices?", + "KXCONCEALEDRECIPROCITY-27": "Will Trump establish nationwide concealed carry?", + "KXATTYGENMD-26": "Who will win the Attorney General race in Maryland?", + "KXATTYGENIA-26": "Who will win the Attorney General race in Iowa?", + "HOUSEWI3-26": "Which party will win the House race for WI-3?", + "HOUSEWI1-26": "Which party will win the House race for WI-1?", + "HOUSEWA3-26": "Which party will win the House race for WA-3?", + "HOUSEVA7-26": "Which party will win the House race for VA-7?", + "HOUSEVA2-26": "Which party will win the House race for VA-2?", + "HOUSETX34-26": "Which party will win the House race for TX-34?", + "HOUSETX28-26": "Which party will win the House race for TX-28?", + "HOUSETX15-26": "Which party will win the House race for TX-15?", + "HOUSEPA8-26": "Which party will win the House race for PA-8?", + "HOUSEPA7-26": "Which party will win the House race for PA-7?", + "HOUSEPA17-26": "Which party will win the House race for PA-17?", + "HOUSEPA1-26": "Which party will win the House race for PA-1?", + "HOUSEPA10-26": "Which party will win the House race for PA-10?", + "HOUSEOR5-26": "Which party will win the House race for OR-5?", + "HOUSEOH9-26": "Which party will win the House race for OH-9?", + "HOUSEOH13-26": "Which party will win the House race for OH-13?", + "HOUSEOH1-26": "Which party will win the House race for OH-1?", + "HOUSENY4-26": "Which party will win the House race for NY-4?", + "HOUSENY3-26": "Which party will win the House race for NY-3?", + "HOUSENY22-26": "Which party will win the House race for NY-22?", + "HOUSENY19-26": "Which party will win the House race for NY-19?", + "HOUSENY18-26": "Which party will win the House race for NY-18?", + "HOUSENY17-26": "Which party will win the House race for NY-17?", + "HOUSENV4-26": "Which party will win the House race for NV-4?", + "HOUSENV3-26": "Which party will win the House race for NV-3?", + "HOUSENV1-26": "Which party will win the House race for NV-1?", + "HOUSENM2-26": "Which party will win the House race for NM-2?", + "HOUSENJ9-26": "Which party will win the House race for NJ-9?", + "HOUSENJ7-26": "Which party will win the House race for NJ-7?", + "HOUSENJ5-26": "Which party will win the House race for NJ-5?", + "HOUSENH1-26": "Which party will win the House race for NH-1?", + "HOUSENE2-26": "Which party will win the House race for NE-2?", + "HOUSENC1-26": "Which party will win the House race for NC-1?", + "HOUSEMT1-26": "Which party will win the House race for MT-1?", + "HOUSEMN2-26": "Which party will win the House race for MN-2?", + "HOUSEMI8-26": "Which party will win the House race for MI-8?", + "HOUSEMI7-26": "Which party will win the House race for MI-7?", + "HOUSEMI4-26": "Which party will win the House race for MI-4?", + "HOUSEMI3-26": "Which party will win the House race for MI-3?", + "HOUSEMI10-26": "Which party will win the House race for MI-10?", + "HOUSEME2-26": "Which party will win the House race for ME-2?", + "HOUSEIN1-26": "Which party will win the House race for IN-1?", + "HOUSEIL17-26": "Which party will win the House race for IL-17?", + "HOUSEIA3-26": "Which party will win the House race for IA-3?", + "HOUSEIA1-26": "Which party will win the House race for IA-1?", + "HOUSEFL23-26": "Which party will win the House race for FL-23?", + "HOUSEFL13-26": "Which party will win the House race for FL-13?", + "HOUSECT5-26": "Which party will win the House race for CT-5?", + "HOUSECO8-26": "Which party will win the House race for CO-8?", + "HOUSECO3-26": "Which party will win the House race for CO-3?", + "HOUSECA9-26": "Which party will win the House race for CA-9?", + "HOUSECA49-26": "Which party will win the House race for CA-49?", + "HOUSECA47-26": "Which party will win the House race for CA-47?", + "HOUSECA45-26": "Which party will win the House race for CA-45?", + "HOUSECA41-26": "Which party will win the House race for CA-41?", + "HOUSECA40-26": "Which party will win the House race for CA-40?", + "HOUSECA3-26": "Which party will win the House race for CA-3?", + "HOUSECA27-26": "Which party will win the House race for CA-27?", + "HOUSECA22-26": "Which party will win the House race for CA-22?", + "HOUSECA21-26": "Which party will win the House race for CA-21?", + "HOUSECA13-26": "Which party will win the House race for CA-13?", + "HOUSEAZ6-26": "Which party will win the House race for AZ-6?", + "HOUSEAZ2-26": "Which party will win the House race for AZ-2?", + "HOUSEAZ1-26": "Which party will win the House race for AZ-1?", + "HOUSEAKAL-26": "Which party will win the House race for AK-AL?", + "KXSECSTATENV-26": "Who will win the Secretary of State election in Nevada?", + "KXSECSTATEAZ-26": "Who will win the Secretary of State election in Arizona?", + "KXATTYGENSD-26": "Who will win the Attorney General race in South Dakota?", + "KXATTYGENID-26": "Who will win the Attorney General race in Idaho?", + "KXATTYGENAZ-26": "Who will win the Attorney General race in Arizona?", + "KXATTYGENRI-26": "Who will win the Attorney General race in Rhode Island?", + "KXATTYGENNY-26": "Who will win the Attorney General race in New York?", + "KXATTYGENNM-26": "Who will win the Attorney General race in New Mexico?", + "KXATTYGENMI-26": "Who will win the Attorney General race in Michigan?", + "KXATTYGENDE-26": "Who will win the Attorney General race in Delaware?", + "GOVPARTYNV-26": "Who will win the governorship in Nevada?", + "GOVPARTYME-26": "Who will win the governorship in Maine?", + "GOVPARTYAZ-26": "Who will win the governorship in Arizona?", + "SCOTREF-27": "Scottish referendum called before 2027?", + "KXWCUPSONG-27": "Who will sing the next World Cup song?", + "KXUSFUNDHEAD-27": "Who will join Trump's sovereign wealth fund before 2027?", + "KXUSFUND-27": "Will the U.S. sovereign wealth fund be operational before 2027?", + "KXUNAMB-26DEC31": "Who will be Trump's Ambassador to the United Nations?", + "KXTESLAENERGYBY-27": "How much will Tesla's energy business grow before 2027?", + "KXTESLADELIVERYBY-27": "How much will Tesla deliveries grow before 2027?", + "KXTESLACAR-27": "Will Tesla release a two door Model Y car for $30,000 or less before 2027?", + "KXSTARWARS-27": "New Star Wars movie released in theaters before 2027?", + "KXSCOTUSAICOPYRIGHT-27JAN": "Will the SCOTUS hear a case about AI and copyright law before 2027?", + "KXROLLINGLOUD-27": "Who will be part of the lineup for Rolling Loud India?", + "KXPOPESWIFT-27": "Will Taylor Swift meet with Pope Leo XIV before 2027?", + "KXPLAYTOGETHERJBJT-27": "Jayson Tatum and Jaylen Brown play together on Boston again?", + "KXOAISCREEN-27": "Will the OpenAI/Jony Ive device have a screen?", + "KXOAIHARDWARE-27": "What kind of device will Jony Ive and OpenAI announce?", + "KXNEXTCOACHOUTNBA-0-27": "Who will be the next coach out in pro men's basketball?", + "KXMUSKBLUESKY-27": "Will Elon make a Bluesky account before 2027?", + "KXMACCELL-27": "Will Apple release a Macbook with cellular connectivity before 2027?", + "KXLUCASFILM-27": "Who will be the next President of Lucasfilm before 2027?", + "KXJUULFLAVOR-27": "What flavors will JUUL relaunch?", + "KXIMFRECESS-27": "Will the IMF declare a global recession before 2027?", + "KXHLS-27": "Will SpaceX test its HLS before 2027?", + "KXHELLCAT-27": "Will Dodge release a new Challenger Hellcat before 2027?", + "KXFTCNEXT-27": "Who will the FTC go after next?", + "KXFEDEND-27": "Will Trump end the Federal Reserve before 2027?", + "KXFDAAPPROVALPSYCHEDELIC-27": "Will the FDA approve any psychedelic substance for medical use before 2027?", + "KXF1CHINA-27": "Will there be an F1 team from China before 2027?", + "KXEXPELL-27": "Will any member of Congress be expelled before 2027?", + "KXDRAKEUMGSUIT-27": "Will Drake win his lawsuit against UMG?", + "KXCOVEREA-27": "Who will be the cover athlete for the next EA Sports college basketball video game?", + "KXCANCARBON-27": "Will the Canadian carbon tax be repealed before 2027?", + "KXBOLIBRARYOPEN": "When will Barack Obama's presidential library open to the public?", + "KXBALLOTAMERICAPARTY-27": "Will any America Party candidate be on a federal or gubernatorial ballot before 2027?", + "KXBALDONILIVELY": "Blake Lively vs. Justin Baldoni: Who wins the lawsuit?", + "KXATF-26DEC31": "Who will be Trump's ATF Director?", + "KXASL3-27": "Will Anthropic release an \"AI Safety Level 3\" model before 2027?", + "KXAIPAUSE-27": "Will any of the major AI companies pause research for safety reasons before 2027?", + "KXAINEURALESE-27": "Will an AI model using neuralese recurrence be first released to the public before 2027?", + "KXABRAHAMSA-27": "Will Israel and Saudi Arabia normalize relations before 2027?", + "KXABRAHAMQ-27": "Will Israel and Qatar normalize relations before 2027?", + "KXAAPLPRICEFOLD-27": "What will be the price of a foldable iPhone?", + "KX250DOLLARBILL-27": "Will Trump create a $250 bill with his face on it?", + "GOVPARTYNY-26": "Who will win the governorship in New York?", + "GOVPARTYNM-26": "Who will win the governorship in New Mexico?", + "GOVPARTYMI-26": "Who will win the governorship in Michigan?", + "MOON": "NASA lands on the moon?", + "KXOSCARNOMSUPACTR-26": "Oscar nominations for Supporting Actress?", + "WRECSS-26": "Which countries will have a recession?", + "TESLAOPTIMUS-26DEC31": "Tesla Optimus on sale before 2027?", + "TESLACEOCHANGE-26": "Elon Musk out as Tesla CEO before 2027?", + "KXUFCFLYWEIGHTTITLE-26": "UFC Flyweight Title Holder on Dec 31, 2026?", + "KXTVSEASONRELEASEHARRYPOTTER": "When will the Harry Potter TV series release?", + "KXTHEGAMBIAPRES-26": "Who will win the next Gambian presidential election?", + "KXSUPERBOWLHEADLINE-26": "Who will headline the pro football championship?", + "KXRETURNREREQ-26": "What characters will return in Resident Evil: Requiem?", + "KXPS6-26": "PS6 announced before 2027?", + "KXPERFORMSUPERBOWLB-26": "Who will perform at the pro football championship?", + "KXPERFORMGRAMMYS-26": "Who will perform at the 68th Grammy Awards?", + "KXOSCARNOMSUPACTO-26": "Oscar nominations for Best Supporting Actor?", + "KXOSCARNOMDOCU-26": "Oscar nominations for Best Documentary Feature Film?", + "KXOSCARNOMDIR-26": "Oscar nominations for Best Director?", + "KXOSCARNOMACTR-26": "Oscar nominations for Best Actress?", + "KXOSCARNOMACTO-26": "Oscar nominations for Best Actor?", + "KXNYCBILLIONAIRES-26": "How many billionaires will New York City lose this year?", + "KXNBATOP5ROTY-26": "Top 5 Pro Basketball Draft Pick Wins Rookie of the Year?", + "KXJUMANJI3DELAY-26DEC31": "Will Jumanji 3 be delayed?", + "KXGOVNYNOMR-26": "Republican nominee for Governor in New York?", + "KXFIELDS-26": "Who will win the Fields Medal next year?", + "KXFIDECANDIDATES-26": "Who will qualify for the FIDE Candidates tournament?", + "KXEUROVISIONHOST-26": "Which city will host Eurovision next year?", + "KXDEPORTCOUNT-25": "Deportations in Trump's first year?", + "KXDENMARKPARLI-26": "Who will win the next Danish general election?", + "KXCOLLEGEDROP-26": "Which colleges will see their ranking drop this year?", + "KXCOACHELLA-26": "Who will be part of the lineup for Coachella 2026?", + "KXCHESSWORLDCHAMPION-CHESS26": "Who will win the World Chess Championship?", + "APPLEFOLD": "When will Apple announce foldable iPhone?", + "KX1SONGJUSTINBIEBER-DEC2726": "Will Justin Bieber have a #1 hit this year?", + "KXTOPALBUMRECORDSWAG-SWA": "How many straight weeks will 'SWAG' be #1?", + "KXATTYGENND-26": "Who will win the Attorney General race in North Dakota?", + "GOVPARTYHI-26": "Who will win the governorship in Hawaii?", + "KXGRAMMYNOMROTY-68": "2026 Grammy nominations for Record of the Year?", + "KXPCTVOTEMAM-26": "Will Zohran Mamdani get half the votes in the NYC Mayoral Election?", + "KXTX28D-26": "Who will be the Democratic nominee for TX-28?", + "KXSENATETXR-26": "Republican nominee for Senate in Texas?", + "KXSENATETXD-26": "Democratic nominee for Senate in Texas?", + "KXSENATEOHSR-26": "Republican nominee for Senate in Ohio?", + "KXSENATEOHSD-26": "Democratic nominee for Senate in Ohio?", + "KXSENATENHR-26": "Republican nominee for Senate in New Hampshire?", + "KXSENATENHD-26": "Who will be the Democratic nominee for Senate in New Hampshire?", + "KXSENATENCR-26": "Republican nominee for Senate in North Carolina?", + "KXSENATENCD-26": "Democratic nominee for Senate in North Carolina?", + "KXSENATEMND-26": "Who will be the Democratic nominee for Senate in Minnesota?", + "KXSENATEMID-26": "Who will be the Democratic nominee for Senate in Michigan?", + "KXSENATEMER-26": "Who will be the Republican nominee for Senate in Maine?", + "KXSENATEMED-26": "Democratic nominee for Senate in Maine?", + "KXSENATEKYR-26": "Who will be the Republican nominee for Senate in Kentucky?", + "KXSENATEILD-26": "Who will be the Democratic nominee for Senate in Illinois?", + "KXSENATEGAR-26": "Republican nominee for Senate in Georgia?", + "KXSENATEFLR-26": "Republican nominee for Senate in Florida?", + "KXSENATEFLD-26": "Democratic nominee for Senate in Florida?", + "KXRETIREMM-26": "Will Mitch McConnell resign his office before the midterms?", + "KXIL9D-26": "Who will be the Democratic nominee for IL-9?", + "KXGOVWINOMR-26": "Who will be the Republican nominee for Governor in Wisconsin?", + "KXGOVPANOMR-26": "Who will be the Republican nominee for Governor in Pennsylvania?", + "KXGOVOHNOMR-26": "Republican nominee for Ohio Governor?", + "KXGOVOHNOMD-26": "Democratic nominee for Ohio Governor?", + "KXGOVNMNOMD-26": "Who will be the Democratic nominee for Governor in New Mexico?", + "KXGOVMINOMR-26": "Who will be the Republican nominee for Governor in Michigan?", + "KXGOVMINOMD-26": "Democratic nominee for Governor in Michigan?", + "KXGOVMENOMR-26": "Who will be the Republican nominee for Governor in Maine?", + "KXGOVMENOMD-26": "Who will be the Democratic nominee for Governor in Maine?", + "KXGOVKSNOMR-26": "Who will be the Republican nominee for Governor in Kansas?", + "KXGOVKSNOMD-26": "Who will be the Democratic nominee for Governor in Kansas?", + "KXGOVGANOMR-26": "Republican nominee for Georgia Governor?", + "KXGOVGANOMD-26": "Democratic nominee for Georgia Governor?", + "KXGOVFLNOMR-26": "Who will be the Republican nominee for Governor in Florida?", + "KXGOVFLNOMD-26": "Who will be the Democratic nominee for Governor in Florida?", + "KXGOVAZNOMR-26": "Who will be the Republican nominee for Governor in Arizona?", + "KXCA11D-26": "Who will be the Democratic nominee for CA-11?", + "KXLBJRETIRE-26": "LeBron announces retirement before the 2026-27 season?", + "KXISRAELKNESSET-26": "Who will win the next Israeli legislative election?", + "KXELECTIONICOAST-26": "Who will win Ivory Coast Presidential Election?", + "KXBRPRES-26": "Who will win the Brazilian election?", + "KXBRBALLOT-26": "Who will run for President of Brazil?", + "KXSWEDENPARLI-26": "Who will win the next Swedish general election?", + "KXSENATEMAD-26": "Massachusetts Democratic Senate Nominee", + "KXPGASOLHEIM-SC26": "Solheim Cup Champion?", + "KXSENATERIR-26": "Rhode Island Republican Senate Nominee", + "KXSENATERID-26": "Rhode Island Democratic Senate Nominee", + "KXMA6D-26": "Who will be the Democratic nominee for MA-6?", + "KXGOVRINOMD-26": "Who will be the Democratic nominee for Governor in Rhode Island?", + "KXARODGRETIRE-26": "Will Aaron Rodgers retire before the 2026-2027 season?", + "KXZAMBIAPRES-26": "Who will win the next Zambian presidential election?", + "KXWA4PRIMARY-26": "Who will win the WA-4 primary?", + "KXGOVWYNOMR-26": "Who will be the Republican nominee for Governor in Wyoming?", + "KXGOVWINOMD-26": "Who will be the Democratic nominee for Governor in Wisconsin?", + "KXGOVTNNOMR-2-26": "Who will be the Republican nominee for Governor in Tennessee?", + "KXGOVCTNOMD-26": "Who will be the Democratic nominee for Governor in Connecticut?", + "KXGOVAKPRIMARY-26": "Who will win Alaska's top-four primary for Governor?", + "KXAZ5R-26": "Who will be the Republican nominee for AZ-5?", + "KXFL19R-26": "Who will be the Republican nominee for FL-19?", + "KXZAMBIAASSEMBLY-26": "Who will win the next Zambian National Assembly election?", + "KXSENATEMNR-26": "Minnesota Republican Senate Nominee", + "KXMN2D-26": "Who will be the Democratic (DFL) nominee for MN-2?", + "KXSENATEMIR-26": "Michigan Republican Senate Nominee", + "KXNH1D-26": "Who will be the Democratic nominee for NH-1?", + "KXMI11D-26": "Who will be the Democratic nominee for MI-11?", + "KXMENWORLDCUP-26": "2026 Men's World Cup winner?", + "KXUFCWHITEHOUSE-26JUL05": "Will the UFC host a fight at the White House by the US' 250th anniversary?", + "KXAGENCIES-26": "How many federal agencies will DOGE cut?", + "KXSENATECOD-26": "Who will be the Democratic nominee for Senate in Colorado?", + "KXNBAWEST-26": "Pro Basketball Western Conference Champion?", + "KXNBAEAST-26": "Pro Basketball Eastern Conference Champion?", + "KXNBADRAFT1-26": "NBA #1 overall pick next year?", + "KXNBA-26": "Pro Basketball Champion?", + "KXGOVSDNOMR-26": "Who will be the Republican nominee for Governor in South Dakota?", + "KXGOVOKNOMR-26": "Who will be the Republican nominee for Governor in Oklahoma?", + "KXGOVNVNOMD-26": "Who will be the Democratic nominee for Governor in Nevada?", + "KXGOVNMNOMR-26": "Who will be the Republican nominee for Governor in New Mexico?", + "KXGOVALNOMR-26": "Who will be the Republican nominee for Governor in Alabama?", + "KXCO8D-26": "Who will be the Democratic nominee for CO-8?", + "KXSENATEVAD-26": "Virginia Democratic Senate Nominee", + "KXSOCCERPLAYCRON-26": "Will Cristiano Ronaldo play in the World Cup?", + "KXFIFAUSPULL-26": "Will FIFA pull the World Cup out of the USA?", + "KXBOYCOTTWC-26": "Will any NATO member state boycott the USA World Cup next year?", + "KXSENATESCR-26": "South Carolina Republican Senate Nominee", + "KXSENATESCD-26": "South Carolina Democratic Senate Nominee", + "KXARMENIAPARLI-26": "Who will win the next Armenian parliamentary election?", + "KXSENATEMTD-26": "Montana Democratic Senate Nominee", + "KXSENATEIAR-26": "Iowa Republican Senate Nominee", + "KXMAYORLA-26": "Los Angeles Mayoral Election", + "KXKXSENATEIAD-26": "Iowa Democratic Senate Nominee", + "KXGOVIANOMR-26": "Who will be the Republican nominee for Governor in Iowa?", + "KXGOVCAPRIMARY-26": "Who will win California's top-two primary for governor?", + "KXCA22PRIMARY-26": "Who will win the CA-22 primary?", + "KXPA3D-26": "Who will be the Democratic nominee for PA-3?", + "KXLEBANONPARLI-26": "Who will win the next Lebanese general election?", + "KXCOLOMBIASENATE-26": "Who will win the next Colombian Senate election?", + "KXCOLOMBIAPRES-26": "Who will win the next Colombian presidential election?", + "KXCOLOMBIACHAMBER-26": "Who will win the next Colombian Chamber of Representatives election?", + "KXGTA6ONTIME": "Will GTA 6 be released on time?", + "KXSENATEORD-26": "Oregon Democratic Senate Nominee", + "KXSENATEKYD-26": "Kentucky Democratic Senate Nominee", + "KXSENATEIDR-26": "Who will be the Republican nominee for Senate in Idaho?", + "KXKY4R-26": "Who will be the Republican nominee for KY-4?", + "KXCONGRESSTRADES-25": "Which member of Congress will have the biggest returns this year?", + "KXSENATEWVR-26": "West Virginia Republican Senate Nominee", + "KXSENATENER-26": "Nebraska Republican Senate Nominee", + "KXNE2R-26": "Who will be the Republican nominee for NE-2?", + "KXNE2D-26": "Who will be the Democratic nominee for NE-2?", + "KXNBAWFINMVP-26": "Pro Basketball Western Conference Finals MVP Winner?", + "KXNBASIXTH-26": "Pro Basketball Sixth Man of the Year Winner?", + "KXNBAROY-26": "Pro Basketball Rookie of the Year Winner?", + "KXNBAMVP-26": "Pro Basketball MVP Winner?", + "KXNBAMIMP-26": "Pro Basketball Most Improved Player Winner?", + "KXNBAFINMVP-26": "Pro Basketball Finals MVP Winner?", + "KXNBAEFINMVP-26": "Pro Basketball Eastern Conference Finals MVP Winner?", + "KXNBADPOY-26": "Pro Basketball Defensive Player of the Year Winner?", + "KXNBACUPMVP-26": "Pro Basketball Cup Tournament MVP Winner?", + "KXNBACOY-26": "Pro Basketball Coach of the Year Winner?", + "KXNBACLUTCH-26": "Pro Basketball Clutch Player of the Year Winner?", + "KXWICOURT-26": "Who will win the Supreme Court race in Wisconsin?", + "KXHUNGARYPARLI-26": "Who will win the next Hungarian general election?", + "KXNFLDRAFT1-26": "Pro Football #1 overall pick next year?", + "KXSENATELAR-26": "Louisiana Republican Senate Nominee", + "KXNBAPLAYOFF-26": "Pro Basketball Playoff Qualifiers?", + "KXPERUPRES-26": "Who will win the next Peruvian presidential election?", + "KXPERUCONGRESS-26": "Who will win the next Peruvian Congressional election?", + "KXUSDEBT": "How much will US debt increase this year?", + "KXGOVTSPEND-26": "How much will the government increase spending this year?", + "KXGOVFORMPL-26APR": "Will a new government be formed in Poland before April?", + "KXSOLAR-25": "How much solar capacity will be installed in the US this year?", + "KXLARGETARIFF": "Will Trump impose large tariffs in his first year?", + "KXGOVTCUTS-25": "How much government spending will Trump and Elon cut this year?", + "KXDEBTGROWTH25-25DEC31": "Peak US National Debt this year", + "KXSPORTSIGNPEREZ-26": "Will Sergio Perez sign with Cadillac?", + "KXSENATEILR-26": "Who will be the Republican nominee for Senate in Illinois?", + "KXSENATEMSR-26": "Mississippi Republican Senate Nominee", + "KXSENATEMSD-26": "Mississippi Democratic Senate Nominee", + "KXTX21R-26": "Who will be the Republican nominee for TX-21?", + "KXSENATEARD-26": "Who will be the Democratic nominee for Senate in Arkansas?", + "KXSENATEALR-26": "Who will be the Republican nominee for Senate in Alabama?", + "KXSENATEALD-26": "Who will be the Democratic nominee for Senate in Alabama?", + "KXLAYOFFSYINFO-25": "More tech layoffs this year than in 2024?", + "KXMLBWORLD-26": "World Baseball Classic Winner?", + "KXCOSTARICAPRES-26": "Who will win the next Costa Rican presidential election?", + "KXCOSTARICAASSEMBLY-26": "Who will win the next Costa Rican general election?", + "KXOSCARNOMPIC-26": "Oscar nominations for Best Picture?", + "KXSB-26": "Pro Football Champion?", + "KXNFCAFCSB-26": "Which Conference Wins the Pro Football Championship?", + "KXNFLOROTY-26": "Pro Football Offensive Rookie of the Year Winner?", + "KXNFLOPOTY-26": "Pro Football Offensive Player of the Year Winner?", + "KXNFLMVP-26": "Pro Football MVP winner?", + "KXNFLDROTY-26": "Pro Football Defensive Rookie of the Year Winner?", + "KXNFLDPOTY-26": "Pro Football Defensive Player of the Year Winner?", + "KXNFLCPOTY-26": "Pro Football Comeback Player of the Year Winner?", + "KXNFLCOTY-26": "Pro Football Coach of the Year Winner?", + "KXFEDEMPLOYEES-26JAN": "How many government employees will Trump cut in 2025?", + "KXEVENTTIMES-26": "How many pro football games will Taylor Swift attend this season?", + "KXDRUGPRICEOZEMPIC-26FEB": "How much will Ozempic's price fall before February?", + "RECSSNBER-25": "Recession this year?", + "KXREALWAGES-25": "Will wages be above inflation this year?", + "KXDEBTLEVEL-25": "Will total US debt be above $38T at the end of 2025?", + "KXNFLNFCCHAMP-25": "Pro Football NFC Championship Winner?", + "KXNFLAFCCHAMP-25": "Pro Football AFC Championship Winner?", + "KXGDPYEAR-25": "GDP growth in 2025?", + "KXOSCARNOMBCASTING-26": "Oscar nominations for Achievement in Casting?", + "KXSFRENTSY-25": "Rent price increase in SF this year?", + "KXNYCRENTSY-25": "How much will New York City rent grow by this year?", + "KXNCAAF-26": "College Football Championship Winner?", + "KXSEMIPRODH-25": "US semiconductor production growth this year?", + "KXLTGOVVA-25": "Who will win the Lieutenant Governor race in Virginia?", + "KXATTYGENVA-25": "Who will win the Attorney General race in Virginia?", + "GOVPARTYNJ-25": "New Jersey Governor?", + "KXMEISSNER-2531DEC": "Meissner effect confirmed near room temperature this year?", + "KXNFLEXACTWINSWAS-25": "Washington pro football exact win total this season?", + "KXNFLEXACTWINSTEN-25": "Tennessee pro football exact win total this season?", + "KXNFLEXACTWINSTB-25": "Tampa Bay pro football exact win total this season?", + "KXNFLEXACTWINSSF-25": "San Francisco pro football exact win total this season?", + "KXNFLEXACTWINSSEA-25": "Seattle pro football exact win total this season?", + "KXNFLEXACTWINSPIT-25": "Pittsburgh pro football exact win total this season?", + "KXNFLEXACTWINSPHI-25": "Philadelphia pro football exact win total this season?", + "KXNFLEXACTWINSNYJ-25": "New York J pro football exact win total this season?", + "KXNFLEXACTWINSNYG-25": "New York G pro football exact win total this season?", + "KXNFLEXACTWINSNO-25": "New Orleans pro football exact win total this season?", + "KXNFLEXACTWINSNE-25": "New England pro football exact win total this season?", + "KXNFLEXACTWINSMIN-25": "Minnesota pro football exact win total this season?", + "KXNFLEXACTWINSMIA-25": "Miami pro football exact win total this season?", + "KXNFLEXACTWINSLV-25": "Las Vegas pro football exact win total this season?", + "KXNFLEXACTWINSLAC-25": "Los Angeles C pro football exact win total this season?", + "KXNFLEXACTWINSLA-25": "Los Angeles R pro football exact win total this season?", + "KXNFLEXACTWINSKC-25": "Kansas City pro football exact win total this season?", + "KXNFLEXACTWINSJAC-25": "Jacksonville pro football exact win total this season?", + "KXNFLEXACTWINSIND-25": "Indianapolis pro football exact win total this season?", + "KXNFLEXACTWINSHOU-25": "Houston pro football exact win total this season?", + "KXNFLEXACTWINSGB-25": "Green Bay pro football exact win total this season?", + "KXNFLEXACTWINSDET-25": "Detroit pro football exact win total this season?", + "KXNFLEXACTWINSDEN-25": "Denver pro football exact win total this season?", + "KXNFLEXACTWINSDAL-25": "Dallas pro football exact win total this season?", + "KXNFLEXACTWINSCLE-25": "Cleveland pro football exact win total this season?", + "KXNFLEXACTWINSCIN-25": "Cincinnati pro football exact win total this season?", + "KXNFLEXACTWINSCHI-25": "Chicago pro football exact win total this season?", + "KXNFLEXACTWINSCAR-25": "Carolina pro football exact win total this season?", + "KXNFLEXACTWINSBUF-25": "Buffalo pro football exact win total this season?", + "KXNFLEXACTWINSBAL-25": "Baltimore pro football exact win total this season?", + "KXNFLEXACTWINSATL-25": "Atlanta pro football exact win total this season?", + "KXNFLEXACTWINSARI-25": "Arizona pro football exact win total this season?", + "GOVPARTYVA-25": "Virginia governor winner?", + "KXNFLWINS-WAS-25": "Washington pro football wins this season?", + "KXNFLWINS-TEN-25": "Tennessee pro football wins this season?", + "KXNFLWINS-TB-25": "Tampa Bay pro football wins this season?", + "KXNFLWINS-SF-25": "San Francisco pro football wins this season?", + "KXNFLWINS-SEA-25": "Seattle pro football wins this season?", + "KXNFLWINS-PIT-25": "Pittsburgh pro football wins this season?", + "KXNFLWINS-PHI-25": "Philadelphia pro football wins this season?", + "KXNFLWINS-NYJ-25": "New York J pro football wins this season?", + "KXNFLWINS-NYG-25": "New York G pro football wins this season?", + "KXNFLWINS-NO-25": "New Orleans pro football wins this season?", + "KXNFLWINS-NE-25": "New England pro football wins this season?", + "KXNFLWINS-MIN-25": "Minnesota pro football wins this season?", + "KXNFLWINS-MIA-25": "Miami pro football wins this season?", + "KXNFLWINS-LV-25": "Las Vegas pro football wins this season?", + "KXNFLWINS-LAC-25": "Los Angeles C pro football wins this season?", + "KXNFLWINS-LA-25": "Los Angeles R pro football wins this season?", + "KXNFLWINS-KC-25": "Kansas City pro football wins this season?", + "KXNFLWINS-JAC-25": "Jacksonville pro football wins this season?", + "KXNFLWINS-IND-25": "Indianapolis pro football wins this season?", + "KXNFLWINS-HOU-25": "Houston pro football wins this season?", + "KXNFLWINS-GB-25": "Green Bay pro football wins this season?", + "KXNFLWINS-DET-25": "Detroit pro football wins this season?", + "KXNFLWINS-DEN-25": "Denver pro football wins this season?", + "KXNFLWINS-DAL-25": "Dallas pro football wins this season?", + "KXNFLWINS-CLE-25": "Cleveland pro football wins this season?", + "KXNFLWINS-CIN-25": "Cincinnati pro football wins this season?", + "KXNFLWINS-CHI-25": "Chicago pro football wins this season?", + "KXNFLWINS-CAR-25": "Carolina pro football wins this season?", + "KXNFLWINS-BUF-25": "Buffalo pro football wins this season?", + "KXNFLWINS-BAL-25": "Baltimore pro football wins this season?", + "KXNFLWINS-ATL-25": "Atlanta pro football wins this season?", + "KXNFLWINS-ARI-25": "Arizona pro football wins this season?", + "KXECONPATH-25": "State of the economy at the end of 2025?", + "KXCPICOREA-2025": "Core inflation in 2025?", + "KXACPI-2025": "Inflation in 2025?", + "KXLCPIMAXYOY-25": "How high will the inflation level get in 2025?", + "KXSCOTUSN-25DEC31": "New Supreme Court justice confirmed in 2025?", + "GOVPARTYNE-26": "Who will win the governorship in Nebraska?", + "KXNFLPLAYOFF-26": "Pro Football Playoff Qualifiers?", + "KXNFLNFCWEST-25": "Pro Football NFC West Division Winner?", + "KXNFLNFCSOUTH-25": "Pro Football NFC South Division Winner?", + "KXNFLNFCNORTH-25": "Pro Football NFC North Division Winner?", + "KXNFLNFCEAST-25": "Pro Football NFC East Division Winner?", + "KXNFLAFCWEST-25": "Pro Football AFC West Division Winner?", + "KXNFLAFCSOUTH-25": "Pro Football AFC South Division Winner?", + "KXNFLAFCNORTH-25": "Pro Football AFC North Division Winner?", + "KXNFLAFCEAST-25": "Pro Football AFC East Division Winner?", + "KXMEASLES-2531": "Measles cases in 2025?", + "KXTOPSONGS-25": "How many #1 songs in 2025?", + "KXTOPAI-26": "Which companies will have a #1 AI model in 2025?", + "KXSURGEON-26JAN01": "Will Janette Nesheiwat be confirmed as Surgeon General?", + "KXSALTX-26": "Will the SALT tax deduction cap be raised or eliminated?", + "KXOAIPLATEAU-26": "Will GPT plateau?", + "KXIVYFUNDING-26": "Ivy Leagues lose federal funding in 2025?", + "KXGPT5-26JAN01": "ChatGPT-5 revealed in 2025?", + "KXFEDMEET-25": "Will the Fed have an emergency meeting in 2025?", + "KXDOGEMAX1": "When will Dogecoin hit $1?", + "KXDCUSATTORNEY-26JAN01": "Will Ed Martin be confirmed as DC US Attorney?", + "KXDCUSATTORNEY-26": "When will Jeanine Pirro be confirmed as DC US Attorney?", + "KXCRYPTOREG-26": "Federal crypto regulation this year?", + "KXAMBMALAY-25": "When will Nick Adams be confirmed as Ambassador of Malaysia?", + "KXAISPIKE-26": "AI capability growth this year?", + "KX1DREUNION-26": "Will there be a One Direction reunion in 2025?", + "KXUSDCMIN-25DEC31": "Will USDC de-peg this year?", + "KXCOVVHC-24NOV05": "COVID high consequence variant reported in 2025?", + "KXCOVVC-25": "COVID new variant of concern reported in 2025?", + "ROBOTAXIOUT-26": "Tesla robotaxi public release in 2025?", + "KXZYNBAN-25": "Zyn banned in the US in 2025?", + "KXPRESLEAVETUR-26": "Will Erdo\u011fan leave office in 2025?", + "KXNGOTAX-26": "Will the Stop Terror-Financing and Tax Penalties on American Hostages Act become law in 2025?", + "KXWHCOS-26": "Will Susie Wiles still be Trump's Chief of Staff in 2026?", + "KXAAAGASMINTX-25DEC31": "How low will gas prices in Texas get in 2025?", + "KXAAAGASMINCA-25DEC31": "How low will gas prices in California get in 2025?", + "KXAAAGASMAXTX-25DEC31": "How high will gas prices in Texas get in 2025?", + "KXAAAGASMAXCA-25DEC31": "How high will gas prices in California get in 2025?", + "KXTOPALBUMBYDONTOLIVER-25": "Don Toliver has a #1 album in 2025?", + "TESLAROADSTER-25": "Tesla Roadsters delivered in 2025?", + "PS6-26": "PS6 announced in 2025?", + "NPRDEFUND-25": "Congress defunds NPR in 2025?", + "MSFTCEO-25": "New Microsoft CEO in 2025?", + "KXZERORATE-2025": "Will rates hit zero in 2025?", + "KXZELENSKYYPUTINMEET-26": "Will Zelenskyy meet with Putin before Jan 2026?", + "KXXRPMINY-25DEC31": "How low will XRP get this year?", + "KXXRPMAXY-25DEC31": "How high will XRP get this year?", + "KXXLMMINY-25": "How low will XLM get this year?", + "KXXLMMAXY-25": "How high will XLM get this year?", + "KXXBANNEDRDT-26": "Will Trump be banned on X this year?", + "KXWTO-26": "Will Trump try to leave the WTO in 2025?", + "KXWTIMIN-25DEC31": "How low will WTI oil get by Dec 31, 2025?", + "KXWTIMAX-25DEC31": "How high will WTI oil get by Dec 31, 2025?", + "KXWHVISIT-26JAN": "Who will visit the White House before Jan 2026?", + "KXWHBRIEFINGEY-26": "Will Eliezer Yudkowsky be mentioned in the White House Briefing Room in 2025?", + "KXWHBRIEFINGAIRISK-26": "Will existential AI risk be mentioned in the White House Briefing Room this year?", + "KXWAPOWHBAN-25": "Will The Washington Post be banned from White House pressers this year?", + "KXVPBREAKS-25DEC31": "How many Senate ties will J.D. Vance break this year?", + "KXVOTESHUTDOWNS-26": "Who will vote for the next government funding bill in the Senate?", + "KXVOTERECISSION-26": "Who will vote for the next budget rescission bill in the senate?", + "KXVINE-25": "X re-launches Vine this year?", + "KXVETOCOUNT-26": "How many bills will Trump veto this year?", + "KXVANCEOUT-26JAN": "JD Vance out as Vice President of the United States this year?", + "KXVACCINEWRFK-26": "Will RFK end any vaccine approvals this year?", + "KXVACCINERECS-26": "Which vaccines will RFK end recommendations for this year?", + "KXVACCINEREC-26": "Will the CDC end its recommendation for any vaccine this year?", + "KXUSPS-26": "Will Trump privatize the post office this year?", + "KXUSMCA-26": "Will Trump try to leave the USMCA this year?", + "KXUSDX-25": "De-dollarization: USD index yearly low this year?", + "KXUSDTMIN-25DEC31": "Will Tether de-peg this year?", + "KXUSDMEXMAX-25DEC31": "How weak will the Mexican peso get this year?", + "KXUSDBRLMAX-25DEC31": "How weak will the Brazilian real get this year?", + "KXUSCOLOMBIAFTA-25": "Will the US-Colombia FTA investor state clause be formally amended this year?", + "KXUSAIRANAGREEMENT-26": "New US-Iran nuclear deal this year?", + "KXUSAF1-25": "Will there be a 4th USA F1 race announced this year?", + "KXUKUSVISAS-26": "Will the UK issue a new form of investor visa before the US issues a gold card?", + "KXUKRIMPEACH-26": "Will Zelenskyy be removed by the Ukrainian parliament this year?", + "KXUKRAINERESIGN-26": "Will Volodymyr Zelenskyy resign?", + "KXUKPMLEAVE-26": "Will the UK Prime Minister leave office this year?", + "KXUKELECTIONCALL-26": "Will a new UK election be called this year?", + "KXTURKEYTERMLIMITS-25": "Will Erdo\u011fan repeal presidential term limits this year?", + "KXTRUMPPARDON-26JAN01": "Who will President Trump pardon this year?", + "KXTRUMPFIRE-25": "How many Cabinet members will Trump fire this year?", + "KXTRUMPCANBAN-26": "Will Trump be banned from entering Canada this year?", + "KXTREASURYMAX5-25": "Will Treasury note yields hit 5% this year?", + "KXTREASBLOCKCHAIN-26": "Will Treasury have any transactions on the blockchain this year?", + "KXTRDBAN-25DEC31": "Congress banned from trading stocks this year?", + "KXTRAVELBANEND-26": "Will Trump's travel ban end this year?", + "KXTPALBUMMILEYCYRUS-25": "Miley Cyrus has a #1 album this year?", + "KXTOURJUSTINBIEBER-26": "Will Justin Bieber announce a new tour this year?", + "KXTOPALBUMYJID-25": "JID has a #1 album this year?", + "KXTOPALBUMWIZKHALIFA-25": "Wiz Khalifa has a #1 album this year?", + "KXTOPALBUMROCKY-25": "A$AP Rocky has a #1 album this year?", + "KXTOPALBUMLILWAYNE-25": "Lil Wayne has a #1 album this year?", + "KXTOPALBUMKESHA-25": "Kesha has a #1 album this year?", + "KXTOPALBUMKANYE-25": "Ye has a #1 album this year?", + "KXTOPALBUMJCOLE-25": "J Cole has a #1 album this year?", + "KXTOPALBUMHARRYSTYLES-25": "Harry Styles has a #1 album this year?", + "KXTOPALBUMDAVIDO-25": "Davido has a #1 album this year?", + "KXTOPALBUMCHAPPELL-25": "Chappell Roan has a #1 album this year?", + "KXTOPALBUMBYZEDD-25": "Zedd has a #1 album this year?", + "KXTOPALBUMBYRODDYRICCH-25": "Roddy Ricch has a #1 album this year?", + "KXTOPALBUMBYPOSTMALONE-25": "Post Malone has a #1 album this year?", + "KXTOPALBUMBYPINKPANTHERESS-25": "PinkPantheress has a #1 album this year?", + "KXTOPALBUMBYOLIVIA-25": "Olivia Rodrigo has a #1 album this year?", + "KXTOPALBUMBYMEGAN-25": "Megan Thee Stallion has a #1 album this year?", + "KXTOPALBUMBYLORDE-25": "Lorde has a #1 album this year?", + "KXTOPALBUMBYLILTECCA-25": "Lil Tecca has a #1 album this year?", + "KXTOPALBUMBYJOEJONAS-25": "Joe Jonas has a #1 album this year?", + "KXTOPALBUMBYICESPICE-25": "Ice Spice has a #1 album this year?", + "KXTOPALBUMBYFRANKOCEAN-25": "Frank Ocean has a #1 album this year?", + "KXTOPALBUMBYERICCHURCH-25": "Eric Church has a #1 album this year?", + "KXTOPALBUMBYBRUCESPRINGSTEEN-25": "Bruce Springsteen has a #1 album this year?", + "KXTOPALBUMBYBILLIE-25": "Billie Eilish has a #1 album this year?", + "KXTOPALBUMBYBEY-25": "Beyonce has a #1 album this year?", + "KXTOPALBUMBLAKESHELTON-25": "Blake Shelton has a #1 album this year?", + "KXTOP3WEALTH-25DEC31": "Who will be the three wealthiest people in the world?", + "KXTIMEPOTYWOMAN-25": "TIME's Person of the Year for 2025 is a woman?", + "KXTIME-25": "TIME's Person of the Year for 2025?", + "KXTHIELCHARTER-25": "Will Erebor receive a charter to operate this year?", + "KXTESLATARIFF-26": "Will any country tariff Tesla products this year?", + "KXTESLAFACTORY-26": "Will Tesla close its Berlin factory this year?", + "KXTEFILLIN-25": "Will Yossi Farro wrap tefillin with Mark Zuckerberg this year?", + "KXTAXWAIVE-26": "Will Trump end income tax for people earning under $150k?", + "KXTAXAPP-26": "Will the government create a new tax filing app this year?", + "KXTARIFFSCOPPER-26": "Will Trump launch tariffs on copper?", + "KXTARIFFREVENUE-25": "How much revenue will tariffs bring in this year?", + "KXTARIFFCOUNTRY-26JAN01": "What countries will Trump tariff this year?", + "KXSYRIA-26": "Will the US reopen its embassy in Syria this year?", + "KXSWEBENCH-26": "How high will AI models score on SWE-Bench this year?", + "KXSUPPORTPARTYMUSKD-25": "Will Elon Musk support a Democrat for office this year?", + "KXSUBWAY-26": "NYC subway ridership levels before 2026?", + "KXSTOPWORK-26": "What agencies will Trump and DOGE order to stop working this year?", + "KXSTATEMENTCOUNTPOPE-26JAN01": "Will Pope Leo XIV issue a statement condemning bullfighting this year?", + "KXSTARSHIPSPACE-25": "How many Starship launches will reach space this year?", + "KXSTARSHIPFL": "Will SpaceX's Starship launch from Florida this year?", + "KXSSDELAY-26": "Will delays in social security payments be reported this year?", + "KXSRIRAM-26": "Will Sriram Krishnan be out of the White House this year?", + "KXSPRMIN-26": "Strategic petroleum reserve size this year?", + "KXSP500BTCPURCHASE-25": "Will another S&P 500 company buy bitcoin this year?", + "KXSOTHLEAVE-26": "Mike Johnson out as Speaker of the House this year?", + "KXSNAPPRESTURKEY-25": "Will a new presidential election be scheduled in Turkey for this year?", + "KXSINNERSIMAX-26": "Will Warner Bros release a third IMAX run of Sinners this year?", + "KXSHIBAMINY-25": "How low will Shiba Inu get this year?", + "KXSHIBAMAXY-25": "How high will Shiba Inu get this year?", + "KXSENPARL-26JAN": "Elizabeth MacDonough out as Parliamentarian this year?", + "KXSENMAJLEAVE-26": "Will John Thune no longer be Senate Majority Leader this year?", + "KXSECURITYCLEARANCEMUSK-26": "Elon Musk's security clearance revoked this year?", + "KXSECSTATEVISIT-26": "What countries will Marco Rubio visit this year?", + "KXSEC230-25": "Legal protections for social media platforms weakened this year?", + "KXSCHENGEN-25DEC": "Number of Countries to Withdraw from Schengen Agreement this year?", + "KXROGANGUEST-26JAN01": "Who will go on Joe Rogan this year?", + "KXROGANBOARD-26": "Will Joe Rogan join the board of a public company this year?", + "KXROBOTAXICA-25": "Will Tesla's robotaxi be offered in California this year?", + "KXRIHANNA-25": "New Rihanna album this year?", + "KXREVOKECITIZENSHIP-26": "Who will have their citizenship revoked in 2025?", + "KXRESCISSIONBILL-26": "Will Congress approve a budget rescission request by Trump in 2025?", + "KXRELEASEMAXWELL-26JAN01": "Will Ghislaine Maxwell be released from government custody in 2025?", + "KXRECOGPERSONIRAN-25": "Will the US recognize Reza Pahlavi as the leader of Iran in 2025?", + "KXRECCOUNT-25": "How many reconciliation bills will pass in 2025?", + "KXRECALLNEWSOM-26": "Will there be a recall election for Gavin Newsom in 2025?", + "KXRECALLBASS-26": "Will there be a recall election for Karen Bass in 2025?", + "KXRAWMILKBAN-26": "Will RFK end the raw milk ban in 2025?", + "KXPRIVACYUPDATENYT-26": "Will The New York Times update its privacy policy this year?", + "KXPRESVISIT-26": "What countries will Trump visit in the first year?", + "KXPRESNOMFEDCHAIR-25": "Will Trump announce his new Chair of the Federal Reserve in 2025?", + "KXPRESLEAVEFR-26": "Will Macron leave office in 2025?", + "KXPRESLEAVEBR-26": "Will Lula leave office in 2025?", + "KXPRCBTC-26": "Will Bitcoin be legalized in China this year?", + "KXPOST-26": "Will Jeff Bezos sell the Washington Post in 2025?", + "KXPOPEVISITNEXT-26": "Which country will the Pope visit next?", + "KXPOLIOWITHDRAW-26": "Will RFK revoke the polio vaccine in 2025?", + "KXPOLIO-25": "Will there be a case of polio in the USA this year?", + "KXPLANETFITNESSSUBS-26JAN": "Will Planet Fitness report above 23 million members before Jan 2026?", + "KXPIZZASCORE9-25": "Will Dave Portnoy score any pizza place a 9.0 or higher again this year?", + "KXPIPELINECEASETURKBLUE-25": "Will either the TurkStream or Blue Stream pipeline cease pumping gas at any point in 2025?", + "KXPERTUSSIS-25": "How many whooping cough cases this year?", + "KXPARTYSUPPORTMUSKD-25": "Will Elon Musk announce support for the Democratic party this year?", + "KXPARTYLEAVE-YEAR": "Will anyone in Congress change parties in 2025?", + "KXPARTYLEADEROUT-25": "Party leaders out this year?", + "KXPARLIAMENTARIAN-26": "Will the Senate overrule the parliamentarian on budget reconciliation?", + "KXPALNYT-26": "Will Palantir sue NYT?", + "KXOTHERLAUNCH-26": "How many non-SpaceX US commercial space launches will there be in 2026?", + "KXOTEEPSTEIN-26": "Who will vote for releasing the Epstein files in the House?", + "KXOPENSOURCEOAI-26JAN01": "Will OpenAI announce an open source model in 2025?", + "KXOPECCUTS-25": "Will OPEC announce new production cuts in 2025?", + "KXOAIPROFIT-26": "Will OpenAI stop being a non-profit?", + "KXOAIMSFT-26": "Will Open AI sue Microsoft?", + "KXNYTOAISETTLE-25DEC31": "New York Times settles OpenAI lawsuit?", + "KXNYSECIRCUIT-26": "Will a NYSE marketwide circuitbreaker happen in 2025?", + "KXNYGOVDP-26": "Will Kathy Hochul pardon Daniel Penny in 2025?", + "KXNPRCEOCHANGE-24": "NPR CEO leaves in 2025?", + "KXNOVOHIMS-26": "Will Novo Nordisk sue Hims?", + "KXNORDSTREAM2-26": "Will NordStream 2 open this year?", + "KXNINTENDOZELDA-26": "Will Nintendo release a mainline 'Legend of Zelda' game in 2025?", + "KXNGASMIN-25DEC29": "How low will the price of natural gas be in 2025?", + "KXNGASMAX-25DEC29": "How high will the price of natural gas be in 2025?", + "KXNFLHIRECOACH-26": "Who will get hired as a men's pro football coach in 2025?", + "KXNEXTYACCARINO-26JAN": "Where will Linda Yaccarino work next?", + "KXNEXTTONGAPM-26": "Next Prime Minister of Tonga?", + "KXNEXTTEAMVERSTAPPEN-26": "Will Max Verstappen join Mercedes this year?", + "KXNEXTLAUNCHSMALL-26": "Which of these smaller space companies will launch next?", + "KXNEWROLEX-26JAN": "Who will be the next CEO of X?", + "KXNEWPARTYMUSK": "Will Elon Musk create a new political party this year?", + "KXNEWMETAVR": "Will Meta release a new VR Headset to the public?", + "KXNEWGLENN-26": "Will Blue Origin's New Glenn rocket launch again in 2025?", + "KXNEWCOVIDVAX-26": "Will the FDA approve a vaccine for the new coronavirus in 2025?", + "KXNEWCOINLAUNCH-26": "Who will launch a coin this year?", + "KXNEWAAPLVR": "Will Apple release a New VR Headset to the public?", + "KXNEUTRONORBIT-25": "Will Rocket Lab's Neutron rocket reach orbit in 2025?", + "KXNEURALINKCOUNT-25": "How many people will Neuralink have implanted in 2025?", + "KXNATIONALIZESPACEX": "Will Trump nationalize SpaceX?", + "KXMUSKWEALTH-26": "How rich will Elon Musk get before 2026?", + "KXMUSKUNFOLLOWDJT-25": "Will Elon unfollow Trump in 2025?", + "KXMUSKSPORTS-26": "Will Elon Musk buy a major sports team in 2025?", + "KXMUSKCABLE-26": "Will an Elon Musk owned company release a cable company in 2025?", + "KXMUSKBLUESKY-26": "Will Elon make a Bluesky account in 2025?", + "KXMTGISRAEL-26JAN": "Will the US halt military aid to Israel?", + "KXMRBEAST100M-25DEC31": "Will any MrBeast video get more than 100 Million views a week after upload?", + "KXMPOXCASES-26JAN01": "Will there be a spike in Mpox cases?", + "KXMODELHIGH-26": "Which AI will be the first to hit 1500 on Chatbot Arena?", + "KXMILSPEND-26": "Will Trump try to reduce military spending in 2025?", + "KXMESSIRETIRE-26": "Will Lionel Messi announce his retirement before 2026?", + "KXMEDICARENEG-26": "Will Trump get rid of Medicare drug negotiation in 2025?", + "KXMAYORNYCPARTY-25": "NYC Mayoral Race Winner?", + "KXMAXWELLTESTIFY-26JAN": "Will Ghislaine Maxwell testify in front of Congress in 2025?", + "KXMARRIAGESWIFTKELCE-25": "Will Taylor Swift and Travis Kelce be married in 2025?", + "KXMARALAGO-26": "Who will visit Mar-a-Lago in 2025?", + "KXMAG7BTC-DAY": "Will one of the Magnificent 7 announce a BTC purchase this year?", + "KXLTCMINY-25": "How low will Litecoin get this year?", + "KXLTCMAXY-25": "How high will Litecoin get this year?", + "KXLLMCHESS-26": "Will an LLM beat a grandmaster in chess in 2026?", + "KXLLAMA5-26": "Will Meta release Llama 5 before Jan 2026?", + "KXLINKMINY-25": "How low will Chainlink get this year?", + "KXLINKMAXY-25": "How high will Chainlink get this year?", + "KXLEONARDODICAPRIO-26": "Will Leonardo DiCaprio be cast in Squid Game USA?", + "KXLEAVEXAI-25": "Who will leave xAI in 2025?", + "KXLEAVEOPENAI-25": "Who will leave OpenAI in 2025?", + "KXLEAVEMETA-25": "Who will leave Meta in 2025?", + "KXLEAVEMAGUIRESEQUOIA-25": "Will Shaun Maguire leave Sequoia in 2025?", + "KXLEAVEJONYIVEOAI-25": "Will Jony Ive leave OpenAI in 2025?", + "KXLEAVEBONDI-26JAN": "Pam Bondi out as Attorney General?", + "KXLEAVEANTHROPIC-25": "Who will leave Anthropic in 2025?", + "KXLEAVEADMIN-26": "Who will leave their role in Trump Administration this year?", + "KXLEADERMEETPOPE-26": "Who will Pope Leo XIV meet with in 2025?", + "KXLARGECUT-25": "Will the Fed do a rate cut of more than 25bps in 2025?", + "KXKOSA-26": "Will the Kids Online Safety Act become law in 2025?", + "KXKNESSET-26": "Will the Israeli parliament be dissolved in 2025?", + "KXKILLSWITCH-26": "Will California pass a law mandating AI models have a 'kill switch'?", + "KXKAISPACE-26": "Will Elon launch a rocket with Kai Cenat aboard in 2025?", + "KXJUDGES-26": "Will the Judges Act become law in 2025?", + "KXJOINXAI-26JAN": "Who will join xAI in 2025?", + "KXJOINOPENAI-26JAN": "Who will join OpenAI in 2025?", + "KXJOINMETA-26JAN": "Who will join Meta in 2025?", + "KXJOINDJTBLUESKY-25": "Will Donald Trump join Bluesky in 2025?", + "KXJOINANTHROPIC-26JAN": "Who will join Anthropic this year?", + "KXJOINADMINMUSK-25": "Will Elon Musk Rejoin the Trump Administration this year?", + "KXISTANBULMAYORGUILTY-25": "Will the Mayor of Istanbul be found guilty of any charges this year?", + "KXINXMINY-26": "How low will the S&P get this year?", + "KXINXMAXY-26": "How high will the S&P get this year?", + "KXINTERSTELLAR-25": "Will a new interstellar visitor be confirmed this year?", + "KXINSULINCAP-26": "Will Trump get rid of Biden's cap on insulin prices this year?", + "KXINDIAX-26": "Will India ban X this year?", + "KXINCOMETAXCUT-26JAN01": "Will Trump cut income taxes for the highest earners this year?", + "KXIMPEACHPENG-26": "Will Paul Engelmayer be impeached this year?", + "KXIMPEACHBOASBERG-26": "Will James Boasberg be impeached this year?", + "KXIAEAIRANAGREEMENT-26": "Will Iran re-enter their IAEA monitoring agreement?", + "KXHIRINGFREEZELIFT-26": "Will the federal hiring freeze be lifted before 2026?", + "KXHFHOUSING-25": "Tax/Ban on Hedge Funds Buying Homes this year?", + "KXHARDFORKBTC-25": "Will Bitcoin have a hard fork this year?", + "KXHALOPS-26": "Will Halo for PlayStation be announced this year?", + "KXH5VACCINE-26": "Will a new bird flu vaccine be approved this year?", + "KXH5N1-25": "Bird flu declared public health emergency this year?", + "KXH5HUMAN-26JAN": "Will there be human-to-human transmission of the bird flu this year?", + "KXGUINEAWORM-25": "How many guinea worm cases will there be this year?", + "KXGTEMP-25": "Will 2025 be the hottest year ever?", + "KXGREENIND-26": "Will Greenland vote for independence this year?", + "KXGPURULE-26": "Will Trump undo any of Biden's GPU export controls?", + "KXGPTCOST-26": "Will OpenAI raise the cost of ChatGPT this year?", + "KXGOOGLECEOCHANGE": "Sundar Pichai leaves Google this year?", + "KXGOOGLEBREAKUP-26": "Will Google be forced to break up this year?", + "KXGMECEOCHANGE": "Ryan Cohen leaves Gamestop this year?", + "KXGEMINI3-26": "Will Google release Gemini 3.0 this year?", + "KXGATEBILL-26": "US to ban foreign scientists from visiting American national labs this year?", + "KXGAMERELEASE": "Which video games will release this year?", + "KXGAMBLINGREPEAL-26JAN": "Will a bill become law that removes/changes the gambling tax provision that OBBB had?", + "KXFTCANTITRUST-26": "Who will the FTC launch new antitrust lawsuits against?", + "KXFTACOUNTRIES-26": "Which countries will Trump make new trade deals with this year?", + "KXFSDMARKET-25": "Will Tesla FSD be taken off the market in the US this year?", + "KXFRIMPEACH-26": "Will Macron be impeached this year?", + "KXFRIDMAN-26JAN01": "Who will go on the Lex Fridman podcast this year?", + "KXFOREIGNTARIFF-26JAN01": "Which countries will impose tariffs on the US this year?", + "KXFLUORIDE-26": "Will the US government stop recommending fluoride in water?", + "KXFLOP-26": "How much compute will AI models be trained with this year?", + "KXFETTERMANSWITCH-26JAN": "Will John Fetterman leave the Democrats?", + "KXFEATURETYLERTHECREATOR": "Features on Tyler, The Creators 'DON'T TAP THE GLASS'?", + "KXFDICELIM-26": "Will Trump end the FDIC this year?", + "KXFDABANS-26": "What will RFK ban this year?", + "KXEXPAND-26": "US controls part of Greenland, Canada, and Panama Canal this year?", + "KXEVERIFY-26": "Will E-Verify be expanded this year?", + "KXEURUSDMIN-25DEC31": "How low will EUR/USD get this year?", + "KXEURUSDMAX-25DEC31": "How high will EUR/USD get this year?", + "KXEUROZONE-26": "Will a new country join the eurozone this year?", + "KXETHMAXY-25DEC31": "How high will Ethereum get this year?", + "KXESPMLEAVE-26": "Will Sanchez leave office this year?", + "KXERS-26": "Will Trump create an \"External Revenue\" Service?", + "KXEPSTEIN-26": "Will Trump release any of the Epstein Files this Year?", + "KXENGAGEMENTSWIFTKELCE-25": "Will Taylor Swift and Travis Kelce be engaged this year?", + "KXELONJREGUEST-26JAN": "Will Elon Musk go on The Joe Rogan Experience again this year?", + "KXELECTUKRAINE-26": "Will Ukraine hold a presidential election this year?", + "KXECOWASBURKINA-25": "Will Burkina Faso re-join ECOWAS this year?", + "KXEARTHQUAKECALIFORNIA-26": "Will there be an at least 8.0 magnitude earthquake in the state of California before 2026?", + "KXEARTHQUAKE-25DEC31": "8.0 earthquake this year?", + "KXDWARKESH-26JAN01": "Who will go on the Dwarkesh podcast?", + "KXDRUGPRICEINSULIN-26": "How much will the price of insulin fall this year?", + "KXDRUGADS-25": "Will pharmaceutical ads on TV be banned this year?", + "KXDRAGONISS-26": "Will there be another Dragon mission to the ISS this year?", + "KXDOTMINY-25": "How low will Polkadot get this year?", + "KXDOTMAXY-25": "How high will Polkadot get this year?", + "KXDOGESELL-26": "Will DOGE sell the FBI headquarters?", + "KXDOGESAVINGS-26": "What will DOGE claim to have saved this year?", + "KXDOED-26": "Will Trump eliminate the Department of Education this year?", + "KXDJTUNFOLLOWMUSK-25": "Will Trump unfollow Elon this year?", + "KXDJTMUSK-26": "Will Trump sue Elon this year?", + "KXDJTMSNBC-26": "Will Trump sue MSNBC?", + "KXDJTCNN-26": "Will Trump sue CNN?", + "KXDJTBTC-26": "What will Trump Media invest in this year?", + "KXDJTAOC-26": "Will Trump sue AOC this year?", + "KXDIVTAX-26": "Will Trump cut dividend taxes this year?", + "KXDISCONTINUECYBERTRUCK-25": "Will Tesla discontinue the Cybertruck this year?", + "KXDIRECTORBATMAN2-25": "Will Matthew Reeves drop out of The Batman Part II next year?", + "KXDEPORTMUSK-25": "Will Elon Musk be deported this year?", + "KXDEPORTMAMDANI-25": "Will Zohran Mamdani be deported this year?", + "KXDEMORAESSANCTION-25": "Will the US sanction Alexandre de Moraes this year?", + "KXDELAWAREINCORP-26": "Which companies will reincorporate outside of Delaware this year?", + "KXDEFAULT-25DEC31": "US defaults this year?", + "KXDEEPSEEKBAN-26": "Will DeepSeek be banned in the US this year?", + "KXDEBATEFUENTESKIRK-25": "Will Charlie Kirk and Nick Fuentes debate each other this year?", + "KXDCEILEND-26": "Will the debt ceiling be abolished this year?", + "KXDCEIL-25DEC31": "Will the debt ceiling be raised this year?", + "KXDANAWHITEFB-26": "Will Dana White leave the board of Meta this year?", + "KXDAILYGUESTMUSK-26JAN": "Will Musk go on The Daily Show this year?", + "KXCRYPTOSTRUCTURE-26JAN": "Will crypto market structure legislation become law this year?", + "KXCRYPTOPERFORMY-25": "Which of these cryptocurrencies will perform best this year?", + "KXCRYPTOCAPGAIN-26": "Will Trump eliminate capital gains taxes on crypto this year?", + "KXCREDITRATING-25DEC31B": "Another US credit rating downgrade this year?", + "KXCREDITC-25DEC31": "Will SOFR spike this year?", + "KXCPBFUNDING-26": "Will PBS and NPR be defunded this year?", + "KXCOYOTEACME-25": "Coyote vs. Acme public release announced this year?", + "KXCOUNTRYSTARLINK-25": "What countries will get Starlink access this year?", + "KXCOUNTRYBTC-26": "Will a new country buy Bitcoin this year?", + "KXCORPTAXCUT-26JAN01": "Will Trump cut corporate taxes this year?", + "KXCONSTITUTIONPIPELINE-25": "Will the Constitution Pipeline receive the required approvals before 2025?", + "KXCONSENTCOLUMBIA-25": "Will Columbia University agree to a consent decree with the federal government this year?", + "KXCONGRESSTESTIFY-26JAN": "Who will testify in front of Congress this year?", + "KXCONGRESSTARIFFVOTE-26": "Who will vote for the Cantwell-Grassley Trade Review Act of 2025 in the Senate?", + "KXCONGRESSTARIFF-26": "Will Congress pass a law increasing tariffs this year?", + "KXCONGESTIONEND-25": "Will congestion pricing in NYC end in 2025?", + "KXCODINGMODEL-26JAN": "Which AI company will have the best coding model on Jan 1, 2026?", + "KXCOACHOUTNBA-0": "Which pro basketball coaches out in 2025?", + "KXCMEATBANUSA-26": "Will Trump ban lab-grown meat?", + "KXCLOUDSEEDING-26": "Will weather manipulation be prohibited in Texas?", + "KXCLEANCR-26": "Will the next government funding bill be a 'clean CR'?", + "KXCITITOKEN-26": "Will Citi release a USD Stablecoin in 2025?", + "KXCHIMAYORLEAVE-26": "Will Brandon Johnson no longer be Mayor of Chicago in 2025?", + "KXCHANCELEAVE-26": "UK Chancellor out in 2025?", + "KXCFPBELIM-26": "Will Trump end the CFPB in 2025?", + "KXCEOYCOMB-26": "Will the CEO of Y Combinator leave in 2025?", + "KXCEOTWITCH-26": "Will the CEO of Twitch leave in 2025?", + "KXCEOTARGET-26": "Will the CEO of Target leave in 2025?", + "KXCEOAMAZON-26": "Will the CEO of Amazon leave in 2025?", + "KXCDCTRAVELH5-26": "Will the CDC recommend delaying non-essential travel due to H5 bird flu in 2025?", + "KXCCLIMIT-26": "Will credit card rates be capped in 2025?", + "KXCARRIED-26": "Will a bill closing the carried interest loophole become law in 2025?", + "KXCAPITALMOVESK-25": "Will South Korea move its capital to Sejong this year?", + "KXCANCELTHELINE-25": "Will Saudi Arabia cancel plans for The Line in 2025?", + "KXCALLIMPEACHRCONGRESS-26": "Will any Republican Congressperson call for Trump's impeachment in 2025?", + "KXCALIDJT-26": "Courts rule that Trump deploying the national guard in LA legal?", + "KXCALCOLLEGEFUNDPULL-26": "Will the President pull any federal funding from California universities this year?", + "KXCABFAIL": "Will at least 3 of Trump's Cabinet nominees fail?", + "KXCABCHANGE-26": "How many Trump Cabinet members will leave in the first year?", + "KXBTCRESERVESTATES-26": "What states will create crypto reserves in 2025?", + "KXBTCRESERVE-26": "Will Trump create a National Bitcoin Reserve in 2025?", + "KXBTCMINY-25": "How low will Bitcoin get in 2025?", + "KXBTCMAXY-25": "How high will Bitcoin get in 2025?", + "KXBROADWAYEVITA-26": "Will Evita come to Broadway?", + "KXBRAINLIVE-25": "Will Neuralink or another company livestream brain data over the internet in 2025?", + "KXBOEINGCEOCHANGE-25": "New Boeing CEO in 2025?", + "KXBILLS-26": "What bills will be signed into law in 2025?", + "KXBESTLLMOS-26": "Will an open-source AI model reach #1 in 2025?", + "KXBESTLLMCHINA-26": "Will a Chinese AI model reach #1 in 2025?", + "KXBCHMINY-25": "How low will Bitcoin Cash get this year?", + "KXBCHMAXY-25": "How high will Bitcoin Cash get this year?", + "KXBATHROOM-26": "Will Nancy Mace's bathroom ban in the House happen in 2025?", + "KXBANXUS-26": "Will United States ban X?", + "KXBANXUK-26": "Will the UK ban X this year?", + "KXBANXGER-26": "Will Germany ban X this year?", + "KXBALLONDOR-25": "Who will win the Ballon d'Or in 2025?", + "KXBALANCESHEET-26": "How much will the Fed\u2019s balance sheet shrink before 2026?", + "KXAVAXMINY-25": "How low will Avalanche get this year?", + "KXAVAXMAXY-25": "How high will Avalanche get this year?", + "KXAUKUS-25": "Will any country withdraw from the AUKUS in 2025?", + "KXARTISTCOLLABTATEMCRAETHAKIDLAROI-26": "Will Tate McRae and The Kid LAROI make another song together this year?", + "KXARTISTCOLLABSZANICKIMINAJ-26": "Will Nicki Minaj and SZA make a song together this year?", + "KXARTISTCOLLABDRAKEPLAYBOICARTI-26": "Will Drake and Playboi Carti make a song together this year?", + "KXARTISTCOLLABDRAKEMINAJ-26": "Will Drake and Nicki Minaj make a song together this year?", + "KXARRESTMAMDANI-26JAN": "Will Zohran Mamdani be arrested before Jan 2026?", + "KXARIMPEACH-26": "Will Javier Milei be impeached in 2025?", + "KXARGCENTRALBANK-25": "Argentina's central bank shuts down in 2025?", + "KXAOH1996-2601JAN": "New cancer drug passes phase 1 trial?", + "KXANTITRUSTOAIMSFT-25": "Will OpenAI accuse Microsoft of antitrust violations in 2025?", + "KXAMCCEOCHANGE": "Adam Aron leaves AMC in 2025?", + "KXALTMANEQUITY-26": "Will Sam Altman be granted an equity stake in OpenAI in 2025?", + "KXALIENS-26": "Will the US say that aliens exist in 2025?", + "KXALCATRAZ-25": "Will Alcatraz be re-opened this year?", + "KXAISONG-26": "Will an AI generated song be on the Billboard Hot 100?", + "KXAISECURITY-25": "Will the US government mandate security clearances for top AI employees in 2025?", + "KXAIRLINEZYN-26JAN": "What U.S. airline will be the first to sell Zyn on their flights?", + "KXAIRELEASE-26": "Will any top AI company decide to not release their best models in 2025?", + "KXAILIMITSUSCHINA-25": "Will the US and China make an agreement to limit frontier AI work in 2025?", + "KXAIAUTHOR-25": "Will a paper with AI as an author be published in 2025?", + "KXAFRICAF1-26": "Will there be an African F1 Grand Prix Announced in 2025?", + "KXACAREPEAL-26": "Will Trump repeal Obamacare in 2025?", + "KXABRAHAMSY-26": "Will Israel and Syria normalize relations in 2025?", + "KXAAPLUSDC-25": "Will Apple launch USDC payments on Apple Pay in 2025?", + "KX3RDTERM-26": "Will the House vote to let Trump have a 3rd term?", + "KX14AMENDCASE-26": "Will Trump's birthright citizenship order come into effect in 2025?", + "IMOAI": "AI wins IMO gold medal in 2025?", + "HOUSETN7S-25": "Which party will win the House race for TN-7?", + "GTA6": "GTA 6 release date?", + "FBUSTER-25DEC31": "Filibuster weakened in 2025?", + "CAPGAIN-2-25DEC31": "Capital gains tax increase in 2025?", + "KXPRESADJOURN-26": "Will Trump adjourn the Senate in 2025?", + "KXNASDAQ100Y-25DEC31": "Nasdaq close price end of 2025?", + "KXINXPOS-25DEC31H1600": "Will the S&P finish positive this year?", + "KXINXY-25DEC31": "S&P close price end of 2025?", + "WTAX-25": "Will a tax on unrealized capital gains become law in 2025?", + "TESLACEOCHANGE-25": "Elon Musk out as Tesla CEO this year?", + "RTWITCHERS4": "\"The Witcher: Season 4\" Rotten Tomatoes score?", + "LEAVEPOWELL-25": "Powell out as Chair this year?", + "KXZUCKMUSK-25": "Will Zuckerberg and Musk fight this year?", + "KXXCEOCHANGE": "Linda Yaccarino replaced as X CEO this year?", + "KXWLEADER-25": "Who will Trump meet with in 2025?", + "KXWIKIARTICLE-25": "What will be the most popular Wikipedia article in 2025?", + "KXWEWORKCEO-25": "Adam Neumann returns as WeWork CEO in 2025?", + "KXWEALTHY-25": "Wealthiest person in the world in 2025?", + "KXWAYMOCITIES-25": "How many cities will Waymo be operating in at the end of 2025?", + "KXWALTZCOUNT-25": "How many Senators vote to confirm Mike Waltz as U.N. Ambassador?", + "KXVOTESHUTDOWNH-25": "Who will vote for the next government funding bill in the House?", + "KXVACCINEW-25": "Will any Covid vaccine lose its FDA approval in 2025?", + "KXUSMINE-25": "Will the federal government start mining Bitcoin this year?", + "KXUSELECTIONTEXAS18-25": "Which party will win Texas's 18th congressional district special election?", + "KXUSELECTIONARIZONA7-25": "Arizona's 7th Congressional District Special Election", + "KXTVSHOWSCANCELLED-25": "Which TV shows will be cancelled this year?", + "KXTRUMPNOMMAX": "Which Trump Cabinet nominee will get the most votes?", + "KXTRANSSPORTSSUIT-25": "What states will Trump sue over their trans sports policies?", + "KXTPSUKR-25": "Will Temporary Protected Status for Ukraine end this year?", + "KXTPSMYANMAR-25": "Will Temporary Protected Status for Myanmar end this year?", + "KXTOPPOD-25": "Top podcast on Spotify this year?", + "KXTOPARTIST-25": "Top artist on Spotify this year?", + "KXTIKTOKLEAVE-25DEC": "Will TikTok leave the app store again before December?", + "KXTESLAMOTORCADE-25": "Will a Tesla vehicle be in the presidential motorcade this year?", + "KXTESLAGAS-25": "Will Tesla announce a gas or hybrid car this year?", + "KXTENNISMAJORDJOKOVIC-25": "Will Novak Djokovic win a major this year?", + "KXTARIFFSEMI-25": "Will Trump impose semiconductor tariffs this year?", + "KXTARIFFPHARMA-25": "Will Trump impose pharma tariffs this year?", + "KXSWHIRES-25": "What companies will announce hiring freezes on software engineers this year?", + "KXSTARSHIPCREW-25": "Will there be a crewed Starship flight this year?", + "KXSTARLINKFAA-25": "Will Starlink get an FAA contract this year?", + "KXSPOTIFYSONG-25": "Who will release a new song this year?", + "KXSPOTIFYBILLIONS-25DEC31": "Which songs will hit 1 Billion Spotify streams this year?", + "KXSPOTIFYALBUMRELEASE-25": "Who will release an album this year?", + "KXSPOTIFY4BILLION-25DEC31": "Which songs will hit 4 billion Spotify streams this year?", + "KXSPOTIFY3BILLION-25DEC31": "Which songs will hit 3 Billion Spotify streams this year?", + "KXSPOTIFY2BILLION-25DEC31": "Which songs will hit 2 Billion Spotify streams this year?", + "KXSPACEXREUSE-25": "Will the upper stage of the SpaceX Starship be recovered intact this year?", + "KXSPACEXCOUNT-25": "How many launches will SpaceX have this year?", + "KXSNAPELECTIONES-25": "Will there be a snap election in Spain this year?", + "KXSHUTDOWNBY-25": "Government shutdown this year?", + "KXSFFASUIT-25": "Will the DOJ sue an AAU University over SFFA v Harvard this year?", + "KXSEXYMAN-25": "Who will be People's Sexiest Man Alive this year?", + "KXSCHUMEROUT-25": "Will Chuck Schumer no longer be Senate Minority Leader this year?", + "KXSCHEDULEFSUIT-25": "Will a federal court rule that Trump\u2019s Schedule F order is unlawful this year?", + "KXRVO-25": "Will the EPA set biomass diesel RVO to at least 5.25 billion gallons for 2026?", + "KXRECOGPALESTINE-25": "Who will recognize Palestine this year?", + "KXREACTOR-25DEC31": "US grants license for new nuclear reactor?", + "KXRATECUTCOUNT-25DEC31": "Number of rate cuts in 2025?", + "KXRADIOHEAD-25": "Will Radiohead announce a new tour this year?", + "KXPLAYBOICARTI-25": "Will Playboi Carti release another album this year?", + "KXPLAGUECOUNT-25": "How many cases of the plague will there be in the USA this year?", + "KXPERFORMVMA-25": "Who will perform at the MTV Video Music Awards?", + "KXPARTYWINNL-25": "Who will win the election in the Netherlands?", + "KXPALESTINE-25": "Will Trump recognize Palestine this year?", + "KXPAIDSUBAPPLEINTEL-25": "Will Apple Intelligence require a paid subscription this year?", + "KXOSWORLD-25": "Highest score of any LLM on OSWorld this year?", + "KXOSCARDEI-25": "Will the Oscars end their diversity requirements this year?", + "KXOPENAICEOCHANGE": "Sam Altman replaced as OpenAI CEO this year?", + "KXOILRIGS-25": "How many oil rigs will the US have at the end of the year?", + "KXOAISOCIAL-25": "Will OpenAI release a social app this year?", + "KXOAIGOOGLE-25DEC31": "How much better will OpenAI's models be than Google's?", + "KXOAIBROWSER-25": "Will OpenAI release a web browser this year?", + "KXNWEST-25": "North West album drop on Spotify this year?", + "KXNOBELPEACE-25": "Who will win the Nobel Peace Prize?", + "KXNEXTHURDATE-0": "When will the next hurricane form?", + "KXNEWTAYLOR-TS-25": "Will Taylor Swift (Taylor's Version) be announced this year?", + "KXNEWTAYLOR-R-25": "Will Reputation (Taylor's Version) be announced this year?", + "KXNEWTAYLOR-25": "New Taylor Swift original album announced this year?", + "KXNEWSOMGUEST-25": "Who will go on 'This Is Gavin Newsom' this year?", + "KXNEWOUTBREAKPMPOX": "New Mpox pandemic this year?", + "KXNEWOUTBREAKPMEASLES": "New Measles pandemic this year?", + "KXNEWOUTBREAKPHEICMEASLES": "New Measles PHEIC this year?", + "KXNEWOUTBREAKPHEICCOVID": "New COVID PHEIC this year?", + "KXNEWOUTBREAKPH5N1": "Bird flu pandemic this year?", + "KXNEWOUTBREAKPCOVID": "New COVID pandemic this year?", + "KXNEWOUTBREAK-P": "New pandemic this year?", + "KXNEWDRUGS-25": "How many new drugs will the FDA approve this year?", + "KXNEWCOINCHAIN-25": "What chain will Kanye launch his token on?", + "KXNEWALBUMSKY-25": "Will Sky Ferreira release a new album this year?", + "KXNEWALBUMDAVEMATTHEWS-25": "Will Dave Matthews Band release a new album this year?", + "KXNBERRECESSQ": "When will the next US recession start?", + "KXMUSKVISIT-25": "What countries will Elon Musk visit this year?", + "KXMUSKUNCONST-25": "Will a court rule Musk's White House role unconstitutional this year?", + "KXMUSKRECONCILIATION-25": "Will Musk support the Republican spending bill?", + "KXMUSKNASA": "Will Trump punish SpaceX?", + "KXMUNIBONDTAX-25": "Will a bill become law ending the municipal bond tax exemption this year?", + "KXMLSCUP-25": "MLS Cup Winner?", + "KXMLBDIVWINNER-25": "Which Division Wins the Pro Baseball Championship?", + "KXMIRAGE-25": "Will The Brooklyn Mirage re-open this year?", + "KXMINWAGE-25": "Federal minimum wage raised this year?", + "KXMICHELINSEA-25": "Will Seattle have a Michelin star restaurant this year?", + "KXMICHELINNYC3-25": "Will NYC add a new 3 Michelin Star restaurant this year?", + "KXMICHELINBOS-25": "Will Boston have a Michelin star restaurant this year?", + "KXMETACLOSE-25": "Will Meta release an AI model that isn't open source this year?", + "KXMAYORDETROIT-25": "Who will win the Mayor election in Detroit?", + "KXMAYORATLANTA-25": "Who will win the Mayor election in Atlanta?", + "KXMAMMAMIA3-25": "Third Mamma Mia movie announced this year?", + "KXLLM1-25DEC31": "Best AI at the end of 2025?", + "KXLEAVECAMARCA-25": "Will Marc Andreessen move out of California this year?", + "KXKEYSTONE-25": "Will development of the Keystone XL pipeline be revived this year?", + "KXKENNEDYCENTER-25": "Will anyone publicly reject Kennedy Center Honors this year?", + "KXIPHONEASSEMBLE-25": "Will Apple announce any iPhone assembly operations in the US this year?", + "KXINJS-25": "Will a bill limiting nationwide injunctions pass the Senate this year?", + "KXINJLAW-25": "Will a bill limiting nationwide injunctions become law this year?", + "KXIMPEACHJUDGE-25": "Will the House impeach a federal judge this year?", + "KXHURPATHHOU-25": "Will a hurricane make landfall in Houston MSA during the 2025 hurricane season?", + "KXHURPATHFLA-25": "Will a hurricane make landfall in Florida during the 2025 hurricane season?", + "KXHEADSTART-25": "Will Trump end Head Start this year?", + "KXHARVARDINTLBAN-25": "Will the ban on Harvard accepting internationals end this year?", + "KXH5N1CASES-25": "US Bird flu (H5N1) cases this year?", + "KXGOLDCARDS-25": "How many Gold Cards will Trump sell this year?", + "KXGASBAN-25": "Which states will enact gas stove bans this year?", + "KXGAMEAWARDS-2025": "Game of the Year?", + "KXFOOTBALL1001-25": "#1 Ranked Player in Pro Football this year?", + "KXFLIGHTSRUSSIA-25": "Will U.S. direct flights to Russia resume this year?", + "KXFERTILITYSK-24": "Will South Korean birth rate drop again in 2024?", + "KXFERT-25": "How high will the price of fertilizer get this year?", + "KXFEDWIKI-25": "Will federal employees be prohibited from editing Wikipedia this year?", + "KXFEATUREMETROBOOMIN": "Features on Metro Boomin's 'A FUTURISTIC SUMMA'?", + "KXFDAAPPROVAL-25": "Which drugs will the FDA approve this year?", + "KXEXPORTTARIFF-25": "Will Trump try and impose export tariffs?", + "KXEXITCONSERV-25": "Will Freddie Mac and Fannie Mae exit government conservatorship this year?", + "KXETHFLIP-25": "Will Ethereum be flipped this year?", + "KXEMERCUTS-25": "Number of emergency rate cuts this year?", + "KXEIP7503-25": "Will EIP-7503 (Privacy-Preserving ETH Transfers) be adopted this year?", + "KXEIP4444-25": "Will EIP-4444 (Bound Historical Data) be adopted this year?", + "KXEIP3540-25": "Will EIP-3540 (EVM Object Format) be adopted this year?", + "KXEIP3074-25": "Will EIP-3074 (AUTH/AUTHCALL) be adopted this year?", + "KXDOJPARDONS-25": "Will the DOJ claim in federal court that any of President Biden's pardons are void?", + "KXDOGEDIV-25": "Will a DOGE dividend be issued this year?", + "KXDJTROBERTS-25": "Will Trump call for John Roberts to retire or be impeached this year?", + "KXDJTNFT-25": "Will Donald Trump launch an NFT this year?", + "KXDJTMETA-25": "Will Donald Trump launch a metaverse this year?", + "KXDJTGREENLAND-25": "Will Donald Trump visit Greenland this year?", + "KXDJTCHAIN-25": "Will Donald Trump launch a new blockchain this year?", + "KXDJOKOVICRETIRE-25": "Will Novak Djokovic announce his retirement this year?", + "KXDISCEOCHANGE": "Bob Iger leaves Disney this year?", + "KXDEPORTELSAL-25": "Will it be reported that US has deported a citizen to El Salvador this year?", + "KXDEMORAESIMPEACH-25": "Will Alexandre de Moraes be impeached this year?", + "KXDEFICIT-25": "Will the deficit be smaller this year than in 2024?", + "KXCRYPTORETURNY-25": "Which cryptocurrencies will have positive return this year?", + "KXCRYPTORESERVE-25": "What assets will Trump's crypto reserve acquire this year?", + "KXCRYPTOPAY-25": "Will any of Google, Meta, Amazon, Tesla, or X accept crypto for any of their core services this year?", + "KXCONTEMPT-25": "Will any Trump political appointee be found in contempt of court this year?", + "KXCMEATBAN-25": "Which states will ban lab-grown meat?", + "KXCHINAUNRUBIO-25": "Will China announce they are ending their sanctions against Marco Rubio this year?", + "KXCHICKENVAX-25": "Will the U.S. create a chicken vaccination program this year?", + "KXCEOUSSTEEL-25": "Will the CEO of US Steel leave this year?", + "KXCEOPFE-25": "Will the CEO of Pfizer leave this year?", + "KXCEOMRNA-25": "Will the CEO of Moderna leave this year?", + "KXCEOMETA-25": "Will the CEO of Meta leave this year?", + "KXCEOINTC-25": "Will the CEO of Intel leave this year?", + "KXCEOGS-25": "Will the CEO of Goldman Sachs leave this year?", + "KXCEOCLUELY-25": "Will the CEO of Cluely leave this year?", + "KXBUCHARESTMAYOR-25": "Who will win the Bucharest mayoral election?", + "KXBTCRESERVECOUNTRY-25": "How many countries will create crypto reserves this year?", + "KXBRAZILU-Q42025-6.3": "Will unemployment in Brazil be below 6.3% next quarter?", + "KXBRAZILINF-25DEC-5.50": "Will inflation in Brazil be below 5.50% in December?", + "KXBORDER": "Border bill passes Senate this year?", + "KXBOASTABLE-25": "Will Bank of America launch a stablecoin this year?", + "KXBIGGESTQUAKE-25": "What will the biggest earthquake be this year?", + "KXBARRELS-25": "How many barrels per day oil will the US create this year?", + "KXBANKRUPTSY-25DEC": "How many companies will go bankrupt this year?", + "KXBALLONDORNATION-25": "What will be the nationality of the 2025 Ballon d'Or winner?", + "KXALLINGUEST-25": "Who will go on the All-In Podcast this year?", + "KXAFDBANREQUEST-25": "Will the German government request a ban of the AfD?", + "KXAAPLCEOCHANGE": "Tim Cook leaves Apple this year?", + "IRONMAN": "Iron Man returns to Marvel this year?", + "FEDHIKE": "Next Fed rate hike?", + "APPLEPORT-25DEC31": "Apple reveals portless iPhone this year?", + "AILEGISLATION-25": "AI regulation becomes federal law this year?", + "KXTOPSONGRECORDLORDE": "How many straight weeks will \"What Was That\" be #1?", + "KXTOPSONGRECORDIACB": "How many straight weeks will \"I Ain\u2019t Comin\u2019 Back\" be #1?", + "KXTOPALBUMTYLERTHECREATOR-25": "Tyler, The Creator has a #1 album this year?", + "KXTOPALBUMMETROBOOMIN-25": "Metro Boomin has a #1 album this year?", + "KXTOPALBUMJUSTINBIEBER-25": "Justin Bieber has a #1 album this year?", + "KXTOPALBUMDESTROYLONELY-25": "Destroy Lonely has a #1 album this year?", + "KXTOPALBUMBYSABRINA-25": "Sabrina Carpenter has a #1 album this year?", + "KXTOPALBUMBYJACKBOYS-25": "JACKBOYS has a #1 album this year?", + "KXTOPALBUMBYCARDIB-25": "Cardi B has a #1 album this year?", + "KXTOPALBUMBYALEXWARREN-25": "Alex Warren has a #1 album this year?", + "KXTOPALBUMRECORDMWITP-ITP": "How many straight weeks will 'I'm The Problem' be #1?", + "KXTOP202025-25DEC27": "Artists hitting the Billboard top 20 this year?", + "KXTOP10BILLBOARD-25": "What artists will have a top 10 hit this year?", + "KXSONGPEAKCRUELSUMMER-DEC2725": "Will Cruel Summer by Taylor Swift peak #1 on Billboard Hot 100 this year?", + "KX1SONGYEAT-DEC2725": "Will Yeat have a #1 hit this year?", + "KX1SONGTYLERTHECREATOR-DEC2725": "Will Tyler, The Creator have a #1 hit this year?", + "KX1SONGTYLA-DEC2725": "Will Tyla have a #1 hit this year?", + "KX1SONGTAYLORSWIFT-DEC2725": "Will Taylor Swift have a #1 hit this year?", + "KX1SONGSOMBR-DEC2725": "Will Sombr have a #1 hit by this year?", + "KX1SONGRODDYRICCH-DEC2725": "Will Roddy Ricch have a #1 hit this year?", + "KX1SONGPOSTMALONE-DEC2725": "Will Post Malone have a #1 hit this year?", + "KX1SONGPINKPANTHERESS-DEC2725": "Will PinkPantheress have a #1 hit this year?", + "KX1SONGOLIVIARODRIGO-DEC2725": "Will Olivia Rodrigo have a #1 hit this year?", + "KX1SONGMILEYCYRUS-DEC2725": "Will Miley Cyrus have a #1 hit this year?", + "KX1SONGMETROBOOMIN-DEC2725": "Will Metro Boomin have a #1 hit this year?", + "KX1SONGLORDE-DEC2725": "Will Lorde have a #1 hit this year?", + "KX1SONGLILWAYNE-DEC2725": "Will Lil Wayne have a #1 hit this year?", + "KX1SONGKESHA-DEC2725": "Will Kesha have a #1 hit this year?", + "KX1SONGKANYE-DEC2725": "Will Ye have a #1 hit this year?", + "KX1SONGKALIUCHIS-DEC2725": "Will Kali Uchis have a #1 hit this year?", + "KX1SONGFUTURE-DEC2725": "Will Future have a #1 hit this year?", + "KX1SONGFRANKOCEAN-DEC2725": "Will Frank Ocean have a #1 hit this year?", + "KX1SONGEDSHEERAN-DEC2725": "Will Ed Sheeran have a #1 hit this year?", + "KX1SONGDUALIPA-DEC2725": "Will Dua Lipa have a #1 hit this year?", + "KX1SONG-DRAKE-DEC2725": "Drake has a #1 hit this year?", + "KX1SONGDOJACAT-DEC2725": "Will Doja Cat have a #1 hit this year?", + "KX1SONGCHAPPELLROAN-DEC2725": "Chappell Roan has a #1 hit this year?", + "KX1SONGBLAKESHELTON-DEC2725": "Will Blake Shelton have a #1 hit this year?", + "FED-25DEC": "Fed funds rate in December?", + "KXF1CONSTRUCTORS-25": "F1 Constructors Champion?", + "KXF1-25": "F1 Drivers Champion?", + "KXNCAAFSEC-25": "College Football SEC Championship Winner?", + "KXNCAAFB12-25": "College Football Big 12 Championship Winner?", + "KXNCAAFB10-25": "College Football Big 10 Championship Winner?", + "KXNCAAFACC-25": "College Football ACC Championship Winner?", + "KXNYCMAYOR2ND-25": "Second place in NYC Mayoral election?", + "KXMAYORCHAR-25": "Who will win the Mayoral race in Charlotte?", + "KXGOVAK-26": "Who will win the governorship in Alaska?", + "KXUSAMBVATICAN-25": "When will Brian Burch be confirmed as Ambassador to the Vatican?", + "KXUSAMBUNFOODAGRI-25": "When will Lynda Blanchard be confirmed as Ambassador to UN Food and Agriculture?", + "KXUSAMBTOUN-25": "When will Elise Stefanik be confirmed as Ambassador to the UN?", + "KXUSAMBSWISS-25": "When will Callista Gingrich be confirmed as Ambassador to Switzerland?", + "KXUSAMBSWEDEN-25": "When will Christine Toretti be confirmed as Ambassador to Sweden?", + "KXUSAMBPOLAND-25": "When will Thomas O. Rose be confirmed as Ambassador to Poland?", + "KXUSAMBOAS-25": "When will Leandro Rizzuto Jr. be confirmed as Ambassador to the OAS?", + "KXUSAMBGREECE-25": "When will Kimberly Guilfoyle be confirmed as Ambassador to Greece?", + "KXUSAMBCHILE-25": "When will Brandon Judd be confirmed as Ambassador to Chile?", + "KXUSAMBBELGIUM-25": "When will Bill White be confirmed as Ambassador to Belgium?", + "KXUSAMBBAHAMAS-25": "When will Herschel Walker be confirmed as Ambassador to Bahamas?", + "KXTROPSTORM-25DEC01": "Number of tropical storms this year?", + "KXNTLCYBERDIR-25": "When will Sean Cairncross be confirmed as National Cyber Director (ONCD)?", + "KXHURCTOTMAJ-25DEC01": "How many major Atlantic hurricanes will there be this year?", + "KXHURCTOT-25DEC01": "How many Atlantic hurricanes will there be this year?", + "KXADMINNASA-25": "When will Jared Isaacman be confirmed as Administrator of NASA?", + "KXTHRASHERMAGSOTY-25": "Thrasher Magazine's 2025 Skater of the Year Winner?", + "KXMAYORALBUQ-25": "Who will win the Mayor election in Albuquerque?", + "KXHURCAT-WENDY": "Hurricane Wendy category?", + "KXHURCAT-VAN": "Hurricane Van category?", + "KXHURCAT-TANYA": "Hurricane Tanya category?", + "KXHURCAT-SEBASTIEN": "Hurricane Sebastien category?", + "KXHURCAT-REBEKAH": "Hurricane Rebekah category?", + "KXHURCAT-PABLO": "Hurricane Pablo category?", + "KXHURCAT-OLGA": "Hurricane Olga category?", + "KXHURCAT-NESTOR": "Hurricane Nestor category?", + "KXHURCAT-MELISSA": "Hurricane Melissa category?", + "KXHURCAT-LORENZO": "Hurricane Lorenzo category?", + "KXHURCAT-KAREN": "Hurricane Karen category?", + "KXHURCAT-JERRY": "Hurricane Jerry category?", + "KXHURCAT-IMELDA": "Hurricane Imelda category?", + "KXHURCAT-HUMBERTO": "Hurricane Humberto category?", + "KXHURCAT-GABRIELLE": "Hurricane Gabrielle category?", + "KXHURCAT-FERNAND": "Hurricane Fernand category?", + "KXHURCAT-ERIN": "Hurricane Erin category?", + "KXHURCAT-DEXTER": "Hurricane Dexter category?", + "KXHONDURASPRES-25": "Who will be elected President of Honduras this year?", + "KXHONDURASCONGRESS-25": "Who will win the next Honduran National Congress election?", + "KXSENATECHILE-25": "Who will win the next Chilean Senate election?", + "KXPRESCHILE-25": "Who will win the Chilean presidential election?", + "KXMAYORBOSTON-25": "Who will win the Mayor election in Boston?", + "KXDEPUTIESCHILE-25": "Who will win the next Chilean Chamber of Deputies election?", + "KXMAYORNOLA-25": "New Orleans Mayoral Election", + "KXIRELANDPRES-25": "Who will be elected President of Ireland this year?", + "KXGRAMMYNOMSOTY-68": "2026 Grammy nominations for Song of the Year?", + "KXGRAMMYNOMNAOTY-68B": "2026 Grammy nominations for New Artist?", + "KXGRAMMYNOMBRA-68": "2026 Grammy nominations for Best Rap Album?", + "KXGRAMMYNOMAOTY-68": "2026 Grammy nominations for Album of the Year?", + "KXNYCCOUNCIL8-25": "Who will win the NYC City Council election in District 8?", + "KXPUBLICADV-25": "Who will win the NYC Public Advocate election?", + "KXNYCCOUNCIL4-25": "Who will win the NYC City Council election in District 4?", + "KXNYCCOUNCIL39-25": "Who will win the NYC City Council election in District 39?", + "KXNYCCOUNCIL38-25": "Who will win the NYC City Council election in District 38?", + "KXNYCCOUNCIL30-25": "Who will win the NYC City Council election in District 30?", + "KXNYCCOUNCIL28-25": "Who will win the NYC City Council election in District 28?", + "KXNYCCOUNCIL2-25": "Who will win the NYC City Council election in District 2?", + "KXNYCCOUNCIL21-25": "Who will win the NYC City Council election in District 21?", + "KXNYCCOUNCIL17-25": "Who will win the NYC City Council election in District 17?", + "KXNYCCOUNCIL14-25": "Who will win the NYC City Council election in District 14?", + "KXNYCCOUNCIL13-25": "Who will win the NYC City Council election in District 13?", + "KXNYCCOUNCIL1-25": "Who will win the NYC City Council election in District 1?", + "KXMAYORSEATTLE-25": "Who will win the Mayor election in Seattle?", + "KXCOMPTROLLER-25": "Who will win the NYC Comptroller election?", + "KXVAHOUSE-25": "Who will win the Virginia House of Delegates?", + "KXNYCBRONXPRES-25": "Who will be elected Bronx Borough President?", + "KXNJGA-25": "Who will win the New Jersey General Assembly?", + "KXMAYORPITT-25": "Who will win Pittsburgh Mayoral Election?", + "KXMAYORJERSEY-25": "Who will win the Jersey City mayoral election?", + "KXMAYORCLEV-25": "Who will win Cleveland Mayoral Election?", + "KXENDORSEMAM-25NOV04": "Who will endorse Zohran Mamdani in the 2025 NYC Mayoral Race?", + "KXENDORSECUOMOADAMS-25NOV04": "Will Andrew Cuomo endorse Eric Adams?", + "KXENDORSEADAMS-25NOV04": "Who will endorse Eric Adams in the 2025 NYC Mayoral Race?", + "KXCUOMODROPOUT-25": "Who will drop out of the NYC Mayoral race?", + "KXBBGMAYOR-25": "Will Michael Bloomberg run for NYC Mayor?", + "KXADAMSDLEAVE-25NOV04": "Will Eric Adams stop being a Democrat?", + "KXACKMANMAYOR-25": "Will Bill Ackman run for NYC Mayor?", + "KXGOVNYNOMD-25": "Democratic nominee for New York Governor?", + "KXPOPEATTEND-25": "Will the Pope attend a Chicago WS game this year?", + "KXLEAGUEWORLDS-25": "Who will win League Worlds?", + "GOVPARTYKY-27": "Who will win the governorship in Kentucky?", + "KXCZECHPARTY-25": "Who will win the Czech parliamentary election?", + "KXGDP-25OCT30": "US GDP growth in Q3 2025?", + "FED-25OCT": "Fed funds rate in October?", + "KXPOLLMARGINPVV5-25": "Will Geert Wilders' party be leading in the polls by at least 5 points?", + "KXMLBNLROTY-25": "NL Rookie of the Year Winner?", + "KXMLBNLRELOTY-25": "NL Reliever of the Year 2025 Winner?", + "KXMLBNLMVP-25": "NL MVP Winner?", + "KXMLBNLMOTY-25": "NL Manager of the Year Winner?", + "KXMLBNLCY-25": "NL Cy Young Winner?", + "KXMLBNLCPOTY-25": "NL Comeback Player of the Year Winner?", + "KXMLBALROTY-25": "AL Rookie of the Year Winner?", + "KXMLBALRELOTY-25": "AL Reliever of the Year Winner?", + "KXMLBALMVP-25": "AL MVP Winner?", + "KXMLBALMOTY-25": "AL Manager of the Year Winner?", + "KXMLBALCY-25": "AL Cy Young Winner?", + "KXMLBALCPOTY-25": "AL Comeback Player of the Year Winner?", + "KXPRESIRELAND-25": "Irish election winner?", + "KXMLB-25": "Pro Baseball Champion?", + "KXARGENTINAPARTY": "Which party will win the most seats in the 2025 Argentine elections?", + "KXEARNINGSMENTIONTSLA-25JUL21": "What will Tesla say during their next earnings call?", + "KXTRADEOFFNBA-25": "Pro basketball trades this offseason?", + "KXSPORTSIGNAHOR-25": "Who will Al Horford sign with?", + "KXNEXTTEAMLEBRON-25": "What will be LeBron James's next team?", + "KXNEXTTEAMGIANNIS-25": "What will be Giannis Antetokounmpo's next team?", + "KXMLBNL-25": "National League Champion?", + "KXMLBAL-25": "American League Champion?", + "KXMLSWEST-25": "MLS Western Conference Playoffs winner?", + "KXMLSEAST-25": "MLS Eastern Conference Playoffs winner?", + "KXWNBAROTY-25": "Pro Women's Basketball Rookie of the Year?", + "KXWNBAMVP-25": "Pro Women's Basketball MVP?", + "KXWNBA-25": "Pro Women's Basketball Champion?", + "KXNOBELLIT-25": "Nobel Literature prize, 2025?", + "KXTN7R-25": "Who will be the Republican nominee for TN-7?", + "KXMLBWINS-WSH-25": "Washington wins this season?", + "KXMLBWINS-TOR-25": "Toronto wins this season?", + "KXMLBWINS-TEX-25": "Texas wins this season?", + "KXMLBWINS-TB-25": "Tampa Bay wins this season?", + "KXMLBWINS-STL-25": "St. Louis wins this season?", + "KXMLBWINS-SF-25": "San Francisco wins this season?", + "KXMLBWINS-SEA-25": "Seattle wins this season?", + "KXMLBWINS-SD-25": "San Diego wins this season?", + "KXMLBWINS-PIT-25": "Pittsburgh wins this season?", + "KXMLBWINS-PHI-25": "Philadelphia wins this season?", + "KXMLBWINS-NYY-25": "New York Y wins this season?", + "KXMLBWINS-NYM-25": "New York M wins this season?", + "KXMLBWINS-MIN-25": "Minnesota wins this season?", + "KXMLBWINS-MIL-25": "Milwaukee wins this season?", + "KXMLBWINS-MIA-25": "Miami wins this season?", + "KXMLBWINS-LAD-25": "Los Angeles D wins this season?", + "KXMLBWINS-LAA-25": "Los Angeles A wins this season?", + "KXMLBWINS-KC-25": "Kansas City wins this season?", + "KXMLBWINS-HOU-25": "Houston wins this season?", + "KXMLBWINS-DET-25": "Detroit wins this season?", + "KXMLBWINS-CWS-25": "Chicago WS wins this season?", + "KXMLBWINS-COL-25": "Colorado wins this season?", + "KXMLBWINS-CLE-25": "Cleveland wins this season?", + "KXMLBWINS-CIN-25": "Cincinnati wins this season?", + "KXMLBWINS-CHC-25": "Chicago C wins this season?", + "KXMLBWINS-BOS-25": "Boston wins this season?", + "KXMLBWINS-BAL-25": "Baltimore wins this season?", + "KXMLBWINS-AZ-25": "Arizona wins this season?", + "KXMLBWINS-ATL-25": "Atlanta wins this season?", + "KXMLBWINS-ATH-25": "A's wins this season?", + "KXTESLAPROD-25-Q3": "Tesla production this quarter?", + "KXTESLA-25-Q3": "Tesla deliveries this quarter?", + "KXARCTICICEMIN-25OCT01": "Arctic sea ice minimum extent summer 2025?", + "KXTIKTOKEXTENSION-25OCT": "Will Trump delay the TikTok ban again before October?", + "KXSWIFTATTEND-25OCT": "Will Taylor Swift attend an NFL game before October?", + "KXSHORTPOSITIONACKMAN-25OCT": "Will Bill Ackman announce a new short position before October?", + "KXNETANYAHUALSHARAAMEET-25": "Will Benjamin Netanyahu meet with Ahmed al-Sharaa before October?", + "KXFERTILITYRATE-25-Q3": "General Fertility rate this quarter?", + "KXCANSAFETY-25OCT": "Gary Anandasangaree out as Canadian Minister of Public Safety before October?", + "KXAPPWLFI-25OCT": "Will World Liberty Financial launch an iOS app before October?", + "KXAMENDVIOLATENYS2-25": "Will the DOJ investigate New York for violations of the 2nd Amendment?", + "HOUSEVA11S-25": "Which party will win the House race for VA-11?", + "KXTFP-25-Q2": "What will total factor productivity be in Q2 2025?", + "KXMLBPLAYOFFS-25": "Pro Baseball Playoff Qualifiers?", + "KXAVGTARIFF-25": "What will the average tariff rate be in Q2 2025?", + "KXWINSTREAKHOUMLB10-25": "Houston pro baseball team wins 10 straight this season?", + "KXPGARYDER-RC25": "Ryder Cup Champion?", + "KXMLBNLWEST-25": "NL West Division Winner?", + "KXMLBNLEAST-25": "NL East Division Winner?", + "KXMLBNLCENT-25": "NL Central Division Winner?", + "KXMLBALWEST-25": "AL West Division Winner?", + "KXMLBALEAST-25": "AL East Division Winner?", + "KXMLBALCENT-25": "AL Central Division Winner?", + "KXSEYCHELLESPRES-25": "Who will win the next Seychellois presidential election?", + "KXLEASTSTREAMEDPLAY-25SEP19": "Least streamed song on 'Play' on Sep 19, 2025?", + "FED-25SEP": "Fed funds rate in September?", + "KXDOTPLOT-25SEP": "FED dot plot median up next meeting?", + "KXMALAWIPRES-25": "Who will win the next Malawian presidential election?", + "KXMALAWIASSEMBLY-25": "Who will win the next Malawian National Assembly election?", + "KXNFLGAME-25SEP15LACLV": "Los Angeles C vs Las Vegas: Game Winner?", + "KXNFLGAME-25SEP15TBHOU": "Tampa Bay vs Houston", + "KXEMMYVSPECIAL-77": "Emmy Award for VARIETY SPECIAL (LIVE)?", + "KXEMMYTVMOVIE-77": "Emmy Award for TV Movie?", + "KXEMMYTSERIES-77": "Emmy Award for Talk Series?", + "KXEMMYSVSERIES-77": "Emmy Award for Scripted Variety Series?", + "KXEMMYRCPROGRAM-77": "Emmy Award for Reality Competition Program?", + "KXEMMYLSERIES-77": "Emmy Award for Limited Series?", + "KXEMMYLSACTR-77": "Emmy Award for Movie/Limited Supporting Actress?", + "KXEMMYLSACTO-77": "Emmy Award for Movie/Limited Supporting Actor?", + "KXEMMYLIMITEDACTR-77": "Emmy Award for Movie/Limited Actress?", + "KXEMMYDSERIES-77": "Emmy Award for Drama Series?", + "KXEMMYDSACTR-77": "Emmy Award for Drama Supporting Actress?", + "KXEMMYDSACTO-77": "Emmy Award for Drama Supporting Actor?", + "KXEMMYDACTR-77": "Emmy Award for Drama Actress?", + "KXEMMYDACTO-77": "Emmy Award for Drama Actor?", + "KXEMMYCSERIES-77": "Emmy Award for Comedy Series?", + "KXEMMYCSACTR-77": "Emmy Award for Comedy Supporting Actress?", + "KXEMMYCSACTO-77": "Emmy Award for Comedy Supporting Actor?", + "KXEMMYCACTR-77": "Emmy Award for Comedy Actress?", + "KXEMMYCACTO-77": "Emmy Award for Comedy Actor?", + "KXNFLGAME-25SEP14ATLMIN": "Atlanta vs Minnesota", + "KXNFLGAME-25SEP14PHIKC": "Philadelphia vs Kansas City", + "KXNFLGAME-25SEP14DENIND": "Denver vs Indianapolis", + "KXNFLGAME-25SEP14CARARI": "Carolina vs Arizona", + "KXNFLGAME-25SEP14SFNO": "San Francisco vs New Orleans", + "KXNFLGAME-25SEP14SEAPIT": "Seattle vs Pittsburgh", + "KXNFLGAME-25SEP14NYGDAL": "New York G vs Dallas", + "KXNFLGAME-25SEP14NEMIA": "New England vs Miami", + "KXNFLGAME-25SEP14LATEN": "Los Angeles R vs Tennessee", + "KXNFLGAME-25SEP14JACCIN": "Jacksonville vs Cincinnati", + "KXNFLGAME-25SEP14CLEBAL": "Cleveland vs Baltimore", + "KXNFLGAME-25SEP14CHIDET": "Chicago vs Detroit", + "KXNFLGAME-25SEP14BUFNYJ": "Buffalo vs New York J", + "KXNFLGAME-25SEP11WASGB": "Washington vs Green Bay", + "KXEGGS-AUG": "Will egg prices go up next month?", + "KXCPIYOY-25AUG": "Inflation in August? (CPI YoY)", + "KXCPICOREYOY-25AUG": "Core inflation in August? (Core CPI YoY)", + "KXCPICORE-25AUG": "CPI core in August?", + "KXCPI-25AUG": "CPI in August?", + "KXSTARTCLEBROWNS-25SEP09": "Cleveland football week one starting QB?", + "KXNFLGAME-25SEP08MINCHI": "Minnesota vs Chicago", + "KXNORWAYPM-25": "Who will be the next Norwegian Prime Minister?", + "KXNORWAYPARTY-25": "Which party will win the most seats in the 2025 Norwegian election?", + "KXNFLGAME-25SEP07BALBUF": "Baltimore vs Buffalo", + "KXNFLGAME-25SEP07HOULA": "Houston vs Los Angeles R", + "KXNFLGAME-25SEP07DETGB": "Detroit vs Green Bay", + "KXNFLGAME-25SEP07TENDEN": "Tennessee vs Denver", + "KXNFLGAME-25SEP07SFSEA": "San Francisco vs Seattle", + "KXNFLGAME-25SEP07TBATL": "Tampa Bay vs Atlanta", + "KXNFLGAME-25SEP07PITNYJ": "Pittsburgh vs New York J", + "KXNFLGAME-25SEP07NYGWAS": "New York G vs Washington", + "KXNFLGAME-25SEP07MIAIND": "Miami vs Indianapolis", + "KXNFLGAME-25SEP07LVNE": "Las Vegas vs New England", + "KXNFLGAME-25SEP07CINCLE": "Cincinnati vs Cleveland", + "KXNFLGAME-25SEP07CARJAC": "Carolina vs Jacksonville", + "KXNFLGAME-25SEP07ARINO": "Arizona vs New Orleans", + "KXUSOWOMENSINGLES-25": "US Open Women's Tennis Winner?", + "KXUSOMENSINGLES-25": "US Open Men's Tennis Winner?", + "KXNCAAFGAME-25SEP06UCDWASH": "UC Davis vs Washington", + "KXNCAAFGAME-25SEP06STANBYU": "Stanford vs BYU", + "KXNCAAFGAME-25SEP06SDSUWSU": "San Diego St. vs Washington St.", + "KXNCAAFGAME-25SEP06WEBARIZ": "Weber St. vs Arizona", + "KXNCAAFGAME-25SEP06UTMUTEP": "Tennessee-Martin vs UTEP", + "KXNCAAFGAME-25SEP06TLSANMSU": "Tulsa vs New Mexico St.", + "KXNCAAFGAME-25SEP06UCLAUNLV": "UCLA vs UNLV", + "KXNCAAFGAME-25SEP06MCNSULL": "McNeese vs Louisiana", + "KXNCAAFGAME-25SEP06ULMALA": "Louisiana-Monroe vs Alabama", + "KXNCAAFGAME-25SEP06VANVT": "Vanderbilt vs Virginia Tech", + "KXNCAAFGAME-25SEP06SIUPUR": "Southern Illinois vs Purdue", + "KXNCAAFGAME-25SEP06MICHOKLA": "Michigan vs Oklahoma", + "KXNCAAFGAME-25SEP06GASOUSC": "Georgia Southern vs USC", + "KXNCAAFGAME-25SEP06CHSOCCAR": "Charleston Southern vs Coastal Carolina", + "KXNCAAFGAME-25SEP06BCMSU": "Boston College vs Michigan St.", + "KXNCAAFGAME-25SEP06BALLAUB": "Ball St. vs Auburn", + "KXNCAAFGAME-25SEP06AKRNEB": "Akron vs Nebraska", + "KXNCAAFGAME-25SEP06WKUTOL": "Western Kentucky vs Toledo", + "KXNCAAFGAME-25SEP06UNCCHAR": "North Carolina vs Charlotte", + "KXNCAAFGAME-25SEP06TULNUSA": "Tulane vs South Alabama", + "KXNCAAFGAME-25SEP06SCSTSCAR": "South Carolina St. vs South Carolina", + "KXNCAAFGAME-25SEP06NCATUCF": "North Carolina A&T vs UCF", + "KXNCAAFGAME-25SEP06MEMGAST": "Memphis vs Georgia St.", + "KXNCAAFGAME-25SEP06LIUEMU": "LIU vs Eastern Michigan", + "KXNCAAFGAME-25SEP06HOURICE": "Houston vs Rice", + "KXNCAAFGAME-25SEP06COOKMIA": "Bethune-Cookman vs Miami (FL)", + "KXNCAAFGAME-25SEP06ARMYKSU": "Army vs Kansas St.", + "KXNCAAFGAME-25SEP06TXSOCAL": "Texas Southern vs California", + "KXNCAAFGAME-25SEP06NCCUODU": "North Carolina Central vs Old Dominion", + "KXNCAAFGAME-25SEP06MOSUMRSH": "Missouri St. vs Marshall", + "KXNCAAFGAME-25SEP06FAMUFAU": "Florida A&M vs Florida Atlantic", + "KXNCAAFGAME-25SEP06CPUTAH": "Cal Poly vs Utah", + "KXNCAAFGAME-25SEP06CAMPECU": "Campbell vs East Carolina", + "KXNCAAFGAME-25SEP06SACNEV": "Sacramento St. vs Nevada", + "KXNCAAFGAME-25SEP06JKSTUSM": "Jackson St. vs Southern Miss", + "KXNCAAFGAME-25SEP06ARSTARK": "Arkansas St. vs Arkansas", + "KXNCAAFGAME-25SEP06USFFLA": "South Florida vs Florida", + "KXNCAAFGAME-25SEP06WVUOHIO": "West Virginia vs Ohio", + "KXNCAAFGAME-25SEP06MTUWIS": "Middle Tennessee vs Wisconsin", + "KXNCAAFGAME-25SEP06WEBBGT": "Gardner-Webb vs Georgia Tech", + "KXNCAAFGAME-25SEP06UNTWMU": "North Texas vs Western Michigan", + "KXNCAAFGAME-25SEP06UABNAVY": "UAB vs Navy", + "KXNCAAFGAME-25SEP06TXSTUTSA": "Texas St. vs UTSA", + "KXNCAAFGAME-25SEP06TROYCLEM": "Troy vs Clemson", + "KXNCAAFGAME-25SEP06SFPABUFF": "St. Francis (PA) vs Buffalo", + "KXNCAAFGAME-25SEP06PEAYUGA": "Austin Peay vs Georgia", + "KXNCAAFGAME-25SEP06OKSTORE": "Oklahoma St. vs Oregon", + "KXNCAAFGAME-25SEP06M-OHRUTG": "Miami (OH) vs Rutgers", + "KXNCAAFGAME-25SEP06MISSUK": "Ole Miss vs Kentucky", + "KXNCAAFGAME-25SEP06LINWAPP": "Lindenwood vs Appalachian St.", + "KXNCAAFGAME-25SEP06KUMIZZ": "Kansas vs Missouri", + "KXNCAAFGAME-25SEP06GRAMOSU": "Grambling St. vs Ohio St.", + "KXNCAAFGAME-25SEP06FRESORST": "Fresno St. vs Oregon St.", + "KXNCAAFGAME-25SEP06ETSUTENN": "East Tennessee St. vs Tennessee", + "KXNCAAFGAME-25SEP06DELCOLO": "Delaware vs Colorado", + "KXNCAAFGAME-25SEP06BRYMASS": "Bryant vs UMass", + "KXNCAAFGAME-25SEP06BGSUCIN": "Bowling Green vs Cincinnati", + "KXNCAAFGAME-25SEP06WCUWAKE": "Western Carolina vs Wake Forest", + "KXNCAAFGAME-25SEP06HOWTEM": "Howard vs Temple", + "KXNCAAFGAME-25SEP06UNIWYO": "Northern Iowa vs Wyoming", + "KXNCAAFGAME-25SEP06UNCOCSU": "Northern Colorado vs Colorado St.", + "KXNCAAFGAME-25SEP06SHSUHAW": "Sam Houston vs Hawai'i", + "KXNCAAFGAME-25SEP06IDSTUNM": "Idaho St. vs New Mexico", + "KXNCAAFGAME-25SEP06USUTXAM": "Utah St. vs Texas A&M", + "KXNCAAFGAME-25SEP06UVANCST": "Virginia vs North Carolina St.", + "KXNCAAFGAME-25SEP06TAMCFSU": "East Texas A&M vs Florida St.", + "KXNCAAFGAME-25SEP06SJSUTEX": "San Jose St. vs Texas", + "KXNCAAFGAME-25SEP06NWSTMINN": "Northwestern St. vs Minnesota", + "KXNCAAFGAME-25SEP06LIBJVST": "Liberty vs Jacksonville St.", + "KXNCAAFGAME-25SEP06KENTTTU": "Kent St. vs Texas Tech", + "KXNCAAFGAME-25SEP06KENNIND": "Kennesaw St. vs Indiana", + "KXNCAAFGAME-25SEP06IOWAISU": "Iowa vs Iowa St.", + "KXNCAAFGAME-25SEP06ILLDUKE": "Illinois vs Duke", + "KXNCAAFGAME-25SEP06FIUPSU": "Florida International vs Penn St.", + "KXNCAAFGAME-25SEP06CONNSYR": "UConn vs Syracuse", + "KXNCAAFGAME-25SEP06CMUPITT": "Central Michigan vs Pittsburgh", + "KXNCAAFGAME-25SEP06BAYSMU": "Baylor vs SMU", + "KXNCAAFGAME-25SEP05EWUBSU": "Eastern Washington vs Boise St.", + "KXNFLGAME-25SEP05KCLAC": "Kansas City vs Los Angeles C", + "KXNCAAFGAME-25SEP05WIUNW": "Western Illinois vs Northwestern", + "KXNCAAFGAME-25SEP05NIUMD": "Northern Illinois vs Maryland", + "KXNCAAFGAME-25SEP05JMULOU": "James Madison vs Louisville", + "KXU3-25AUG": "Unemployment in August?", + "KXPAYROLLS-25AUG": "Jobs numbers next month?", + "KXNFLGAME-25SEP04DALPHI": "Dallas vs Philadelphia", + "KXUNIPRESIDENTS-25SEP01": "Which university presidents will leave this school year?", + "KXTRANSFERCOUNTRM-25": "How many players will Real Madrid sign this summer transfer window?", + "KXLOSEREALMADRID-25": "Who will Real Madrid lose this summer?", + "KXLOSEBARCA-25": "Who will Barcelona lose this summer?", + "KXJOINSANE-25": "Where will Leroy Sane go next?", + "KXJOINDAVID-25": "Where will Jonathan David go next?", + "KXACQUIREREALMADRID-25": "Who will Real Madrid acquire this summer?", + "KXACQUIREMANU-25": "Who will Manchester United acquire this year?", + "KXACQUIREBARCA-25": "Who will Barcelona acquire this summer?", + "KXNCAAFGAME-25SEP01TCUUNC": "TCU vs North Carolina", + "KXWNBAPORTNOY-25SEP": "Will the WNBA ban Dave Portnoy?", + "KXWAYMOCITYLV-25SEP": "Will Waymo operate in Las Vegas before September?", + "KXTRUMPVISITSTATES-25": "Which states will Trump visit before September?", + "KXTRUMPPHONE": "Trump Mobile smartphone released before September?", + "KXTORNADO-25AUG": "Number of tornadoes next month?", + "KXRELEASEBESIGYE-25SEP01": "Will Kizza Besigye be released before September?", + "KXPOPEDJT-25SEP": "Will the Pope say Trump's name before September?", + "KXPAHLAVIVISITA-25": "Will Reza Pahlavi visit Iran before September?", + "KXNEWCASTLEUBADGE-25SEP": "Will Newcastle United renege on their new club badge before September?", + "KXMUSKFEUDCOORD-25SEP": "Will evidence be reported that Trump and Elon coordinated their feud before September?", + "KXJONYIVEMETA-25SEP": "Will Jony Ive join Meta before September?", + "KXJOINNEYMARMIAMI-25": "Will Neymar transfer to Inter Miami?", + "KXGROKMACOS-SEP25": "Will xAI release a Grok MacOS app before September?", + "KXGENIUS-25SEP": "Will the GENIUS Act Pass the House before September?", + "KXEONIL-25SEP": "Will Trump issue an executive order about student-athlete NIL compensation before September?", + "KXEARTHQUAKE-25AUG31": "8.0 earthquake before September?", + "KXNCAAFGAME-25AUG31NDMIA": "Notre Dame vs Miami (FL)", + "KXNCAAFGAME-25AUG31VTSCAR": "Virginia Tech vs South Carolina", + "KXHURPATHGENERALMAJOR-25": "Will a major Atlantic Hurricane make landfall before September?", + "KXHURPATHGENERAL-25": "Will an Atlantic Hurricane make landfall before September?", + "KXNCAAFGAME-25AUG30UTAHUCLA": "Utah vs UCLA", + "KXNCAAFGAME-25AUG30CSUWASH": "Colorado St. vs Washington", + "KXNCAAFGAME-25AUG30HAWARIZ": "Hawai'i vs Arizona", + "KXNCAAFGAME-25AUG30CALORST": "California vs Oregon St.", + "KXNCAAFGAME-25AUG30NAUASU": "Northern Arizona vs Arizona St.", + "KXNCAAFGAME-25AUG30IDHOWSU": "Idaho vs Washington St.", + "KXNCAAFGAME-25AUG30GASOFRES": "Georgia Southern vs Fresno St.", + "KXNCAAFGAME-25AUG30TAMCSMU": "East Texas A&M vs SMU", + "KXNCAAFGAME-25AUG30BRYNMSU": "Bryant vs New Mexico St.", + "KXNCAAFGAME-25AUG30RICEULL": "Rice vs Louisiana", + "KXNCAAFGAME-25AUG30PRSTBYU": "Portland St. vs BYU", + "KXNCAAFGAME-25AUG30LAMUNT": "Lamar vs North Texas", + "KXNCAAFGAME-25AUG30EMUTXST": "Eastern Michigan vs Texas St.", + "KXNCAAFGAME-25AUG30ACTLSA": "Abilene Christian vs Tulsa", + "KXNCAAFGAME-25AUG30GASTMISS": "Georgia St. vs Ole Miss", + "KXNCAAFGAME-25AUG30UTEPUSU": "UTEP vs Utah St.", + "KXNCAAFGAME-25AUG30UNMMICH": "New Mexico vs Michigan", + "KXNCAAFGAME-25AUG30SELALT": "Southeastern Louisiana vs Louisiana Tech", + "KXNCAAFGAME-25AUG30MOSUUSC": "Missouri St. vs USC", + "KXNCAAFGAME-25AUG30LSUCLEM": "LSU vs Clemson", + "KXNCAAFGAME-25AUG30ARPBTTU": "Arkansas-Pine Bluff vs Texas Tech", + "KXNCAAFGAME-25AUG30UTSATXAM": "UTSA vs Texas A&M", + "KXNCAAFGAME-25AUG30UNDKSU": "North Dakota vs Kansas St.", + "KXNCAAFGAME-25AUG30UNAWKU": "North Alabama vs Western Kentucky", + "KXNCAAFGAME-25AUG30SEMOARST": "Southeast Missouri St. vs Arkansas St.", + "KXNCAAFGAME-25AUG30PEAYMTU": "Austin Peay vs Middle Tennessee", + "KXNCAAFGAME-25AUG30NICHTROY": "Nicholls St. vs Troy", + "KXNCAAFGAME-25AUG30MORGUSA": "Morgan St. vs South Alabama", + "KXNCAAFGAME-25AUG30LIUFLA": "LIU vs Florida", + "KXNCAAFGAME-25AUG30CHSOVAN": "Charleston Southern vs Vanderbilt", + "KXNCAAFGAME-25AUG30WEBJMU": "Weber St. vs James Madison", + "KXNCAAFGAME-25AUG30ILSTOKLA": "Illinois St. vs Oklahoma", + "KXNCAAFGAME-25AUG30CCARUVA": "Coastal Carolina vs Virginia", + "KXNCAAFGAME-25AUG30ALBYIOWA": "University at Albany vs Iowa", + "KXNCAAFGAME-25AUG30CHATMEM": "Chattanooga vs Memphis", + "KXNCAAFGAME-25AUG30AAMUARK": "Alabama A&M vs Arkansas", + "KXNCAAFGAME-25AUG30MTSTORE": "Montana St. vs Oregon", + "KXNCAAFGAME-25AUG30MELIB": "Maine vs Liberty", + "KXNCAAFGAME-25AUG30TEMMASS": "Temple vs UMass", + "KXNCAAFGAME-25AUG30SDAKISU": "South Dakota vs Iowa St.", + "KXNCAAFGAME-25AUG30NEVPSU": "Nevada vs Penn St.", + "KXNCAAFGAME-25AUG30MRSHUGA": "Marshall vs Georgia", + "KXNCAAFGAME-25AUG30HCNIU": "Holy Cross vs Northern Illinois", + "KXNCAAFGAME-25AUG30BUCKAFA": "Bucknell vs Air Force", + "KXNCAAFGAME-25AUG30ALAFSU": "Alabama vs Florida St.", + "KXNCAAFGAME-25AUG30EKYLOU": "Eastern Kentucky vs Louisville", + "KXNCAAFGAME-25AUG30ODUIND": "Old Dominion vs Indiana", + "KXNCAAFGAME-25AUG30RMUWVU": "Robert Morris vs West Virginia", + "KXNCAAFGAME-25AUG30FORBC": "Fordham vs Boston College", + "KXNCAAFGAME-25AUG30CCSUCONN": "Central Connecticut St. vs UConn", + "KXNCAAFGAME-25AUG30TOLUK": "Toledo vs Kentucky", + "KXNCAAFGAME-25AUG30VMINAVY": "VMI vs Navy", + "KXNCAAFGAME-25AUG30TEXOSU": "Texas vs Ohio St.", + "KXNCAAFGAME-25AUG30SYRTENN": "Syracuse vs Tennessee", + "KXNCAAFGAME-25AUG30NWTULN": "Northwestern vs Tulane", + "KXNCAAFGAME-25AUG30MSSTUSM": "Mississippi St. vs Southern Miss", + "KXNCAAFGAME-25AUG30MRMKKENT": "Merrimack vs Kent St.", + "KXNCAAFGAME-25AUG30FAUMD": "Florida Atlantic vs Maryland", + "KXNCAAFGAME-25AUG30DUQPITT": "Duquesne vs Pittsburgh", + "KXNCAAFGAME-25AUG30BALLPUR": "Ball St. vs Purdue", + "KXNCAAFGAME-25AUG29CMUSJSU": "Central Michigan vs San Jose St.", + "KXNCAAFGAME-25AUG29UNLVSHSU": "UNLV vs Sam Houston", + "KXNCAAFGAME-25AUG29GTCOLO": "Georgia Tech vs Colorado", + "KXNCAAFGAME-25AUG29AUBBAY": "Auburn vs Baylor", + "KXNCAAFGAME-25AUG29WIUILL": "Western Illinois vs Illinois", + "KXNCAAFGAME-25AUG29WAGKU": "Wagner vs Kansas", + "KXNCAAFGAME-25AUG29WMUMSU": "Western Michigan vs Michigan St.", + "KXNCAAFGAME-25AUG29KENNWAKE": "Kennesaw St. vs Wake Forest", + "KXNCAAFGAME-25AUG29COOKFIU": "Bethune-Cookman vs Florida International", + "KXNCAAFGAME-25AUG29APPCHAR": "Appalachian St. vs Charlotte", + "KXNCAAFGAME-25AUG29TARLARMY": "Tarleton St. vs Army", + "KXNCAAFGAME-25AUG28NEBCIN": "Nebraska vs Cincinnati", + "KXNCAAFGAME-25AUG28M-OHWIS": "Miami (OH) vs Wisconsin", + "KXNCAAFGAME-25AUG28ALSTUAB": "Alabama St. vs UAB", + "KXNCAAFGAME-25AUG28SFAHOU": "Stephen F. Austin vs Houston", + "KXNCAAFGAME-25AUG28BUFFMINN": "Buffalo vs Minnesota", + "KXNCAAFGAME-25AUG28UTMOKST": "Tennessee-Martin vs Oklahoma St.", + "KXNCAAFGAME-25AUG28ELONDUKE": "Elon vs Duke", + "KXNCAAFGAME-25AUG28CARKMIZZ": "Central Arkansas vs Missouri", + "KXNCAAFGAME-25AUG28WYOAKR": "Wyoming vs Akron", + "KXNCAAFGAME-25AUG28SFPAULM": "St. Francis (PA) vs Louisiana-Monroe", + "KXNCAAFGAME-25AUG28JVSTUCF": "Jacksonville St. vs UCF", + "KXNCAAFGAME-25AUG28ECUNCST": "East Carolina vs North Carolina St.", + "KXNCAAFGAME-25AUG28DSUDEL": "Delaware St. vs Delaware", + "KXNCAAFGAME-25AUG28OHIORUTG": "Ohio vs Rutgers", + "KXNCAAFGAME-25AUG28LAFBGSU": "Lafayette vs Bowling Green", + "KXNCAAFGAME-25AUG28BSUUSF": "Boise St. vs South Florida", + "KXNCAAFGAME-25AUG28STONSDSU": "Stony Brook vs San Diego St.", + "KXEARNINGSMENTIONNVDA-25AUG27": "What will Nvidia say during their next earnings call?", + "KXRTAMERICANA": "\"Americana\" Rotten Tomatoes score?", + "KXNCAAFGAME-25AUG23STANHAW": "Stanford vs Hawai'i", + "KXNCAAFGAME-25AUG23SHSUWKU": "Sam Houston vs Western Kentucky", + "KXNCAAFGAME-25AUG23FRESKU": "Fresno St. vs Kansas", + "KXNCAAFGAME-25AUG23IDSTUNLV": "Idaho St. vs UNLV", + "KXNCAAFGAME-25AUG23ISUKSU": "Iowa St. vs Kansas St.", + "KXUFA-25": "Ultimate Frisbee Championship Winner?", + "KXUFASEMI-25": "Ultimate Frisbee Championship Qualifiers?", + "KXRTNOBODY2": "\"Nobody 2\" Rotten Tomatoes score?", + "KXBOLIVIAPRES-25": "Who will win the Bolivian election?", + "KXINTERNETINVITATIONAL-25": "Who will win Internet Invitational?", + "KXHMONTHRANGE-25JUL": "July temperature increase?", + "KXBOLIVIASENATE-25": "Who will win the next Bolivian Senate election?", + "KXBOLIVIAFIRSTROUND-25": "Who will win the first round of the Bolivian presidential election?", + "KXBOLIVIADEPUTIES-25": "Who will win the next Bolivian Chamber of Deputies election?", + "KXARGINFLATIONM-25JUL": "Argentina inflation this month?", + "KXRTALIENEARTH": "\"Alien: Earth\" Rotten Tomatoes score?", + "KXMCMAFIATHEOLDCOUNTRY": "\"Mafia: The Old Country\" Metacritic score?", + "KXEGGS-JUL": "Will egg prices go up this month?", + "KXCPIYOY-25JUL": "Inflation in July? (CPI YoY)", + "KXCPICOREYOY-25JUL": "Core inflation in July? (Core CPI YoY)", + "KXCPICORE-25JUL": "CPI core in July?", + "KXCPI-25JUL": "CPI in July?", + "KXRTWEAPONS": "\"Weapons\" Rotten Tomatoes score?", + "KXRTFREAKIERFRIDAY": "\"Freakier Friday\" Rotten Tomatoes score?", + "KXNFLGAME-25AUG10NOLAC": "New Orleans vs Los Angeles C", + "KXNFLGAME-25AUG10MIACHI": "Miami vs Chicago", + "KXNFLGAME-25AUG09DENSF": "Denver vs San Francisco", + "KXNFLGAME-25AUG09NYJGB": "New York J vs Green Bay", + "KXNFLGAME-25AUG09KCARI": "Kansas City vs Arizona", + "KXNFLGAME-25AUG09TENTB": "Tennessee vs Tampa Bay", + "KXNFLGAME-25AUG09PITJAC": "Pittsburgh vs Jacksonville", + "KXNFLGAME-25AUG09DALLA": "Dallas vs Los Angeles R", + "KXNFLGAME-25AUG09HOUMIN": "Houston vs Minnesota", + "KXNFLGAME-25AUG09NYGBUF": "New York G vs Buffalo", + "KXNFLGAME-25AUG08WASNE": "Washington vs New England", + "KXNFLGAME-25AUG08DETATL": "Detroit vs Atlanta", + "KXNFLGAME-25AUG08CLECAR": "Cleveland vs Carolina", + "KXNYCBOROUGHWINSTAT-25": "Who will win Staten Island in the 2025 NYC Dem Mayoral primary?", + "KXNYCBOROUGHWINQUEE-25": "Who will win Queens in the 2025 NYC Dem Mayoral primary?", + "KXNYCBOROUGHWINBROOK-25": "Who will win Brooklyn in the 2025 NYC Dem Mayoral primary?", + "KXNYCBOROUGHWINBRON-25": "Who will win Bronx in the 2025 NYC Dem Mayoral primary?", + "KXHMONTH-25JUL": "This July is the hottest July ever?", + "KXNFLGAME-25AUG07LVSEA": "Las Vegas vs Seattle", + "KXNFLGAME-25AUG07CINPHI": "Cincinnati vs Philadelphia", + "KXNFLGAME-25AUG07INDBAL": "Indianapolis vs Baltimore", + "KXSPOTIFYARTISTW-25JUL24": "Top Artist on Weekly Top Artists USA on Thursday?", + "KXSPOTIFYALBUMW-25JUL24": "Top Album on Weekly Top Albums USA on Thursday?", + "KXTOPSONG-25AUG02": "Billboard Hot 100 #1 on Aug 2, 2025 chart?", + "KXMCTALESOFTHESHIRELORDOFTHERINGS": "\"Tales of the Shire: A Lord of the Rings Game\" Metacritic score?", + "KXSPOTIFYGLOBALD-25JUL21": "Top Global Song on Spotify tomorrow?", + "KXSPOTIFYD-25JUL21": "Top USA Song on Spotify tomorrow?", + "KXSPOTIFYARTISTD-25JUL21": "Top USA Artist on Spotify tomorrow?", + "KXRTNAKEDGUN": "\"The Naked Gun\" Rotten Tomatoes score?", + "KXSPOTIFYGLOBALD-25JUL20": "Top Global Song on Spotify today?", + "KXSPOTIFYD-25JUL20": "Top USA Song on Spotify today?", + "KXSPOTIFYARTISTD-25JUL20": "Top USA Artist on Spotify today?", + "KXBTCMAXM-AUG25": "How high will Bitcoin get this month?", + "KXISMPMI-25JUL": "ISM Manufacturing PMI this month?", + "KXXRPMAXM-25JUL31": "How high will XRP get this month?", + "KXXFLARE-25AUG": "Will there be an X-class solar flare before August?", + "KXUSADEALCOUNT-25AUG01": "How many trade deals will the USA make before Aug 1, 2025?", + "KXU3-25JUL": "Unemployment in July?", + "KXTRUMPVISITISRAEL-25": "Will Trump visit Israel in July?", + "KXTRUMPSAYMAM-25AUG": "What will Trump say before August 2025?", + "KXTORNADO-25JUL": "Number of tornadoes this month?", + "KXTARIFFRATEKR-25AUG01": "Will the U.S. tariff rate on South Korea be at least 25% on Aug 1, 2025?", + "KXTARIFFRATEJP-25AUG01": "Will the U.S. tariff rate on Japan be at least 25% on Aug 1, 2025?", + "KXTARIFFRATECA-25AUG01": "Will the U.S. tariff rate on Canada be at least 35% on Aug 1, 2025?", + "KXTARIFFRATEBR-25AUG01": "Will the U.S. tariff rate on Brazil be at least 50% on Aug 1, 2025?", + "KXSUMMERHOUSEATTEND-25": "Who will attend the AMP Summer House 30-Day Stream?", + "KXSTREAMKAIGTAIV-25JUL": "Will Kai Cenat stream GTA IV this month?", + "KXSTATEMENTCOUNTEPSTEINMOSSAD-25AUG01": "Will another member of the Senate accuse Epstein of working for the Mossad before August?", + "KXSTATEMENTCOUNTCLINTONEPSTEIN-25AUG01": "Will Bill or Hillary Clinton call to release the Epstein tapes before Aug 1, 2025?", + "KXSPOTIFYSUBS-25-Q2": "Spotify subscribers in Q2 2025?", + "KXSPOTIFYALBUMRELEASEDATEYOUNGTHUG-25": "Will Young Thug release 'UY SCUTI' this month?", + "KXSPOTIFYALBUMRELEASEDATEDRAKE-25": "Will Drake release 'Iceman' this month?", + "KXSPACEXSTARSHIP": "SpaceX Starship 10th launch?", + "KXSOFIMEMBERS-25-Q2": "SoFi new members in Q2 2025?", + "KXRHGOLD-Q2-25": "Robinhood Gold subscribers in Q2 2025?", + "KXREVIEWRELEASEMKBHDFRIEND-25AUG": "Will Marques Brownlee (MKBHD) release a video reviewing the Friend AI wearable device before August?", + "KXRECESSAPPT-25": "Who will Trump recess appoint?", + "KXRAINNYCM-25JUL": "Rain in NYC this month?", + "KXPRESTALK-1": "Who will Trump talk to before August?", + "KXPERSONTOPICCOLDPLAYATRONOMOR-25AUG": "Will Coldplay discuss the Astronomer CEO Affair this month?", + "KXPAYROLLS-25JUL": "Jobs numbers this month?", + "KXNYTVISITPALANTIR-25AUG": "Will The New York Times's Editorial Board visit a Palantir office before August?", + "KXNJGOLFVISITCOUNT-25JUL": "How many times will Donald Trump visit Trump National Golf Club Bedminster this month?", + "KXMUSKTAGDJT-25JUL": "Will Musk tag Trump in a post on X this month?", + "KXMETADAP-25-Q2": "Meta daily active users in Q2 2025?", + "KXMARINEDEP-25": "Courts block Trump's Marine Deployment in LA this month?", + "KXLEAVEMTAPRES-25AUG": "Demetrius Crichlow out as President of the MTA before August?", + "KXLEAVEMEENVOY-25AUG": "Steve Witkoff out as United States Special Envoy to the Middle East before August?", + "KXLEADEROUT-25": "World leader out before August?", + "KXINDEXADD-25": "What companies will be added to the S&P 500 this month?", + "KXGTATRAILER-25AUG": "Will another GTA VI trailer come out before August?", + "KXENGLANDDOCTORSTRIKE-25AUG": "Will English resident doctors strike before August?", + "KXELONPOSTBTC-25AUG01": "Will @elonmusk post on X about Bitcoin before Aug 1, 2025?", + "KXEARTHQUAKEM7-25JUL31": "Another 7.0 earthquake this month?", + "KXEARTHQUAKEJAPANTATSUKI-25": "9.0 magnitude earthquake in Japan before August?", + "KXEARNINGSMENTIONMSTR-25JUL31": "What will MicroStrategy Incorporated say during their next earnings call?", + "KXEARNINGSMENTIONGOOGL-25JUL22": "What will Google say during their next earnings call?", + "KXEARNINGSMENTIONAMZN-25JUL31": "What will Amazon say during their next earnings call?", + "KXEARNINGSMENTIONAAPL-25JUL31": "What will Apple say during their next earnings call?", + "KXCONGRESSCENSUREPADILLA-25AUG": "Will Congress censure Alex Padilla before August?", + "KXCONGRATULATEOBAMAZOHRAN-25AUG": "Will Barack Obama publicly congratulate Zohran Mamdani before August?", + "KXCBVOLUME-Q2-25": "Coinbase volume in Q2 2025?", + "KXBANBLUESKYVANCE-25AUG": "Will J.D. Vance be banned from Bluesky before August?", + "KXNFLGAME-25JUL31LACDET": "Los Angeles C vs Detroit", + "KXTOPMONTHLY-25JUL": "Artist with the most monthly Spotify listeners at the end of July?", + "KXTOPMODEL-25JUL": "What will be the top AI model this month?", + "KXSPOTIFY100MILLION-25JUL31": "Which songs will hit 100 Million Spotify streams this month?", + "KXSPACEXCOUNT-25JUL": "How many launches will SpaceX have this month?", + "KXPCECORE-25JUN": "How much will core PCE increase in June 2025?", + "KXNYTSUBS-25-Q2": "NYT new subscribers in Q2 2025?", + "KXMEAD-25JUL": "Lake Mead water levels this month?", + "KXLLM1-25JUL31": "Best AI this month?", + "KXLAGODAYS-25JUL": "How many times will Trump visit Mar-a-Lago this month?", + "KXJOBLESSCLAIMS-25JUL31": "How many initial jobless claims will there be the week ending Saturday?", + "KXEGGPRICEW-25JUL31-3.00": "Dozen eggs less than $3.00 on Jul 31, 2025?", + "KXEARNINGSMENTIONMETA-25JUL30": "What will Meta say during their next earnings call?", + "KXAAAGASM-25JUL31": "Gas prices in the US this month?", + "KXFEDDECISION-25JUL": "Fed decision in July?", + "FED-25JUL": "Fed funds rate in July?", + "KXFEDMENTION-25JUL": "What will the Federal Reserve Chair say at the July press conference?", + "KXTOPSONG-25JUL26": "Billboard Hot 100 #1 on Saturday chart?", + "KXGDP-25JUL30": "US GDP growth in Q2 2025?", + "KXFOMCVOTE-DISSENT-25JUL30": "Will anyone dissent at the next Fed meeting?", + "KXEARNINGSMENTIONMSFT-25JUL29": "What will Microsoft say during their next earnings call?", + "KXADP-25JUL": "ADP employment change this month?", + "KXTECHLAYOFF-25JUN": "Tech layoffs up in June 2025?", + "KXTOPALBUM-25AUG02": "Billboard Top 200 #1 on Aug 2, 2025 chart?", + "KXJOLTS-25JUN": "Job openings in June 2025?", + "KXBILLBOARDRUNNERUPSONG-25AUG02": "Billboard Hot 100 #2 on Aug 2, 2025 chart?", + "KXBILLBOARDRUNNERUPALBUM-25AUG02": "Billboard 200 #2 on Aug 2, 2025 chart?", + "KXMTA-25JUL27": "How many people will ride the NYC subway this week?", + "KXRTHAPPYGILMORE2": "\"Happy Gilmore 2\" Rotten Tomatoes score?", + "KXRTFANTASTICFOUR": "\"The Fantastic Four: First Steps\" Rotten Tomatoes score?", + "KXTOURDEFRANCE-25": "Tour de France winner?", + "KXEWCCALLOFDUTYBLOPS6-CODBLOPS625": "Call of Duty: Black Ops 6 at 2025 Esports World Cup Winner?", + "KXSPOTIFYALBUMRELEASEDATEKANYE-25": "Will Ye / Kanye West release 'BULLY' before July 26, 2025?", + "KXEWCHONOROFKINGS-HONOR25": "Honor of Kings World Cup at 2025 Esports World Cup Winner?", + "KXALBUMRELEASEDATENBAYOUNGBOY-25": "Will YoungBoy Never Broke Again release 'MASA' before Saturday?", + "KXMLSGAME-25JUL25NEMTL": "New England vs Montreal", + "KXMLSGAME-25JUL25CLBORL": "Columbus vs Orlando", + "KXNASDAQ100-25JUL25H1600": "Nasdaq price range on Friday at 4pm EDT?", + "KXINX-25JUL25H1600": "S&P price range on Friday at 4pm EDT?", + "KXBTCD-25JUL2517": "Bitcoin price on Friday at 5pm EDT?", + "KXTNOTEW-25JUL25": "Treasury 10-year yield on Friday?", + "KXWTIW-25JUL25": "WTI oil price on Friday?", + "KXSPOTIFYSONGSETERNITY-25JUL25": "Total Spotify streams for Alex Warren's'Eternity' on Friday?", + "KXSPOTIFYSONGSALAMBREPUA-25JUL25": "Total Spotify streams for Bad Bunny's 'ALAMBRE P\u00fcA' on Friday?", + "KXFEAR-25JUL25": "What will the Fear & Greed Index be on Friday?", + "KXEWCSTARCRAFTII-STARCRAFTII25": "StarCraft II at 2025 Esports World Cup Winner?", + "KXAPRPOTUS-25JUL25": "The President's RCP approval rating on Friday?", + "KXMCDONKEYKONGBANANZA": "\"Donkey Kong Bananza\" Metacritic score?", + "KXJOBLESSCLAIMS-25JUL24": "How many initial jobless claims will there be the week ending Jul 19, 2025?", + "KXALTMANMENTION-25JUL22": "What will Sam Altman say during his Fireside chat at the Large Banks Conference?", + "KXATPMATCH-25JUL22PASUGO": "ATP Umag: Passaro or Ugo Carabelli advances?", + "KXTOPALBUM-25JUL26": "Billboard Top 200 #1 on Saturday chart?", + "KXSPOTIFY2D-25JUL21": "Runner-up USA Song on Spotify tomorrow?", + "KXRAINNYC-25JUL21": "Will it rain in NYC tomorrow?", + "KXNETFLIXRANKSHOW-25JUL21": "Top US Netflix show this week?", + "KXNETFLIXRANKMOVIE-25JUL21": "Top US Netflix movie this week?", + "KXHIGHPHIL-25JUL21": "Highest temperature in Philadelphia tomorrow?", + "KXHIGHNY-25JUL21": "Highest temperature in NYC tomorrow?", + "KXHIGHMIA-25JUL21": "Highest temperature in Miami tomorrow?", + "KXHIGHLAX-25JUL21": "Highest temperature in LA tomorrow?", + "KXHIGHDEN-25JUL21": "Highest temperature in Denver tomorrow?", + "KXHIGHCHI-25JUL21": "Highest temperature in Chicago tomorrow?", + "KXHIGHAUS-25JUL21": "Highest temperature in Austin tomorrow?", + "KXBILLBOARDRUNNERUPSONG-25JUL26": "Billboard Hot 100 #2 on Saturday chart?", + "KXBILLBOARDRUNNERUPALBUM-25JUL26": "Billboard 200 #2 on Saturday chart?", + "KXAPPRANKFREE-25JUL22": "Top US iPhone app on Tuesday?", + "KXAPPRANKFREE2-25JUL22": "Runner-up US iPhone app on Tuesday?", + "KXATPMATCH-25JUL22OFNSTR": "ATP Kitzbuhel: Ofner or Struff advances?", + "KXNASDAQ100U-25JUL21H1600": "Nasdaq price tomorrow at 4pm EDT?", + "KXNASDAQ100-25JUL21H1600": "Nasdaq price range tomorrow at 4pm EDT?", + "KXINXU-25JUL21H1600": "S&P price tomorrow at 4pm EDT?", + "KXINX-25JUL21H1600": "S&P price range tomorrow at 4pm EDT?", + "KXSHIBAD-25JUL2117": "Shiba Inu price tomorrow at 5pm EDT?", + "KXSHIBA-25JUL2117": "Shiba Inu price range tomorrow at 5pm EDT?", + "KXETHD-25JUL2117": "Ethereum price tomorrow at 5pm EDT?", + "KXETH-25JUL2117": "Ethereum price range tomorrow at 5pm EDT?", + "KXDOGED-25JUL2117": "Dogecoin price tomorrow at 5pm EDT?", + "KXDOGE-25JUL2117": "Dogecoin price range tomorrow at 5pm EDT?", + "KXBTCD-25JUL2117": "Bitcoin price tomorrow at 5pm EDT?", + "KXBTC-25JUL2117": "Bitcoin price range tomorrow at 5pm EDT?", + "KXUSDJPYH-25JUL2117": "USD/JPY price tomorrow at 5pm EDT?", + "KXEURUSDH-25JUL2117": "EUR/USD price tomorrow at 5pm EDT?", + "KXUSDJPYH-25JUL2116": "USD/JPY price tomorrow at 4pm EDT?", + "KXEURUSDH-25JUL2116": "EUR/USD price tomorrow at 4pm EDT?", + "KXTNOTED-25JUL21": "Treasury 10-year yield tomorrow?", + "KXUSDJPYH-25JUL2115": "USD/JPY price tomorrow at 3pm EDT?", + "KXEURUSDH-25JUL2115": "EUR/USD price tomorrow at 3pm EDT?", + "KXUSDJPYH-25JUL2114": "USD/JPY price tomorrow at 2pm EDT?", + "KXEURUSDH-25JUL2114": "EUR/USD price tomorrow at 2pm EDT?", + "KXWTAMATCH-25JUL21WILSTE": "WTA Washington: Williams or Stearns advances?", + "KXWTAMATCH-25JUL21SAKBOU": "WTA Washington: Sakkari or Boulter advances?", + "KXWTAMATCH-25JUL21POTMBO": "WTA Washington: Potapova or Mboko advances?", + "KXWTAMATCH-25JUL21OSAPUT": "WTA Washington: Osaka or Putintseva advances?", + "KXWTAMATCH-25JUL21LINCOL": "WTA Washington: Linette or Collins advances?", + "KXWTAMATCH-25JUL21KOSRAD": "WTA Washington: Kostyuk or Raducanu advances?", + "KXWTAMATCH-25JUL21KESDOL": "WTA Washington: Kessler or Dolehide advances?", + "KXWTAMATCH-25JUL21FERJOI": "WTA Washington: Fernandez or Joint advances?", + "KXWTAMATCH-25JUL21BAPLIN": "WTA Washington: Baptiste or Linette advances?", + "KXWTAMATCH-25JUL21BAPKEN": "WTA Washington: Baptiste or Kenin advances?", + "KXUSDJPYH-25JUL2113": "USD/JPY price tomorrow at 1pm EDT?", + "KXEURUSDH-25JUL2113": "EUR/USD price tomorrow at 1pm EDT?", + "KXUSDJPYH-25JUL2112": "USD/JPY price tomorrow at 12pm EDT?", + "KXEURUSDH-25JUL2112": "EUR/USD price tomorrow at 12pm EDT?", + "KXATPMATCH-25JUL21GASGOM": "ATP Kitzbuhel: Gaston or Gombos advances?", + "KXUSDJPYH-25JUL2111": "USD/JPY price tomorrow at 11am EDT?", + "KXEURUSDH-25JUL2111": "EUR/USD price tomorrow at 11am EDT?", + "KXATPMATCH-25JUL21RINBAG": "ATP Kitzbuhel: Rinderknech or Bagnis advances?", + "KXWTI-25JUL21": "WTI oil price tomorrow?", + "KXUSDJPYH-25JUL2110": "USD/JPY price tomorrow at 10am EDT?", + "KXUSDJPY-25JUL2110": "USD/JPY price tomorrow at 10am EDT?", + "KXSPOTIFY2D-25JUL20": "Runner-up USA Song on Spotify today?", + "KXRTSMURFS": "\"Smurfs\" Rotten Tomatoes score?", + "KXRAINNYC-25JUL20": "Will it rain in NYC today?", + "KXLASTSUMMER": "\"I Know What You Did Last Summer\" Rotten Tomatoes score?", + "KXHIGHPHIL-25JUL20": "Highest temperature in Philadelphia today?", + "KXHIGHNY-25JUL20": "Highest temperature in NYC today?", + "KXHIGHMIA-25JUL20": "Highest temperature in Miami today?", + "KXHIGHLAX-25JUL20": "Highest temperature in LA today?", + "KXHIGHDEN-25JUL20": "Highest temperature in Denver today?", + "KXHIGHCHI-25JUL20": "Highest temperature in Chicago today?", + "KXHIGHAUS-25JUL20": "Highest temperature in Austin today?", + "KXEURUSDH-25JUL2110": "EUR/USD price tomorrow at 10am EDT?", + "KXEURUSD-25JUL2110": "EUR/USD price range tomorrow at 10am EDT?", + "KXAPPRANKFREE-25JUL21": "Top US iPhone app tomorrow?", + "KXAPPRANKFREE2-25JUL21": "Runner-up US iPhone app tomorrow?", + "KXAAAGASW-25JUL21": "Gas prices in the US up this week?", + "KXUSDJPYH-25JUL2109": "USD/JPY price tomorrow at 9am EDT?", + "KXEURUSDH-25JUL2109": "EUR/USD price tomorrow at 9am EDT?", + "KXWTAMATCH-25JUL21TOMSTE": "WTA Prague: Tomova or Stefanini advances?", + "KXWTAMATCH-25JUL21SHAANN": "WTA Prague: Sharma or Li advances?", + "KXWTAMATCH-25JUL21NOSGAS": "WTA Prague: Noskova or Gasanova advances?", + "KXWTAMATCH-25JUL21MALSRA": "WTA Prague: Maleckova or Sramkova advances?", + "KXWTAMATCH-25JUL21HONPAR": "WTA Prague: Hontama or Parks advances?", + "KXWTAMATCH-25JUL21HAVKOV": "WTA Prague: Havlickova or Kovackova advances?", + "KXWTAMATCH-25JUL21BOUGAO": "WTA Prague: Bouzkova or Gao advances?", + "KXATPMATCH-25JUL21TSEZEP": "ATP Umag: Tseng or Zeppieri advances?", + "KXATPMATCH-25JUL21MAJLLA": "ATP Umag: Majchrzak or Llamas Ruiz advances?", + "KXATPMATCH-25JUL21HANNEU": "ATP Kitzbuhel: Hanfmann or Neumayer advances?", + "KXATPMATCH-25JUL21GUIWAW": "ATP Umag: Guillen Meza or Wawrinka advances?", + "KXATPMATCH-25JUL21DROGAR": "ATP Umag: Droguet or Garin advances?", + "KXMLBGAME-25JUL20DETTEX": "Detroit at Texas", + "KXMLBGAME-25JUL20STLARI": "St. Louis at Arizona", + "KXMLBGAME-25JUL20MILLAD": "Milwaukee at Los Angeles D", + "KXMLBGAME-25JUL20HOUSEA": "Houston at Seattle", + "KXETHD-25JUL2018": "Ethereum price today at 6pm EDT?", + "KXETH-25JUL2018": "Ethereum price range today at 6pm EDT?", + "KXBTCD-25JUL2018": "Bitcoin price today at 6pm EDT?", + "KXBTC-25JUL2018": "Bitcoin price range today at 6pm EDT?", + "KXATPMATCH-25JUL20TIENAV": "ATP Washington: Tien or Nava advances?", + "KXATPMATCH-25JUL20QUIOCO": "ATP Washington: Quinn or O'Connell advances?", + "KXATPMATCH-25JUL20NISBRO": "ATP Washington: Nishioka or Brooksby advances?", + "KXATPMATCH-25JUL20MUNGIR": "ATP Washington: Munar or Giron advances?", + "KXATPMATCH-25JUL20MPEVUK": "ATP Washington: Mpetshi Perricard or Vukic advances?", + "KXATPMATCH-25JUL20HALKOV": "ATP Washington: Halys or Kovacevic advances?", + "KXATPMATCH-25JUL20GOFYUN": "ATP Washington: Goffin or Bu advances?", + "KXATPMATCH-25JUL20EVABER": "ATP Washington: Evans or Bergs advances?", + "KXATPMATCH-25JUL20BONMAR": "ATP Washington: Bonzi or Marozsan advances?", + "KXATPMATCH-25JUL20ARNALT": "ATP Washington: Arnaldi or Altmaier advances?", + "KXTSAW-25JUL20": "TSA avg check-ins from Jul 14 to 20, 2025?", + "KXJPHOCSECOND-25": "Who will be second in the Japan House of Councillors election?", + "KXIMOCOUNTRY-25": "IMO 2025 Country winner?", + "KXEWCFREEFIRE-FREE25": "Free Fire at 2025 Esports World Cup Winner?", + "KXWTAMATCH-25JUL20WANDAR": "WTA Prague: Wang or Dart advances?", + "KXWTAMATCH-25JUL20SINRUS": "WTA Prague: Siniakova or Ruse advances?", + "KXWTAMATCH-25JUL20SAMSAL": "WTA Prague: Samson or Salkova advances?", + "KXWTAMATCH-25JUL20PALHON": "WTA Prague: Palicova or Hon advances?", + "KXWTAMATCH-25JUL20JEAPAR": "WTA Prague: Jeanjean or Parrizas Diaz advances?", + "KXWTAMATCH-25JUL20ITOVAL": "WTA Prague: Ito or Valentova advances?", + "KXWTAMATCH-25JUL20HAVANN": "WTA Prague: Havlickova or Li advances?", + "KXWTAMATCH-25JUL20GOLCOC": "WTA Prague: Golubic or Cocciaretto advances?", + "KXWTAMATCH-25JUL20BEJUCH": "WTA Prague: Bejlek or Uchijima advances?", + "KXWTAMATCH-25JUL20AVABON": "WTA Prague: Avanesyan or Bondar advances?", + "KXATPMATCH-25JUL20VANJAR": "ATP Kitzbuhel: Van de Zandschulp or Jarry advances?", + "KXATPMATCH-25JUL20SHEGAL": "ATP Kitzbuhel: Shevchenko or Galan advances?", + "KXATPMATCH-25JUL20SEYENG": "ATP Kitzbuhel: Seyboth Wild or Engel advances?", + "KXATPMATCH-25JUL20SCHFUC": "ATP Kitzbuhel: Schwaerzler or Fucsovics advances?", + "KXATPMATCH-25JUL20MISETC": "ATP Kitzbuhel: Misolic or Etcheverry advances?", + "KXATPMATCH-25JUL20FARTIR": "ATP Kitzbuhel: Faria or Tirante advances?", + "KXATPMATCH-25JUL20COMBOY": "ATP Kitzbuhel: Comesana or Boyer advances?", + "KXATPMATCH-25JUL20CAZBUS": "ATP Kitzbuhel: Cazaux or Buse advances?", + "KXATPMATCH-25JUL19TABHER": "ATP Umag: Taberner or Herbert advances?", + "KXATPMATCH-25JUL19PRIMOL": "ATP Umag: Prizmic or Moller advances?", + "KXATPMATCH-25JUL19LAJATM": "ATP Umag: Lajovic or Atmane advances?", + "KXATPMATCH-25JUL19DEJPOL": "ATP Umag: De Jong or Poljicak advances?", + "KXATPMATCH-25JUL19CARBAS": "ATP Umag: Carballes Baena or Basilashvili advances?", + "KXATPMATCH-25JUL19BARNAV": "ATP Umag: Barrios Vera or Navone advances?", + "KXJOINEKITIKE-25": "Where will Hugo Ekitike go next?", + "KXEWCFATALFURY-FAT25": "FATAL FURY: City of the Wolves at 2025 Esports World Cup Winner?", + "KXMLSGAME-25JUL05ATXLAFC": "Austin vs Los Angeles", + "KXPCTVOTEMAMR1-25": "Zohran Mamdani NYC Primary First Round Percent of Vote", + "KXPCTVOTECUOR1-25": "Andrew Cuomo NYC Primary First Round Percent of Vote", + "KXMLSGAME-25JUN28MIAATL": "Miami vs Atlanta", + "KXACELAII-25": "When will the Amtrak Acela II trains enter revenue service?", + "KXMLSGAME-25JUN25RSLLAFC": "Salt Lake vs Los Angeles", + "KXNYCMAYORDROUND-25": "How many rounds will the NYC Democratic Mayoral primary be?", + "KXNYCLASTROUNDMARGIN-25": "Final round margin of victory in the NYC Democratic Mayoral primary?", + "KXNYCFINALMARGIN-25": "Andrew Cuomo's first-round margin of victory in NYC Democratic mayoral primary?", + "KXNYCMAYORTHIRDPLACE-25": "Who will be 3rd in the NYC Democratic Mayoral primary?", + "KXNYCMAYORDSECOND-25": "Who will get second in the NYC Democratic mayoral primary?", + "KXNYCFIRSTROUND-25": "Will the most First Choice Votes Win NYC Dem Mayoral Primary?", + "KXNYCBOROUGHWINMAN-25": "Who will win Manhattan in the 2025 NYC Dem Mayoral primary?", + "KXNEXTCAT5HURDATE-0": "When will the next Category 5 hurricane form?", + "KXMLBGAME-25JUN18MILCHC": "Milwaukee vs Chicago C (Game 1)", + "KXSPRUSE-25": "When will the US authorize new sales from the Strategic Petroleum Reserve?", + "KXNGUARDLEAVELA-25": "When will the national guard leave Los Angeles?", + "KXMJSCHEDULE": "Will Marijuana be Rescheduled?", + "KXGAMEAWARDSBSM-2025": "Game Awards 2025 Best Score and Music?", + "KXMETEOR": "Will a major meteor strike hit Earth before 2030?", + "KXSTUDENTBAN-25": "Will international students be banned from American colleges and universities this year?", + "KXHARVARDTAX-25": "Will Trump revoke Harvard's tax exempt status this year?", + "KXTARIFFREFUND-25": "Will a Court order a tariff refund?", + "KXSPINOFFSEV-25": "Will Severance have a spin-off announced this year?", + "KXPSCOMPATABILITY-25": "Will Sony announce the PS5 will be able to play PS3 games this year?", + "KXPS5PROPRICE-25": "Will Sony announce a price cut to the Playstation 5 Pro this year?", + "KXIMPOUNDAUTH-25": "Will presidential impoundment authority be expanded by the Supreme Court or by law this year?", + "KXERUPTETNA-0": "When will Mt. Etna next erupt?", + "KXDCMINWAGE-25": "Will DC repeal its new minimum wage law?", + "KXXPAYMENT-25": "When will X's payment service be released to the public?", + "KXGULFOFAMERICA-26": "Will the Senate vote to rename the Gulf of Mexico this year?", + "KXMLSGAME-25MAY31VANPOR": "Vancouver vs Portland: Game Winner?", + "KXNEXTVULCAN": "When will the Vulcan Centaur launch next?", + "KXMLBGAME-25MAY21ATLWSH": "Atlanta vs Washington", + "KXMLBGAME-25MAY20CLEMIN": "Cleveland vs Minnesota (Game 1)", + "KXTOPALBUMKALIUCHIS-25": "Kali Uchis has a #1 album this year?", + "KXSURGEON-26": "Will Casey Means be confirmed as Surgeon General?", + "KXEMMYLIMITEDACTO-77": "Emmy Award for Movie/Limited Actor?", + "KXSPURRERUPT-25": "When will Mount Spurr erupt?", + "KXPRCSTUDENTS-25": "Will Chinese international students be restricted from American schools?", + "KXVOTINGBILL-25": "Will a voting bill become law this year?", + "KXTARIFFEUALC-25": "Will Trump launch tariffs on EU alcohol?", + "KXSUEZTRAFFIC-25": "When will Suez Canal traffic recover to pre-Houthi levels?", + "KXSTABLECOIN-25": "Will stablecoin legislation happen this year?", + "KXOHFLAGLAW-25": "Will Ohio make it a felony to plant a flag at the Ohio State stadium?", + "KXBUYBTC-25": "Will the Senate pass an act to buy 1m BTC this year?", + "KXTRIFOLD-25": "Will Samsung release a trifold phone this year?", + "KXBTCHALF": "When will Bitcoin have its next halving?", + "KXCABLEAVE-25": "When will a member of Trump's Cabinet leave?", + "KXUFSD-25": "When will Tesla launch unsupervised FSD?", + "KXSPOTIFYTOP-25": "Will Bruno Mars be overtaken as the most streamed monthly artist on Spotify?", + "GOVPARTYWA-28": "Who will win the governorship in Washington?", + "KXBTCMAX150-25": "When will Bitcoin hit $150k?", + "COSTCOHOTDOG": "Costco raises hot dog combo price?", + "ARGDOLLAR": "When will Argentina dollarize its economy?", + "JPMCEOCHANGE": "Jamie Dimon leaves JPMorgan Chase?", + "OAIAGI": "When will OpenAI achieve AGI?", + "METACRITICBLOODLINES2": "\"Vampire: The Masquerade - Bloodlines 2\" Metacritic score?", + "KXDAYLIGHT-25DEC31": "Will daylight saving become permanent this year?", + "KXMAYORMIA-25": "Who will win the Mayoral race in Miami?" +} \ No newline at end of file diff --git a/place_order.py b/place_order.py new file mode 100755 index 00000000..78552673 --- /dev/null +++ b/place_order.py @@ -0,0 +1,466 @@ +#!/usr/bin/env python3 +""" +Simple Order Placement Script for Kalshi +Usage: python place_order.py MARKET_TICKER SIDE PRICE QUANTITY +Example: python place_order.py KXHIGHNY-25JUL20-B89.5 yes 0.26 10 +""" + +import os +import sys +from dotenv import load_dotenv +from cryptography.hazmat.primitives import serialization +from clients import KalshiHttpClient, Environment + +load_dotenv() + +def format_money(value): + """Format cents to dollars""" + try: + return f"${float(value)/100:.2f}" + except: + return "$0.00" + +def setup_client(): + """Setup Kalshi client""" + try: + with open(os.getenv('PROD_KEYFILE'), "rb") as f: + private_key = serialization.load_pem_private_key(f.read(), password=None) + + client = KalshiHttpClient( + key_id=os.getenv('PROD_KEYID'), + private_key=private_key, + environment=Environment.PROD + ) + return client + except Exception as e: + print(f"❌ Setup error: {e}") + return None + +def get_market_info(client, ticker): + """Get current market information""" + try: + response = client.get(f"/trade-api/v2/markets/{ticker}") + market = response.get('market', {}) + return market + except Exception as e: + print(f"❌ Error getting market info: {e}") + return None + +def find_existing_rfq_for_market(client, ticker): + """Find an existing RFQ for the given market""" + try: + # Try to get RFQs filtered by market_ticker first + print(f"πŸ” Fetching RFQs for market {ticker}...") + response = client.get(f"/trade-api/v2/communications/rfqs?market_ticker={ticker}") + print(f"πŸ” Market-specific RFQ API Response: {response}") + + rfqs = response.get('rfqs', []) + print(f"πŸ” Found {len(rfqs)} RFQs for market {ticker}") + + for i, rfq in enumerate(rfqs): + print(f"πŸ” RFQ {i+1}: {rfq}") + if rfq.get('market_ticker') == ticker: + print(f"βœ… Found matching RFQ for {ticker}: {rfq.get('id')}") + return rfq.get('id') + + # If no RFQs found for this market, try getting all RFQs + print(f"πŸ” No market-specific RFQs found, fetching all RFQs...") + response = client.get("/trade-api/v2/communications/rfqs") + print(f"πŸ” All RFQs API Response: {response}") + + rfqs = response.get('rfqs', []) + print(f"πŸ” Found {len(rfqs)} total RFQs") + + for i, rfq in enumerate(rfqs): + print(f"πŸ” RFQ {i+1}: {rfq}") + if rfq.get('market_ticker') == ticker: + print(f"βœ… Found matching RFQ for {ticker}: {rfq.get('id')}") + return rfq.get('id') + + print(f"πŸ” No RFQ found for market {ticker}") + return None + except Exception as e: + print(f"❌ Error getting RFQs: {e}") + # Let's also print any additional error details + if hasattr(e, 'response') and e.response: + try: + error_detail = e.response.json() + print(f"❌ RFQ API Error Details: {error_detail}") + except: + print(f"❌ Raw RFQ Response: {e.response.text}") + print(f"❌ Status Code: {e.response.status_code}") + return None + +def create_rfq(client, ticker, side, quantity): + """Create a Request for Quote (RFQ)""" + # First check if there's already an RFQ for this market + print(f"πŸ” Checking for existing RFQs for {ticker}...") + existing_rfq_id = find_existing_rfq_for_market(client, ticker) + if existing_rfq_id: + print(f"βœ… Found existing RFQ for {ticker}: {existing_rfq_id}") + return existing_rfq_id + + # The API actually expects JSON body, not query parameters despite the docs + full_path = f"/trade-api/v2/communications/rfqs" + + # Build request body + rfq_data = { + "market_ticker": ticker, + "contracts": quantity, + "rest_remainder": True # Boolean, not string + } + + print(f"πŸ” Creating RFQ with data: {rfq_data}") + + # Make the request manually to get the raw response + import requests + url = f"{client.host}{full_path}" + headers = client.request_headers("POST", full_path) + + try: + # Make raw request with JSON body + response = requests.post(url, json=rfq_data, headers=headers) + + print(f"πŸ” Status Code: {response.status_code}") + print(f"πŸ” Raw Response Text: {response.text}") + + # RFQ creation returns 201 (Created), not 200 + if response.status_code == 201: + response_data = response.json() + print(f"πŸ” Parsed Response: {response_data}") + + if response_data.get('id'): + print(f"βœ… RFQ created with ID: {response_data['id']}") + return response_data['id'] + else: + print(f"❌ RFQ creation failed: {response_data}") + return None + else: + # Parse error response + try: + error_data = response.json() + print(f"❌ API Error Response: {error_data}") + if 'error' in error_data: + error = error_data['error'] + if 'code' in error: + print(f"❌ Error Code: {error['code']}") + + # If RFQ already exists, that means we already have an open RFQ! + if error['code'] == 'already_exists': + print(f"βœ… RFQ already exists for this market - this means it was created successfully!") + print(f"οΏ½ The RFQ creation probably succeeded on a previous attempt.") + print(f"πŸ” Since we can't get the RFQ ID via API, let's try a different approach...") + + # Instead of trying to find the ID, let's try to place a quote directly + # Some APIs allow using market ticker instead of RFQ ID + print(f"πŸ”„ Attempting to place quote using market ticker...") + return "TRY_QUOTE_WITH_TICKER" + + if 'message' in error: + print(f"❌ Error Message: {error['message']}") + if 'details' in error: + print(f"❌ Error Details: {error['details']}") + except: + print(f"❌ Could not parse error response as JSON") + return None + + except Exception as e: + print(f"❌ Request exception: {e}") + return None + +def try_get_quotes(client, ticker): + """Try to get existing quotes for the market""" + try: + print(f"πŸ” Checking for existing quotes...") + response = client.get("/trade-api/v2/communications/quotes") + print(f"πŸ” Quotes API Response: {response}") + + quotes = response.get('quotes', []) + print(f"πŸ” Found {len(quotes)} total quotes") + + for i, quote in enumerate(quotes): + print(f"πŸ” Quote {i+1}: {quote}") + # Look for quotes related to our market + if quote.get('market_ticker') == ticker: + print(f"βœ… Found quote for {ticker}: {quote}") + return quote + + return None + except Exception as e: + print(f"❌ Error getting quotes: {e}") + return None + +def try_direct_order(client, ticker, side, price_cents, quantity): + """Try placing order directly using portfolio/orders endpoint as fallback""" + try: + # First try to get existing quotes + existing_quote = try_get_quotes(client, ticker) + if existing_quote: + quote_id = existing_quote.get('id') + if quote_id: + print(f"βœ… Found existing quote {quote_id}, trying to accept it...") + + # Try to accept the quote + accept_response = client.put(f"/trade-api/v2/communications/quotes/{quote_id}/accept", {}) + print(f"πŸ” Accept quote response: {accept_response}") + + if accept_response: + return accept_response + + # If no existing quote, try the portfolio orders approach + order_data = { + "ticker": ticker, + "client_order_id": f"order_{ticker}_{side}_{price_cents}_{quantity}", + "side": side, + "action": "buy", + "count": quantity, + "type": "limit", # Changed to limit order + "yes_price": price_cents if side.lower() == "yes" else None, + "no_price": price_cents if side.lower() == "no" else None + } + + print(f"πŸ”„ Trying direct order placement with: {order_data}") + response = client.post("/trade-api/v2/portfolio/orders", order_data) + print(f"πŸ” Direct order response: {response}") + return response + except Exception as e: + print(f"❌ Direct order failed: {e}") + return None + +def place_order(client, ticker, side, price_dollars, quantity): + """Place an order on Kalshi using the quote system""" + + # Convert price to cents (Kalshi uses cents) + price_cents = int(round(price_dollars * 100)) + + # Validate price range (1Β’ to 99Β’) + if price_cents < 1 or price_cents > 99: + print(f"❌ Price must be between $0.01 and $0.99, got ${price_dollars:.2f}") + return False + + # Step 1: Create RFQ + print(f"πŸš€ Step 1: Creating RFQ...") + rfq_id = create_rfq(client, ticker, side, quantity) + if not rfq_id: + return False + + # Handle special case where we know RFQ exists but don't have the ID + if rfq_id == "EXISTING_RFQ_UNKNOWN_ID": + print(f"⚠️ RFQ exists but we don't have the ID. This might be because:") + print(f" 1. You already have an active RFQ for this market") + print(f" 2. Check your Kalshi account - you may see it in 'Your RFQs' tab") + print(f" 3. The RFQ might have already been converted to an order") + print(f"\nπŸ’‘ Check your Kalshi account for the current status!") + return False + + # Handle the case where we should try quote with ticker + if rfq_id == "TRY_QUOTE_WITH_TICKER": + print(f"πŸ”„ Trying to place quote using market ticker approach...") + + # Try placing a quote without specific RFQ ID + quote_data = { + "market_ticker": ticker # Some APIs might accept this + } + + # Add bid prices based on side + if side.lower() == "yes": + quote_data["yes_bid"] = price_cents + quote_data["no_bid"] = 0 + else: + quote_data["yes_bid"] = 0 + quote_data["no_bid"] = price_cents + + print(f"πŸ” Trying quote with ticker payload: {quote_data}") + + try: + response = client.post("/trade-api/v2/communications/quotes", quote_data) + print(f"βœ… Quote with ticker succeeded: {response}") + return True + except Exception as e: + print(f"❌ Quote with ticker failed: {e}") + print(f"πŸ’‘ Since you can see the RFQ in your Kalshi account, it was created successfully!") + print(f"πŸ’‘ The issue might be that the API requires the exact RFQ ID.") + print(f"πŸ’‘ Check your Kalshi account - the order might already be placed or pending!") + return False + + # Handle the case where we should try direct order placement + if rfq_id == "TRY_DIRECT_ORDER": + print(f"πŸ”„ Trying direct order placement as fallback...") + direct_response = try_direct_order(client, ticker, side, price_cents, quantity) + if direct_response: + print(f"βœ… Direct order placement attempted!") + print(f"πŸ“ Response: {direct_response}") + return True + else: + print(f"❌ Direct order placement failed") + print(f"πŸ’‘ The RFQ exists in your account - check Kalshi manually!") + return False + + # Step 2: Create quote in response to RFQ + print(f"πŸš€ Step 2: Creating quote for RFQ {rfq_id}...") + + # Build quote payload based on the API documentation + quote_data = { + "rfq_id": rfq_id + } + + # Add bid prices based on side + if side.lower() == "yes": + quote_data["yes_bid"] = price_cents + quote_data["no_bid"] = 0 # We don't want to bid on the no side + else: + quote_data["yes_bid"] = 0 # We don't want to bid on the yes side + quote_data["no_bid"] = price_cents + + try: + print(f"πŸš€ Placing quote...") + print(f" Market: {ticker}") + print(f" Side: {side.upper()}") + print(f" Price: {format_money(price_cents)}") + print(f" Quantity: {quantity} contracts") + print(f" Total Risk: {format_money(price_cents * quantity)}") + print(f"πŸ” Debug - Quote payload: {quote_data}") + + # Place the quote using the correct endpoint + response = client.post("/trade-api/v2/communications/quotes", quote_data) + + if response.get('order'): + order = response['order'] + order_id = order.get('order_id') + status = order.get('status') + + print(f"βœ… ORDER PLACED SUCCESSFULLY!") + print(f" Order ID: {order_id}") + print(f" Status: {status}") + print(f" Created: {order.get('created_time')}") + + return True + elif response.get('id'): + # Quote created successfully + quote_id = response['id'] + print(f"βœ… QUOTE PLACED SUCCESSFULLY!") + print(f" Quote ID: {quote_id}") + + return True + else: + print(f"❌ Order failed - API Response: {response}") + return False + + except Exception as e: + print(f"❌ Error placing quote: {e}") + # Try to get more detailed error info + if hasattr(e, 'response') and e.response: + try: + error_detail = e.response.json() + print(f"❌ Quote API Error Details: {error_detail}") + if 'code' in error_detail: + print(f"❌ Error Code: {error_detail['code']}") + if 'message' in error_detail: + print(f"❌ Error Message: {error_detail['message']}") + if 'details' in error_detail: + print(f"❌ Error Details: {error_detail['details']}") + except: + print(f"❌ Raw Quote Response: {e.response.text}") + print(f"❌ Status Code: {e.response.status_code}") + return False + +def main(): + """Main function""" + if len(sys.argv) != 5: + print("πŸ›οΈ KALSHI ORDER PLACEMENT") + print("=" * 40) + print("Usage: python place_order.py MARKET_TICKER SIDE PRICE QUANTITY") + print() + print("Examples:") + print(" python place_order.py KXHIGHNY-25JUL20-B89.5 yes 0.26 10") + print(" python place_order.py KXHIGHNY-25JUL20-T94 no 0.96 5") + print() + print("Parameters:") + print(" MARKET_TICKER: The specific market ticker (from market analysis)") + print(" SIDE: 'yes' or 'no'") + print(" PRICE: Price in dollars (e.g., 0.26 for 26Β’)") + print(" QUANTITY: Number of contracts to buy") + print() + print("πŸ’‘ Start small with 1Β’ and low quantity for testing!") + sys.exit(1) + + ticker = sys.argv[1] + side = sys.argv[2].lower() + try: + price = float(sys.argv[3]) + except ValueError: + print("❌ Price must be a number (e.g., 0.26)") + sys.exit(1) + + try: + quantity = int(sys.argv[4]) + except ValueError: + print("❌ Quantity must be an integer") + sys.exit(1) + + # Validate inputs + if side not in ['yes', 'no']: + print("❌ Side must be 'yes' or 'no'") + sys.exit(1) + + if quantity <= 0: + print("❌ Quantity must be positive") + sys.exit(1) + + if price <= 0 or price >= 1: + print("❌ Price must be between $0.01 and $0.99") + sys.exit(1) + + print("πŸ›οΈ KALSHI ORDER PLACEMENT") + print("=" * 40) + + # Setup client + client = setup_client() + if not client: + sys.exit(1) + + print("βœ… Connected to Kalshi Production") + + # Get current market info + print(f"\nπŸ“Š Getting market info for {ticker}...") + market = get_market_info(client, ticker) + + if market: + print(f"πŸ“ Market: {market.get('title', 'N/A')}") + print(f"πŸ’° Current Yes Bid: {format_money(market.get('yes_bid', 0))}") + print(f"πŸ’° Current Yes Ask: {format_money(market.get('yes_ask', 0))}") + print(f"πŸ’° Current No Bid: {format_money(market.get('no_bid', 0))}") + print(f"πŸ’° Current No Ask: {format_money(market.get('no_ask', 0))}") + print(f"πŸ“Š Volume: {market.get('volume', 0)}") + else: + print("⚠️ Could not get market info, but proceeding with order...") + + # Confirm order + total_risk = price * quantity + print(f"\n⚠️ ORDER CONFIRMATION:") + print(f" You are about to place a {side.upper()} order") + print(f" Price: ${price:.2f} per contract") + print(f" Quantity: {quantity} contracts") + print(f" Total at Risk: ${total_risk:.2f}") + print(f" Market: {ticker}") + + confirm = input("\nProceed with order? (yes/no): ").strip().lower() + + if confirm != 'yes': + print("❌ Order cancelled") + sys.exit(0) + + # Place the order + success = place_order(client, ticker, side, price, quantity) + + if success: + print(f"\nπŸŽ‰ Order placed successfully!") + print(f"\nπŸ’‘ Next steps:") + print(f" 1. Monitor your order status") + print(f" 2. Check if it gets filled") + print(f" 3. Consider placing the opposite side for market making") + else: + print(f"\n❌ Order failed") + +if __name__ == "__main__": + main() diff --git a/place_order_working.py b/place_order_working.py new file mode 100644 index 00000000..e69de29b diff --git a/quick_open_markets.py b/quick_open_markets.py new file mode 100755 index 00000000..d76e2ad0 --- /dev/null +++ b/quick_open_markets.py @@ -0,0 +1,174 @@ +#!/usr/bin/env python3 +""" +Quick script to get open markets from Kalshi (Production only) +Usage: python quick_open_markets.py +""" + +import os +import json +from dotenv import load_dotenv +from cryptography.hazmat.primitives import serialization +from clients import KalshiHttpClient, Environment + +# Load environment variables +load_dotenv() + +# Force production environment +env = Environment.PROD +KEYID = os.getenv('PROD_KEYID') +KEYFILE = os.getenv('PROD_KEYFILE') + +# Initialize client +try: + with open(KEYFILE, "rb") as key_file: + private_key = serialization.load_pem_private_key(key_file.read(), password=None) + + client = KalshiHttpClient( + key_id=KEYID, + private_key=private_key, + environment=env + ) + print("βœ… Connected to Kalshi Production") +except Exception as e: + print(f"❌ Error: {e}") + exit(1) + +def format_money(value): + """Format cents to dollars""" + try: + return f"${float(value)/100:.2f}" + except: + return "$0.00" + +def get_open_markets_simple(): + """Get all open markets - simple and fast""" + print("πŸ” Fetching open markets...") + + all_markets = {} + cursor = None + page = 1 + + while True: + # Build URL for open events only + url = "/trade-api/v2/events?status=open" + if cursor: + url += f"&cursor={cursor}" + + print(f" Page {page}...", end=" ") + + try: + response = client.get(url) + events = response.get('events', []) + + if not events: + break + + # Add to our collection + for event in events: + event_id = event.get('event_ticker') + event_name = event.get('title') + + if event_id: + all_markets[event_id] = { + 'id': event_id, + 'name': event_name + } + + print(f"βœ… ({len(events)} events)") + + # Get next page cursor + cursor = response.get('cursor') + if not cursor: + break + + page += 1 + + except Exception as e: + print(f"❌ Error on page {page}: {e}") + break + + print(f"\n🎯 Found {len(all_markets)} open markets total!") + return all_markets + +def search_market(markets, search_term): + """Quick search through markets""" + search_term = search_term.lower() + results = [] + + for market_id, market_data in markets.items(): + if search_term in market_data['name'].lower(): + results.append((market_id, market_data['name'])) + + return results + +def main(): + """Main function""" + print("=" * 60) + print("πŸ›οΈ KALSHI OPEN MARKETS - QUICK ACCESS") + print("=" * 60) + + # Get balance + try: + balance = client.get_balance() + print(f"πŸ’° Balance: {format_money(balance.get('balance', 0))}") + except: + print("πŸ’° Balance: Unable to fetch") + + # Get open markets + markets = get_open_markets_simple() + + if not markets: + print("❌ No open markets found!") + return + + # Show first 10 as preview + print(f"\nπŸ“‹ First 10 open markets:") + print("-" * 40) + for i, (market_id, market_data) in enumerate(list(markets.items())[:10], 1): + name = market_data['name'] + if len(name) > 50: + name = name[:47] + "..." + print(f"{i:2d}. {market_id}") + print(f" {name}") + + # Interactive search + print(f"\nπŸ” SEARCH MARKETS (Total: {len(markets)})") + print("Type search terms or 'quit' to exit") + print("-" * 40) + + while True: + try: + search_term = input("Search> ").strip() + + if search_term.lower() in ['quit', 'exit', 'q']: + break + + if not search_term: + continue + + results = search_market(markets, search_term) + + if results: + print(f"\nβœ… Found {len(results)} matches for '{search_term}':") + for i, (market_id, name) in enumerate(results[:10], 1): + print(f"{i:2d}. ID: {market_id}") + if len(name) > 55: + name = name[:52] + "..." + print(f" {name}") + + if len(results) > 10: + print(f" ... and {len(results) - 10} more") + else: + print(f"❌ No matches for '{search_term}'") + + print() + + except KeyboardInterrupt: + break + except Exception as e: + print(f"Error: {e}") + + print("\nπŸ‘‹ Goodbye!") + +if __name__ == "__main__": + main() diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index f6d3832e..00000000 --- a/requirements.txt +++ /dev/null @@ -1,7 +0,0 @@ -requests==2.32.3 -python-dateutil==2.9.0.post0 -cryptography==44.0.2 -urllib3==2.3.0 -python-dotenv==1.0.1 -websockets==14.1 -datetime==5.5 diff --git a/search_events.py b/search_events.py new file mode 100644 index 00000000..e69de29b diff --git a/search_market.py b/search_market.py new file mode 100644 index 00000000..e69de29b diff --git a/search_markets_in_event.py b/search_markets_in_event.py new file mode 100644 index 00000000..e69de29b diff --git a/simple_order.py b/simple_order.py new file mode 100644 index 00000000..e69de29b diff --git a/trading_workflow/Comprehensive_Guide.md b/trading_workflow/Comprehensive_Guide.md new file mode 100644 index 00000000..9d3ffb26 --- /dev/null +++ b/trading_workflow/Comprehensive_Guide.md @@ -0,0 +1,57 @@ +# A Trader's Guide to the Kalshi API: Getting Authorization Right + +Let's be real, trading with an API isn't about memorizing a million endpoints. It's about getting one thing right: **Authorization**. Most of the time, this is the part that trips everyone up, especially when you're trying to use AI tools that don't understand the nuance. This guide breaks down how we've solved the hard part so you can focus on the easy part: making trades. + +--- + +## The Hard Part: Nailing Authorization + +Why is this so difficult? Because Kalshi (rightfully) needs to be 100% sure that every single request is coming from you. It's not enough to just send an API key. You have to prove it's you *at the exact moment you make the request*. + +This is done through a process called **Request Signing**. + +Here’s the secret sauce, which is handled entirely by our `clients.py` file so you don't have to worry about it: + +1. **Create a Unique Message:** For every API call, the client creates a unique string of text. It's a simple combination of: + * The exact time (down to the millisecond). + * The request type (`GET` or `POST`). + * The API endpoint path (like `/portfolio/orders`). + + The raw message looks something like this: `1672531200000POST/portfolio/orders` + +2. **Sign It with Your Private Key:** The client then takes this unique message and uses your secret `.pem` file to create a cryptographic signature. This signature is a long, scrambled piece of text that can only be created by your specific private key. It's impossible to fake. + +3. **Send Everything to Kalshi:** The final request sent to Kalshi includes the normal stuff (like the order details) plus three critical security headers: + * Your public API Key ID. + * The timestamp from step 1. + * The unique signature from step 2. + +Kalshi's servers perform the same process on their end. If the signature they generate matches the one you sent, they know the request is authentic and from you. If it doesn't, the request is rejected. + +**This is the step where most people fail.** Getting the timestamp perfect, formatting the message correctly, and signing it properly is tricky. Our `clients.py` handles this flawlessly every time. + +--- + +## The Easy Part: Making API Calls + +Once the authorization is handled by the client, everything else becomes dead simple. You don't need to think about the signing process at all. You just use the endpoints. + +Want to place an order? You just tell the client **what** you want to do and **where** you want to do it. + +**Instead of this (The Hard Way):** +``` +1. Get current time in milliseconds. +2. Format the message string: time + "POST" + "/portfolio/orders". +3. Sign the message with your private key. +4. Base64 encode the signature. +5. Build the request with 3 different security headers. +6. Send the request. +7. Hope you did everything right. +``` + +**You just do this (The Easy Way, using our scripts):** +```bash +python simple_order.py KXHIGHNY-25JUL20-B87.5 yes buy 1 98 +``` + +The `simple_order.py` script just makes a single, clean call to the client, and the client does all the hard work. This is the power of a well-structured system. It solves the hard problem once so you can focus on your trading strategy. diff --git a/trading_workflow/README.md b/trading_workflow/README.md new file mode 100644 index 00000000..e69de29b diff --git a/trading_workflow/fetch_open_events.py b/trading_workflow/fetch_open_events.py new file mode 100644 index 00000000..e69de29b diff --git a/trading_workflow/search_events.py b/trading_workflow/search_events.py new file mode 100644 index 00000000..e69de29b diff --git a/trading_workflow/search_markets_in_event.py b/trading_workflow/search_markets_in_event.py new file mode 100644 index 00000000..e69de29b diff --git a/trading_workflow/simple_order.py b/trading_workflow/simple_order.py new file mode 100644 index 00000000..e69de29b