GET Cash Balances
- NT8
- Tradovate
NinjaTrader 8
There is no equivalent NT8 endpoint that returns raw cash-balance rows across every account. Use GET Account to retrieve balance details for a specific NT8 account.
The Tradovate endpoint on this page is REST-only. The WebSocket API applies to supported NT8 add-on routes, not this Tradovate route.
Cash-balance snapshots Tradovate
Returns one {environment, userId, name, data} envelope for every linked identity. Each envelope's inner data array contains the raw Tradovate /cashBalance/list rows for that identity. For a single account's balance combined with its account record, /v1/api/tv/accounts/{account} is usually more convenient.
Endpoint
GET /v1/api/tv/cashbalances
Headers
| Name | Value |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer <token> |
Code examples
- Python
- JavaScript
- cURL
import requests
token = 'my-secret-token'
url = "https://app.crosstrade.io/v1/api/tv/cashbalances"
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json"
}
response = requests.get(url, headers=headers)
print(f"Response Code: {response.status_code}, Response Text: {response.text}")
const token = 'my-secret-token';
const url = "https://app.crosstrade.io/v1/api/tv/cashbalances";
fetch(url, {
method: "GET",
headers: {
"Authorization": `Bearer ${token}`,
"Content-Type": "application/json"
}
})
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error(err));
TOKEN="my-secret-token"
curl -X GET "https://app.crosstrade.io/v1/api/tv/cashbalances" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json"
Response
- 200
- 403
{
"success": true,
"data": [
{
"environment": "demo",
"userId": "12345",
"name": "Demo Trader",
"data": [
{
"id": 45678,
"accountId": 123456,
"timestamp": "2026-07-15T14:32:05.184Z",
"tradeDate": { "year": 2026, "month": 7, "day": 15 },
"currencyId": 1,
"amount": 52340.18,
"realizedPnL": 340.18,
"weekRealizedPnL": 812.50
}
]
}
]
}
Each outer row identifies the linked identity queried. The inner data rows are raw Tradovate cash-balance records and may carry additional fields. A per-identity upstream failure appears inside that envelope's data as an error object without dropping successful identities.
{
"success": false,
"error": "tradovate_not_linked"
}
Platform nuances
Authentication uses the same bearer token as the rest of the CrossTrade API and requires a plan with API access (Pro) plus a linked Tradovate account. Unlinked users receive 403 tradovate_not_linked.
This endpoint is REST-only and has no WebSocket equivalent.