Overview
Choose Your Platform
CrossTrade exposes two REST surfaces. They use the same Bearer token, but they reach different execution platforms and are not interchangeable.
| Platform | REST route prefix | How it executes | WebSocket support |
|---|---|---|---|
| NinjaTrader 8 | /v1/api | Requests pass through the CrossTrade Add-On in your running NT8 desktop instance. | Yes. Use the WebSocket API for RPC calls and live streams. |
| Tradovate | /v1/api/tv | Requests execute server-side against a linked Tradovate identity. NT8 does not need to be open. | No. Use the Tradovate REST API or Tv_* MCP tools. |
Every endpoint reference starts with NT8 and Tradovate tabs. Supported tabs contain that platform's endpoint, parameters, examples, response shape, and platform nuances. When no equivalent exists, the tab says so and points to the closest supported alternative. NT8 tabs keep their WebSocket RPC example as a separate final section.
What You Can Do
Shared REST resources cover accounts, positions, orders, executions or fills, and Account Manager watermarks. You can place and modify orders, flatten positions, and inspect account state on either platform.
NinjaScript strategies, NinjaTrader ATM templates, historical bars, session information, and NT8 data-feed quotes are NT8-only. The WebSocket API is also NT8-only and provides persistent RPC calls, live quotes, and P&L streaming.
Tradovate adds server-side identity status, cash balances, margin snapshots, contract lookup, and exchange reference endpoints. See the Tradovate API for its complete route catalog.
NinjaTrader 8 Setup
Every NT8 API request is forwarded to the CrossTrade add-on running inside your NinjaTrader instance. This means NT8 must be open and the add-on must be connected for NT8 API calls to reach your broker. The add-on executes the request on your local machine and returns the result.
To get started:
- Install and connect the CrossTrade add-on inside NinjaTrader
- Grab your Bearer token from the My Account page
- Include it as an
Authorization: Bearer <token>header on every request - Start making NT8 calls to
https://app.crosstrade.io/v1/api/
For Tradovate, link an identity under My Account, Brokers, then use routes beginning with https://app.crosstrade.io/v1/api/tv/. NinjaTrader and the CrossTrade Add-On are not required for those requests.
For authentication details, see Authentication. For rate limit specifics, see Rate Limiting.
NinjaTrader 8 Instrument Name Formats
Wherever an NT8 instrument field is accepted as a path parameter, query parameter, or body field, the API accepts multiple formats:
- Full dated form:
"ES 09-26"(always works) - Root symbol:
"ES"(resolves to the current front month) - TradingView continuous format:
"ES1!" - CME code format:
"ESU25","ESZ25" - Space-normalized form:
"ES SEP25","ES DEC25"
The add-on runs a three-step resolution: direct NT8 lookup, then a space-normalized fuzzy match against all loaded instruments, then a root-symbol front-month fallback. The examples throughout these docs use the full dated form for clarity, but any of the above will work anywhere an NT8 instrument is accepted. Tradovate symbol resolution is documented separately in the Tradovate API guide.
The warning Field in Responses
Some endpoints return a warning field alongside success: true. This indicates the request was processed, but an edge case was encountered — for example, a position that went flat during a cancel window, or a flatten call with no open positions to close. Always check for warning in addition to success if your integration needs to detect these cases.
Specs and Tooling for Developers
Machine-readable specs and AI-friendly resources, all served live from the API:
| Resource | URL | Format |
|---|---|---|
| OpenAPI 3.1 spec | /v1/api/openapi.json | JSON |
| OpenAPI 3.1 spec | /v1/api/openapi.yaml / download | YAML |
| Endpoint catalog | /v1/api/_endpoints | JSON |
| LLM index | /v1/api/llms.txt | Markdown |
| Full LLM reference | /v1/api/llms-full.txt | Markdown |
Drop the OpenAPI spec into Postman, Insomnia, or any OpenAPI-aware tool to get schema-aware request building and a request explorer for free. If you're using AI coding assistants (Claude, Cursor, Continue, …), the AI-Assisted Development guide walks through the hosted MCP server (Elite tier), AI-readable references, and drop-in rules templates.
If you run into issues or have questions, reach out on Discord.