← Back to Skills Marketplace
adlai88

Kalshi Weather Trader

by AD88 · GitHub ↗ · v1.0.6 · MIT-0
cross-platform ⚠ suspicious
472
Downloads
0
Stars
1
Active Installs
7
Versions
Install in OpenClaw
/install kalshi-weather-trader
Description
Trade Kalshi weather markets using NOAA forecasts via Simmer SDK and DFlow on Solana. Port of the popular polymarket-weather-trader. Use when user wants to t...
README (SKILL.md)

Kalshi Weather Trader

Trade temperature markets on Kalshi using NOAA forecast data, via DFlow on Solana.

This is a template. The default signal is NOAA temperature forecasts — remix it with other weather APIs, different forecast models, or additional market types (precipitation, wind, etc.). The skill handles all the plumbing (market discovery, NOAA parsing, trade execution, safeguards). Your agent provides the alpha.

Powered by DFlow. Kalshi trades execute via DFlow's Solana-based prediction market infrastructure. KYC verification through Proof is required for buys.

When to Use This Skill

Use this skill when the user wants to:

  • Trade weather markets on Kalshi (not Polymarket)
  • Set up automated temperature trading on Kalshi
  • Check their Kalshi weather trading positions
  • Configure trading thresholds or locations

Setup Flow

When user asks to install or configure this skill:

  1. Install the Simmer SDK

    pip install simmer-sdk
    
  2. Ask for Simmer API key

    • They can get it from simmer.markets/dashboard → SDK tab
    • Store in environment as SIMMER_API_KEY
  3. Ask for Solana private key (required for live trading)

    • This is the base58-encoded secret key for their Solana wallet
    • Store in environment as SOLANA_PRIVATE_KEY
    • The SDK uses this to sign transactions client-side automatically
  4. Verify KYC

    • Required for Kalshi buys (not sells)
    • Complete at dflow.net/proof
    • Check status: curl "https://api.simmer.markets/api/proof/status?wallet=YOUR_SOLANA_ADDRESS"
  5. Fund the wallet

    • SOL on Solana mainnet for transaction fees (~0.01 SOL)
    • USDC on Solana mainnet for trading capital
  6. Ask about settings (or confirm defaults)

    • Entry threshold: When to buy (default 15¢)
    • Exit threshold: When to sell (default 45¢)
    • Max position: Amount per trade (default $2.00)
    • Locations: Which cities to trade (default NYC)
  7. Save settings to environment variables

  8. Set up cron (disabled by default — user must enable scheduling)

Configuration

Setting Environment Variable Default Description
Entry threshold SIMMER_WEATHER_ENTRY_THRESHOLD 0.15 Buy when price below this
Exit threshold SIMMER_WEATHER_EXIT_THRESHOLD 0.45 Sell when price above this
Max position SIMMER_WEATHER_MAX_POSITION_USD 2.00 Maximum USD per trade
Max trades/run SIMMER_WEATHER_MAX_TRADES_PER_RUN 5 Maximum trades per scan cycle
Locations SIMMER_WEATHER_LOCATIONS NYC Comma-separated cities (NYC, Chicago, Seattle, Atlanta, Dallas, Miami)
Binary only SIMMER_WEATHER_BINARY_ONLY false Skip range-bucket events, only trade binary yes/no markets
Smart sizing % SIMMER_WEATHER_SIZING_PCT 0.05 % of balance per trade
Slippage max SIMMER_WEATHER_SLIPPAGE_MAX 0.15 Skip trades with slippage above this (0.15 = 15%)
Min liquidity SIMMER_WEATHER_MIN_LIQUIDITY 0 Skip markets with liquidity below this USD amount (0 = disabled)

Supported locations: NYC, Chicago, Seattle, Atlanta, Dallas, Miami

Quick Commands

# Check account balance and positions
python scripts/status.py

# Detailed position list
python scripts/status.py --positions

API Reference:

  • Base URL: https://api.simmer.markets
  • Auth: Authorization: Bearer $SIMMER_API_KEY
  • Portfolio: GET /api/sdk/portfolio
  • Positions: GET /api/sdk/positions

Running the Skill

# Dry run (default — shows opportunities, no trades)
python weather_trader.py

# Execute real trades
python weather_trader.py --live

# With smart position sizing (uses portfolio balance)
python weather_trader.py --live --smart-sizing

# Check positions only
python weather_trader.py --positions

# View config
python weather_trader.py --config

# Quiet mode — only output on trades/errors (ideal for high-frequency runs)
python weather_trader.py --live --smart-sizing --quiet

How It Works

Each cycle the script:

  1. Fetches active weather markets from Simmer API
  2. Groups markets by event (each temperature day is one event)
  3. Parses event names to get location and date
  4. Fetches NOAA forecast for that location/date
  5. Finds the temperature bucket that matches the forecast
  6. Safeguards: Checks context for flip-flop warnings, slippage, time decay
  7. Trend Detection: Looks for recent price drops (stronger buy signal)
  8. Entry: If bucket price \x3C threshold and safeguards pass → BUY
  9. Exit: Checks open positions, sells if price > exit threshold
  10. Tagging: All trades tagged with sdk:kalshi-weather for tracking

Safeguards

Before trading, the skill checks:

  • Flip-flop warning: Skips if you've been reversing too much
  • Slippage: Skips if estimated slippage > 15%
  • Time decay: Skips if market resolves in \x3C 2 hours
  • Market status: Skips if market already resolved
  • Kalshi maintenance: Kalshi's clearinghouse has a weekly maintenance window on Thursdays 3:00-5:00 AM ET — orders during this window will fail

Disable with --no-safeguards (not recommended).

Troubleshooting

"Safeguard blocked: Severe flip-flop warning"

  • You've been changing direction too much on this market
  • Wait before trading again

"Slippage too high"

  • Market is illiquid, reduce position size or skip

"No weather markets found"

  • Weather markets may not be active (seasonal)
  • Make sure you've imported Kalshi weather markets first: POST /api/sdk/markets/import/kalshi

"KYC verification required"

  • Complete verification at dflow.net/proof
  • Only required for buys, not sells

"SOLANA_PRIVATE_KEY not set"

  • The SDK signs transactions automatically when this env var is present
  • Fix: export SOLANA_PRIVATE_KEY=\x3Cyour-base58-secret-key>

"Insufficient SOL for transaction fees"

  • Fund your Solana wallet with at least 0.05 SOL for gas

"API key invalid"

  • Get new key from simmer.markets/dashboard → SDK tab
Usage Guidance
This skill implements a coherent Kalshi weather trading bot, but before installing you should: - Verify provenance: the source/homepage is unknown. Prefer packages with an official repo or maintainer. Review the simmer-sdk package separately (pip package ownership and code). - Use a dedicated Solana wallet: supply a wallet with minimal funds and USDC set aside for trading (not your primary holdings). Treat SOLANA_PRIVATE_KEY as high-risk — environment variables are convenient but can be leaked in some environments. Consider using a hardware wallet or an ephemeral signing solution if available. - Dry-run first: run python weather_trader.py (dry run) and scripts/status.py to confirm behavior before using --live. - Inspect/lock automation: do not enable cron/autonomous runs until you trust the code and test trade-safety checks. If your platform can limit a skill's permissions or require manual confirmation for trades, enable those protections. - Note the metadata mismatch: the top-level registry item omitted required env vars even though clawhub.json and SKILL.md declare them — that inconsistency should be clarified by the publisher. If you want higher confidence, ask the publisher for a source repo or signed release, or run the code in an isolated environment with a throwaway wallet first.
Capability Analysis
Type: OpenClaw Skill Name: kalshi-weather-trader Version: 1.0.6 The skill is a functional weather-trading bot that uses NOAA forecasts to trade on Kalshi via the Simmer SDK and DFlow on Solana. It requires the user to provide a base58-encoded 'SOLANA_PRIVATE_KEY' and 'SIMMER_API_KEY' to be stored as environment variables. While these are risky capabilities required for the stated purpose of automated trading, the practice of storing raw private keys in environment variables is a significant security vulnerability. The code in 'weather_trader.py' and 'scripts/status.py' appears to align with the described functionality and communicates only with expected endpoints (api.simmer.markets and api.weather.gov), but the high-privilege credential requirement warrants a suspicious classification.
Capability Tags
cryptorequires-walletcan-sign-transactionsrequires-sensitive-credentials
Capability Assessment
Purpose & Capability
The skill's code and SKILL.md consistently require a SIMMER_API_KEY and a SOLANA_PRIVATE_KEY for signing trades, which is coherent with a trading bot. However, the registry-level 'Requirements' block at the top of the record claims 'Required env vars: none' while clawhub.json and SKILL.md declare both SIMMER_API_KEY and SOLANA_PRIVATE_KEY. That metadata mismatch is an incoherence that could mislead automated installers or users.
Instruction Scope
Runtime instructions are focused on the stated purpose: installing simmer-sdk, providing an API key, providing a Solana private key, verifying KYC, funding the wallet, and optionally enabling cron. All network calls in the code (simmer.markets API, NOAA/weather.gov, dflow.net proof URL) match the documented behavior. The SKILL.md instructs storing private keys in environment variables (with a warning) — this is required for client-side signing but is a sensitive action and should be acknowledged by the user.
Install Mechanism
This is an instruction-only skill (no remote downloads). The only external package required is simmer-sdk (pip). That is a proportionate install mechanism for a Python trading client. No downloaded archives, URL shorteners, or unknown remote installers are used.
Credentials
Requesting SIMMER_API_KEY and SOLANA_PRIVATE_KEY is functionally necessary for a self-custodial trading bot that signs Solana transactions. That said, a Solana private key is high privilege (can move funds) — the skill legitimately needs it, but users must not supply mainnet keys unless they accept the risk. The code also reads some optional env vars (TRADING_VENUE, AUTOMATON_MAX_BET and several config aliases) which are reasonable for tuning.
Persistence & Privilege
always:false and autostart:false. The clawhub.json indicates the skill can be managed/automated (automaton.managed = true) and the platform allows autonomous invocation by default. Combined with the private key requirement, autonomous runs would allow the skill to place real trades — this is expected for a trading skill but increases blast radius, so enable scheduling/autonomy only after trust and testing.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install kalshi-weather-trader
  3. After installation, invoke the skill by name or use /kalshi-weather-trader
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.6
Experiment: apply flagship fix pattern (envVars + primaryEnv in both SKILL.md frontmatter and clawhub.json). Testing whether this clears the VT suspicious flag or only addresses LLM scanner complaints.
v1.0.5
Add pip install simmer-sdk to setup flow
v1.0.4
Add auto_redeem() call at start of each cycle for external wallet support
v1.0.3
- Improved error messaging in weather_trader.py for better debugging and user clarity. - No updates to documentation or user-facing commands required.
v1.0.2
- Minor code update in weather_trader.py; no changes to documentation or user-facing features. - Internal improvements only; skill usage and setup remain unchanged.
v1.0.1
- Minor internal update to weather_trader.py; no changes to user-facing documentation or functionality. - SKILL.md remains unchanged in content; version stays at 1.0.0.
v1.0.0
Kalshi Weather Trader v1.0.0 - Initial release: trade Kalshi weather markets using NOAA forecasts via Simmer SDK and DFlow on Solana. - Supports automated trading, market discovery, NOAA forecast parsing, and live trade execution. - Customizable entry/exit thresholds, position sizing, city selection, and other trading parameters. - Includes safeguards for slippage, KYC, time decay, and flip-flop detection. - Provides commands to check balances, positions, and perform dry runs or live trades. - Requires Simmer API key, Solana private key, KYC verification, and wallet funding to operate.
Metadata
Slug kalshi-weather-trader
Version 1.0.6
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 7
Frequently Asked Questions

What is Kalshi Weather Trader?

Trade Kalshi weather markets using NOAA forecasts via Simmer SDK and DFlow on Solana. Port of the popular polymarket-weather-trader. Use when user wants to t... It is an AI Agent Skill for Claude Code / OpenClaw, with 472 downloads so far.

How do I install Kalshi Weather Trader?

Run "/install kalshi-weather-trader" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Kalshi Weather Trader free?

Yes, Kalshi Weather Trader is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Kalshi Weather Trader support?

Kalshi Weather Trader is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Kalshi Weather Trader?

It is built and maintained by AD88 (@adlai88); the current version is v1.0.6.

💬 Comments