SUPPORT

Troubleshooting

Common issues and fixes for the Predict & Profit weather bot and inflation bot.

Try This First

Try This Before Anything Else

Paste your full error message into Claude (claude.ai) or Gemini (gemini.google.com). Describe what you were trying to do. AI assistants are excellent at debugging Python errors and can solve most setup issues in under a minute. Still stuck? Read on.

Issue 1. Received a non-JSON response from /portfolio/orders+

Cause

Kalshi's API had a brief service blip. It returned an HTML error page instead of JSON. This is a Kalshi server issue, not a bug in the bot.

Fix

Wait 5-10 minutes and try again. The issue resolves on its own. Also verify your BASE URL is exactly: https://api.elections.kalshi.com/trade-api/v2 The old demo.kalshi.com URL returns the same error.

Issue 2. raw candidates = 0 for a long time, is that normal?+

Cause

Yes. The bot applies strict filters before placing any trade. When no weather or inflation contract meets all thresholds simultaneously, it scans and finds nothing. This is the filter doing its job.

Fix

Wait for a GFS forecast update. GFS runs 4 times per day at 00Z, 06Z, 12Z, and 18Z UTC (8pm, 2am, 8am, 2pm Eastern). The bot finds the most candidates 30-60 minutes after each update. To see more activity for testing purposes only, run with looser filters: --min-price 0.15 --min-score 0.30

Issue 3. Most of my bets lose / wins are only $1-$5+

Cause

The original v1.0 default settings (min-price 0.05) were buying cheap longshots that rarely win. A 5-cent contract needs to win 1 in 10 times just to break even.

Fix

Upgrade to v2.0 (free for existing buyers). Then use these settings: python auto_trader.py --live \ --min-price 0.40 --min-score 0.70 \ --min-confidence 0.55 --min-agreement 3 \ --max-contracts 5 --max-per-city 1 The bot will trade less often but win more consistently.

Issue 4. BEA API key says 'This UserId is not active'+

Cause

The BEA API requires email activation after registration. The key does not work until you click the activation link.

Fix

Check your email (including spam) for a message from BEA with an activation link. If you cannot find it, re-register at https://apps.bea.gov/API/signup/ and check again. The key activates immediately after clicking the link.

Issue 5. Open trade limit reached, bot is not taking new trades+

Cause

The bot has reached its maximum number of simultaneous open positions (default 10). It pauses until a position settles or closes.

Fix

Wait for existing positions to settle. Or increase the limit: --max-open-trades 20 Make sure you also increase --total-budget proportionally to give the bot enough capital to take new positions.

Issue 6. Do I need money in my Kalshi account for dry-run mode?+

Cause

No. Dry-run mode connects to the Kalshi API to read market data but never places an order.

Fix

You can run --dry-run with a zero balance account. The bot will scan markets, score candidates, and log what it would have done without spending anything. Run dry-run for at least 1-2 weeks before going live.

Issue 7. Can I run both bots at the same time?+

Cause

Yes, they are completely independent processes with separate databases.

Fix

Run each bot in its own terminal or background process. They do not share state or interfere with each other. Both read from the same Kalshi account.

Issue 8. Bot is running but I have not seen any trades for days+

Cause

Strict filters plus low-edge market conditions. The bot is designed to wait for high-conviction setups.

Fix

Check the logs for REJECTED lines to see why candidates are being filtered out. Common reasons: price_too_low, agreement_too_low, ensemble_too_uncertain. These rejection reasons are the bot working correctly. Alternatively, the market may be efficiently priced right now with no genuine edge available.

Issue 9. Permission error or path not found error on Windows+

Cause

Windows has a 260-character path limit that Python scripts can hit when installed in deep folder structures.

Fix

Install to a short path like C:\projects\predict-and-profit\ If you still get path errors, enable Windows long paths: open Registry Editor, navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem and set LongPathsEnabled to 1. Alternatively, use WSL2 (Windows Subsystem for Linux) which avoids path issues entirely.

Issue 10. REGIME CHANGE DETECTED warnings in the log+

Cause

The regime change detector found that your current model view contradicts an existing open position. For example, the model now predicts CPI at 3.58% but you hold a NO position on CPI above 3.2% (implying you thought CPI would be below 3.2%).

Fix

This is a warning, not an error. The bot continues running. Review the flagged positions and decide whether to close them manually in the Kalshi app. The bot will not auto-close positions unless you enable --auto-close-contradictions.

Issue 11. STRIKE_CONSISTENCY REJECTED in the log+

Cause

The bot tried to place a trade but it would have created a logically contradictory position. For example, you already hold CPI above 3.5% NO (predicting CPI < 3.5%) and the bot tried to add CPI above 3.2% YES (predicting CPI > 3.2%). These cannot both be correct simultaneously.

Fix

This is the safety net working correctly. The bot rejected the contradictory trade to protect you. No action needed. If you believe the new trade is correct, manually close the existing contradictory position in the Kalshi app first.

Issue 12. ImportError or ModuleNotFoundError on startup+

Cause

A required Python package is missing from your environment.

Fix

Make sure you activated your virtual environment before running the bot: source .venv/bin/activate (Linux/Mac) .venv\Scripts\activate (Windows) Then reinstall dependencies: pip install -r requirements.txt If the error mentions scipy, run: pip install scipy If problems persist, delete the .venv folder and recreate it from scratch.

Still stuck?

Email support@predictandprofit.io with your full error message. I personally read every email and respond within 48 hours. Before emailing, paste your error into Claude (claude.ai) or Gemini (gemini.google.com) first.