PitBridge
Join the waitlist

MCP and AI agent infrastructure

Read-only, paper and live modes for an AI trading agent

A trading agent should not touch a real account on day one. PitBridge runs each account in one of three permission modes, read-only, paper or live, and a fresh install is paper only. Promoting to live is an operator step at the command line that the agent cannot take itself.

On this page

The fastest way to lose money with a trading agent is to point it at a real account before you know how it behaves. So the first question for any agent that can place an order is not “how do I connect it” but “what is it allowed to do right now”. PitBridge answers that with a permission mode set per account: read-only, paper or live. The mode is checked on every order, before a guardrail even runs, and a fresh install starts in the safe one.

Three modes, one gate

Each account runs in exactly one mode. The permission check sits early in the order pipeline, right after schema validation and before the guardrail engine, so the mode decides whether an order is even eligible to be checked.

  • read-only: the account never mutates a broker. Every read tool works, but any order-placing tool is refused, and so is close or flatten, because closing a position changes a real one. This is the mode for an agent that should watch and explain but touch nothing.
  • paper: orders are placed freely against a NinjaTrader simulation account such as Sim101. The agent can trade a whole session, hit guardrails, trip the kill switch and read the audit log, all with no real money at risk. This is where a new agent lives.
  • live: orders can reach a real account, but only after an operator has armed live at the command line. Until then, a live-configured account behaves as if it cannot trade.

Why a fresh install is paper only

Install PitBridge and run it with no config at all, and it boots a zero-config demo sandbox: a fake account, every guardrail on, live locked, and no broker link. It cannot place a real order because there is nothing real to place one against. That is deliberate. An agent can call get_accounts and get_guardrail_status and see the whole safety surface working before you have configured anything.

bash
# no config needed: boots a safe paper demo sandbox
uvx pitbridge mcp

# scaffold a real config when you are ready
uvx pitbridge init            # writes ~/.pitbridge/config.toml
# then set your account's mode under [accounts.<name>]

When you scaffold a real config, each account carries its own mode. Leave a new one on paper and point it at a simulation account. Everything an agent needs to prove itself, order flow, blocks, the kill switch, the audit trail, happens here first.

Promoting to live is an operator step, not an agent tool

This is the line that matters. There is no MCP tool, no REST call and no config value the agent can reach that moves an account from paper to live. Arming live is a separate ritual you run yourself at the command line. And in the open-source core, that ritual refuses, because live execution is gated behind a provider plugin that the core does not ship.

bash
$ pitbridge arm-live
arm-live refused: no LiveExecutionProvider plugin is installed.
Live trading is gated behind the private pitbridge-pro plugin. This
v0 build is paper/sim only, nothing to arm.

The refusal is the feature. An agent that has been prompt-injected, jailbroken or simply told to “go live” has no capability to do so, because the capability does not exist where the model runs. The order pipeline honors the mode gate structurally, and an acceptance test fails the build if any module outside the pipeline can reach the order-submit path.

Check the mode before you connect an agent

You never have to guess which mode an account is in. pitbridge doctor prints a line per section, including each account’s mode and the state of the live gate, so you can confirm live is locked before an agent ever attaches.

  • Run pitbridge doctor and read the accounts section: each account shows its mode.
  • Confirm the live gate reads locked, so arm-live has nothing to arm.
  • Keep a new agent on a paper account pointed at a simulation account such as Sim101.
  • Watch a full session in paper: order flow, a blocked order, the kill switch, the audit log.
  • Only after that, and only with your firm's rules confirmed, consider a live account.

The short version

A trading agent should earn its way to a real account. Read-only lets it watch, paper lets it trade a simulation account with the full guardrail set live, and live stays locked behind an operator step the agent cannot take. A fresh install is paper only by design, so the safe path is the default path, not something you have to remember to switch on.

Read the pillar: MCP for futures trading

Questions

What mode does a fresh install start in?

Paper. A new install runs in paper mode with every guardrail on and live execution locked. It can exercise the full safety kernel against a simulation account, but it cannot place a real order until an operator arms live at the command line.

Can the agent switch itself from paper to live?

No. There is no MCP tool, REST call or config setting the agent can reach that promotes a mode. Arming live is a separate operator ritual at the command line, and in the open-source core it refuses because there is no live provider to arm.

What is the difference between read-only and paper mode?

Read-only never mutates a broker at all, so it blocks even close and flatten, because those change a real position. Paper mode places orders freely against a simulation account, so an agent can trade a full session with no real money at risk.

Does read-only still let me see positions and P&L?

Yes. Read-only permits every read tool: accounts, positions, orders, account state and guardrail status. It only refuses order-placing and position-changing tools, so an agent can watch and explain without touching anything.

How do I check which mode an account is in?

Run pitbridge doctor. It prints a PASS, WARN or FAIL line per section, including each account's mode and the live gate, so you can confirm at a glance that live is locked before you connect an agent.

Is paper mode safe on a machine with a funded account configured?

The mode is per account. A paper account cannot place a real order regardless of what else is configured, because the permission check runs before the order can reach the broker. Still, keep an agent on a simulation account until you have watched how it behaves.

What happens to an order the mode blocks?

It is refused with a structured result and a reason code, and the refusal is written to the append-only audit log. The agent session survives the refusal, so a blocked order does not crash the run.

PitBridge is in development. NinjaTrader 8 is first.

Tell us your platform and we email you when your setup is supported. Nothing else.