Private bots run on your machine through the TradeY CLI. Your strategy file, your infrastructure — TradeY is never in the execution path. In Beta 0 every run is a paper run: live market prices, simulated fills.
Build it once, export it, run it yourself. TradeY never executes the strategy and never touches your funds.
Author your strategy in the readable strategy language or in TypeScript. The same bot file format works for both surfaces.
Export to a single JSON file you own. It validates against the TradeY bot schema, so the CLI refuses a malformed file before anything runs.
Hand the file to tradey run --dry-run on your own machine. The CLI streams live market prices, runs your strategy on every closed candle with the same engine as the backtester, and writes an append-only journal of every simulated fill.
The CLI is built to refuse to do the wrong thing. In Beta 0 the strongest guarantee is the simplest one: this build cannot place a real order.
Paper trading uses public market data, so there is nothing to connect. When live trading returns, keys will be sealed with an Argon2id-derived key and AES-256-GCM (OWASP 2024 parameters) and the passphrase will never be persisted.
When key storage returns with live trading, tradey keys add will refuse keys whose advertised permissions include withdrawal, and the runner will check the key's permissions with the exchange before it starts.
tradey run --dry-run paper-trades on live market prices with simulated fills. In Beta 0 a bot bound to a real exchange refuses to start, whatever flags you pass — it stops and tells you to paper-trade instead. This build cannot place a real order.
Each running bot is its own OS process with its own client-order-id space and its own journal, so a crash in one bot does not take down another.
Everything you need to validate, backtest, paper-trade and inspect. tradey help <command> prints every flag and exit code.
tradey validate <bot.json> Schema + sanity checks for TypeScript and BotScript bots. Refuses bots without a script and public bots without an embedded backtest snapshot.
tradey backtest <bot.json> --candles <ohlcv> Deterministic offline backtest against a local OHLCV file. --write embeds the resulting snapshot back into the bot file.
tradey keys add <exchange> Coming soon — not in Beta 0, which never asks for exchange keys. When it returns it stores encrypted credentials in ~/.tradey/keys/, rejects withdraw permissions, and never accepts secrets on the command line.
tradey run <bot.json> --dry-run Paper trading on live public market data with the backtest engine's fills — the only way to run a bot in Beta 0. Bound the session with --max-candles for smoke tests.
tradey run <bot.json> --allow-experimental-live Not available in Beta 0. Live execution is disabled in this build and the flag has no effect. It returns, still behind an explicit opt-in, in a later beta.
tradey logs <run-id> --follow Streams the append-only order journal. Filter by lifecycle, queued, submitted, filled, canceled, or failed.
tradey status Lists running and recent runs derived from the journals, including runs that stopped unexpectedly.
Beta 0 is free and paper trading only. Live trading, the marketplace and vaults are not part of it — see the roadmap.