For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
The Tradovate Partner API is split into two main environments: Development and Production. Each environment has two domains: LIVE and DEMO. Understanding these environments is crucial for building a reliable integration.
Quick Start
Development Environment
Use this for testing and development:
API Base: https://demo-api.staging.ninjatrader.dev/v1 (DEMO) or https://live-api.staging.ninjatrader.dev/v1 (LIVE)
WebSocket: wss://demo-api.staging.ninjatrader.dev/v1/websocket or wss://live-api.staging.ninjatrader.dev/v1/websocket
Client Access: https://trader.staging.ninjatrader.dev/ or https://web.staging.ninjatrader.dev/
Production Environment
Use this for live operations:
API Base: https://demo.tradovateapi.com/v1 (DEMO) or https://live.tradovateapi.com/v1 (LIVE)
WebSocket: wss://demo.tradovateapi.com/v1/websocket or wss://live.tradovateapi.com/v1/websocket
Client Access: trader.tradovate.com or web.ninjatrader.com
Environment Details
Development Environment
This is your testing environment for API integration and development work. You should use this environment for:
Testing your integration before going live
Experimenting with new features
Debugging issues without affecting real users
Production Environment
This is your live environment for real client operations and real trading. Only use this environment when:
You’re ready to serve actual customers
Your integration has been thoroughly tested
You’re confident in your implementation
Domain Types
Understanding the difference between LIVE and DEMO domains is crucial:
LIVE: This environemnt represents real trading with actual money and positions. Any live accounts you own will show up in this environment.
This environment must be used to manage certain entities like tradovate subscriptions, market data subscriptions, and user plugins.
DEMO: This represents simulated trading for simulation and evaluation purposes. All of your sim accounts will show up in this environment.
Client Access Points
Your users will access their accounts through these client applications:
These are your development point-of-access for clients. When you create a user, you can test their experience using one of these clients.
Production Clients
Tradovate: trader.tradovate.com
NinjaTrader: web.ninjatrader.com
These are your production point-of-access for real clients. When a user signs up, they can access their evaluation accounts via one of these clients, or the Tradovate or NinjaTrader standalone applications. They can also access via the TDV or NT mobile apps.
Admin Dashboards
Development: dashboards.staging.ninjatrader.dev
Production: dashboards.tradovate.com
These are the development and production admin dashboards apps, respectively. You’ll use these to manage your users and monitor your integration.
API Base URLs
Development Environment
Development Simulation URL: https://demo-api.staging.ninjatrader.dev/v1
Development LIVE URL: https://live-api.staging.ninjatrader.dev/v1
Production Environment
Production Simulation URL: https://demo.tradovateapi.com/v1
Production LIVE URL: https://live.tradovateapi.com/v1
WebSocket URLs
Real-Time User Data WebSockets
Development
wss://demo-api.staging.ninjatrader.dev/v1/websocket OR
Use of live or demo URLs will give real-time updates for their respective environments.
Production
wss://demo.tradovateapi.com/v1/websocket OR
wss://live.tradovateapi.com/v1/websocket
Market Data WebSockets
Development
wss://md-api.staging.ninjatrader.dev/v1/websocket
Production
wss://md.tradovateapi.com/v1/websocket
Market Replay WebSockets
Development
wss://replay.staging.ninjatrader.dev/v1/websocket
When using a Market Replay Socket, forward all messages (both market data and real-time user data) through the replay socket. Expect all messages from the replay session to come through the replay socket.
Production
wss://replay.tradovateapi.com/v1/websocket
Environment Differences
LIVE Environment Capabilities
Change Tradovate Subscription details
Cancel or renew subscriptions manually
Immediately expire a subscription
Change user plugins (such as TradingView)
SIM Environment Capabilities
Change sim accounts’ permissions
Adjust sim accounts’ max-net liquidities
Change the Risk Category of a sim account, useful for:
Applying a halted-trading category for an individual account
Upgrading an account to a new type
Changing an account’s baseline risk rules
Halt trading for an entire category (useful to stop all, or specific categories of users from trading in an emergency)
Return an account to its SOD state at a given date (by session date, not calendar date)
Best Practices
Environment Selection
Start with Development: Use the Development environment for all testing and integration work
Test thoroughly: Only move to Production when you’re confident in your implementation
Use DEMO first: Test with DEMO domains before using LIVE domains, even in Production
URL Configuration
Store URLs as variables: Store environment URLs as configuration variables in your application
Use environment-specific credentials: Use different authentication credentials for each environment
Handle errors gracefully: Implement proper error handling for environment-specific responses
WebSocket Connections
Choose the right URL: Use the appropriate WebSocket URL for your environment and data type
Implement reconnection logic: WebSocket connections can drop, so implement proper reconnection logic
Handle environment differences: Different environments may have different connection requirements