d631fe529be45312a0ef2c9f8bd93514f34a827b
K4LSH1_OPS
Multi-coin LLM-driven 15-minute binary options trading bot on Kalshi. Three independent bots trade DOGE, SOL, and ETH simultaneously using a two-tier LLM decision engine.
Architecture
┌─────────────────────────────────────────────────────────────────┐
│ K4LSH1_OPS FLEET │
├──────────┬──────────┬───────────────────────────────────────────┤
│ DOGE 🐶 │ SOL 🔮 │ ETH 💎 ← 3 independent processes │
│ .154 │ .71 │ .189 ← proxy-backed Binance intel │
│ doge.db │ sol.db │ eth.db ← isolated tick/decision DBs │
└──────────┴──────────┴───────────────────────────────────────────┘
│ │
▼ ▼
┌──────────────┐ ┌──────────────────┐
│ qwen3.5:4b │ borderline│ ornith:latest │
│ MacBook │──────────▶ │ GamingPC .186 │
│ (0.4s gate) │ escalate │ RTX 3070 (0.86s)│
└──────────────┘ └──────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ Kalshi V2 API (api.elections.kalshi.com) │
│ /portfolio/events/orders — bid/ask format │
└──────────────────────────────────────────────┘
Data Inputs Per Decision
Every 5-minute decision cycle feeds the LLM a full market snapshot:
| Source | Data | Frequency |
|---|---|---|
| Kraken | Spot price (per coin) | 20s tick |
| Binance (via proxy) | 24h change, 24h range, 24h volume | 5min cached |
| Kraken OHLC | 1m/5m/15m/1h/2h multi-timeframe trend | per cycle |
| SQLite ticks | RSI(14) on 1m and 5m timeframes | per cycle |
| Kalshi orderbook | YES/NO ask, spread, depth imbalance | per cycle |
| Fear&Greed Index | Market sentiment (0-100) | 5min cached |
| Mempool.space | BTC fast fee (sat/vB) | 5min cached |
| Orders DB | Per-coin 24h win rate, recent performance | per cycle |
| Volatility calc | Market regime (choppy/trending/normal) | per cycle |
Decision Engine
Two-Tier LLM Voting
- Fast gate —
qwen3.5:4bon MacBook (0.4s). Handles clear signals. If confident (≥0.70) → trade immediately. - Deep verify —
ornith:lateston GamingPC RTX 3070 (0.86s). Called when gate is borderline (<0.70 or unclear). Final verdict.
Safety Gates (checked before any order)
- RSI contrarian — RSI > 85 → auto-fade DOWN, RSI < 15 → auto-fade UP (no LLM needed)
- BTC macro correlation — Won't short alts when BTC 24h > +0.5% unless conf > 0.78
- Adaptive confidence — Win rate adjusts minimum confidence (loses → tighter, wins → relaxed)
- Self-adapting overrides — qwen analyzes last 20 resolved bets every 10 min, tunes thresholds
- Daily loss cap — Hard stop at configurable daily loss limit
- Market expiration guard — Verifies market open before placing order
Position Sizing
- Max $1.00 per trade (configurable via
max_spend_cents) - Confidence-scaled contracts: <0.70 = x1, 0.70-0.80 = x2, 0.80-0.90 = x3, >0.90 = x4
- Auto-capped so
contracts × price ≤ max_spend - Taker at ask when ≤ 55¢, maker at 50¢ when book is thin
Hedge Engine
Scans every cycle for open positions where buying the opposite side locks ≥8¢ profit. Auto-executes counter-orders.
Files
| File | Purpose |
|---|---|
bot.py |
Main bot — decision engine, Kalshi client, order placement |
dashboard.py |
Flask dashboard — fleet view at /fleet, single-coin at / |
test_bot.py |
Unit tests — momentum, RSI, hedge, decision logic, LLM parsing |
config.json |
Base config (shared defaults) |
doge.json / sol.json / eth.json |
Per-coin configs with proxies, LLM URLs, DB paths |
Quick Start
# Launch all 3 bots
cd ~/kalshi-bot
.venv/bin/python bot.py --config doge.json --lock doge &
.venv/bin/python bot.py --config sol.json --lock sol &
.venv/bin/python bot.py --config eth.json --lock eth &
# Launch dashboard
.venv/bin/python dashboard.py
# Run tests
.venv/bin/python test_bot.py
Dashboard
- Fleet view:
http://localhost:5053/fleet— all 3 coins, color-coded, PNL, decision trace - Single coin:
http://localhost:5053— controls, orderbook, momentum chart - API:
GET /api/fleet— all coins JSON,GET /api/state— single coin state
Infrastructure
| Component | Host | Purpose |
|---|---|---|
| MacBook | localhost:11434 | qwen3.5:4b fast gate |
| GamingPC | 10.30.20.186:11434 | ornith:latest deep verify (RTX 3070) |
| proxy1 | 10.30.20.154:3128 | DOGE Binance intel (Brazil exit) |
| proxy2 | 10.30.20.71:3128 | SOL Binance intel (EU exit) |
| proxy3 | 10.30.20.189:3128 | ETH Binance intel (Brazil exit) |
| Gitea | 10.30.20.149:3000 | Code repo |
Description
K4LSH1_OPS — multi-coin LLM bot: qwen fast-gate + ornith deep-verify, RSI contrarian, BTC macro gate, self-adapting thresholds, fleet dashboard
Languages
Python
99.5%
Shell
0.5%