Tools
Brokers and live trading
Broker connections start read-only. A live order is possible only through a broker you authorize, inside a mandate you set, with a kill switch that stops everything.
Connectors
19 connectors with 56 profiles. A profile is paper or live, and read-only or order-enabled.
| What orders can do | Brokers |
|---|---|
| Live orders inside a mandate, plus paper | Alpaca, Binance, eToro, Futu, MetaTrader 5, OKX, Tiger |
| Live orders inside a mandate | Robinhood (Agentic Trading, via the broker's MCP) |
| Paper orders only | Dhan, KIS, Longbridge, Shoonya, Upbit, Zerodha |
| Read-only | IBKR, Scalable Capital, Toss Securities, Trading 212 |
A broker that exposes no way to tell a paper account from a live one at run time is capped at paper and read-only.
Connecting a broker
vibe-trading connector list
vibe-trading connector setup okx-live-sdk-readonly --connection-id main-okx --label "Main OKX"
vibe-trading connector check
The terminal asks for secrets in a hidden prompt and stores them in the OS keyring, then runs a read-only check. In the web UI: Portfolio → Manage accounts → connection center. Never paste broker keys into a chat.
Portfolio
The read-only Portfolio page combines the holdings of the connections you pick. Every holding names its source; a source that fails is shown as an error and left out of the totals, never carried forward from an old snapshot. The same view is in the terminal: vibe-trading portfolio show, refresh, sources.
The live-trading mandate
- When you ask for live trading, the agent proposes two to four mandate profiles, each clamped to what your account allows.
- You pick one and commit it yourself, in the web UI's confirm dialog or in the terminal. Where one broker login reaches several accounts, you also choose the account it binds to.
- The mandate fixes the maximum order size, total exposure, leverage, instrument types, trades per day, the eligible universe and an expiry date.
- Inside it the agent trades without asking per order. An order that would break a limit is refused and pauses for your re-authorization.
Kill switch and audit
/halt (or /stop) in the terminal, or the halt control in the web UI, stops all live activity at once; /resume clears it. Every live action is written to a hash-chained audit ledger, so an edited or deleted record is detectable.