polybot

Operations

Shadow mode: paper trading without the risk

How polybot's shadow mode lets you validate strategies end-to-end against real market data, with zero capital at risk — and why it's the default.

Published Apr 14, 2026


Every strategy in polybot boots in shadow mode. That’s not a soft default — it’s a discipline. This guide explains what shadow mode does, what it doesn’t, and how to use it to decide when a strategy is ready for live capital.

What shadow mode is

In shadow mode, the strategy runs the full pipeline:

  1. Subscribes to real market data.
  2. Generates real Signal objects.
  3. Submits to the executor.
  4. The executor reconciles the signal against a virtual order book built from the real quote snapshot at submission time.
  5. Virtual fills are recorded in the same analytics tables as live fills, with mode = 'shadow'.

Everything except the final venue API call is identical to live. The result is a P&L record that reflects your strategy’s performance as if it had been live — minus the market impact of your own orders.

What shadow mode is not

The promotion criteria

polybot doesn’t auto-promote a strategy from shadow to live. You do. Suggested criteria:

Run:

polybot strategy report arbitrage --mode shadow --window 30d
polybot strategy report arbitrage --calibration

When satisfied:

polybot strategy shadow arbitrage --disable   # moves to live
polybot strategy config arbitrage --max-size-usd 100   # start small

Scale size up in increments; monitor drift between shadow and live P&L.

Under the hood

The virtual order book simulates fills conservatively:

This is deliberately conservative. If your strategy works in shadow, it has a realistic chance of working live. If it barely works in shadow, it will lose money live.

Hybrid mode

Some strategies are safe enough to go live while others stay in shadow. polybot scopes shadow per strategy:

polybot strategy shadow arbitrage --disable      # live
polybot strategy shadow momentum --enable        # still paper
polybot strategy shadow ai_model --enable        # still paper

The MCP server also honours this: agent-invoked place_order inherits the strategy’s mode if invoked with strategy=<name>, otherwise falls back to the global MCP mode.

What to watch for in shadow

Shadow mode is the single highest-value feature polybot ships. It’s also the one most operators skip because it feels slow. Don’t skip it.

Need an agent system built like this?

Cryptuon builds production AI agents, MCP integrations, and trading systems. polybot is our open-source showcase.