[object Object]

← back to Ken

Ken: enforce safe/paper — autoTrader honors safe_mode + master enabled defaults OFF (no real orders without deliberate toggle)

6fc1f52cec130f25cb0de18a421acb2ddec89303 · 2026-07-10 11:15:35 -0700 · Steve

Files touched

Diff

commit 6fc1f52cec130f25cb0de18a421acb2ddec89303
Author: Steve <steve@designerwallcoverings.com>
Date:   Fri Jul 10 11:15:35 2026 -0700

    Ken: enforce safe/paper — autoTrader honors safe_mode + master enabled defaults OFF (no real orders without deliberate toggle)
---
 kalshi-dash/server.js | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/kalshi-dash/server.js b/kalshi-dash/server.js
index b4d2733..208a7ba 100644
--- a/kalshi-dash/server.js
+++ b/kalshi-dash/server.js
@@ -7219,7 +7219,7 @@ async function energyArbitrageScan(kalshiMarkets) {
 // AUTO-TRADER ($20 budget, risk-managed)
 // ══════════════════════════════════════════════
 const TRADE_CONFIG = {
-  enabled: true,               // Master kill switch
+  enabled: false,              // Master kill switch — OFF by default (safe/paper). Steve enables real trading deliberately.
   budget_cents: 2000,          // $20 total budget
   max_position_cents: 200,     // $2 max per trade
   max_open_positions: 5,       // Max concurrent positions
@@ -7306,6 +7306,13 @@ async function autoTrader(signals) {
       return; // Silent - no keys configured yet
     }
 
+    // SAFE/PAPER GUARD (Steve, 2026-07-10): the real Kalshi order path must NOT fire
+    // in safe mode. safe_mode defaults to TRUE, so real orders require an explicit
+    // safe_mode=false toggle. Paper portfolios (autoPortfolioTrade) are unaffected.
+    if (cfg.safe_mode ?? true) {
+      return; // safe/paper — market data + paper trading only, no real-money orders
+    }
+
     const state = await getTraderState();
 
     // Daily loss limit check

← a060e29 Ken: add captured_at to ken_market_snapshots (momentum query  ·  back to Ken  ·  Ken: gate manual create_order endpoint on safe_mode too (clo af4870c →