tdr_live_…). If you don’t, ask your account contact or generate one from the firm dashboard.
1. Set environment variables
All examples use the same placeholders. Export them once:2. Provision a trader account
CallPOST /v1/firm-control/accounts to create an evaluation or funded account for a trader. The response contains the account_id you’ll use for every Trading API call. Optional idempotency_key and price_paid record the purchase id and the amount paid.
3. Place a market order
Send a buy market order with anIdempotency-Key so the request is safe to retry.
order_id. The order moves through the lifecycle described in Order status lifecycle and will be filled asynchronously.
4. Read the fills
Once the order fills, the execution-level rows show up in the fills service.(account_id, fills.created) instead of polling. See Realtime overview.
5. Check the balance
The balances service returns equity, cash, margin, and unrealized P&L:Where to go next
Authentication
Firm API keys, JWT, idempotency, and route restrictions.
Place an order
All execution types, time in force, and conditional fields.
Provision accounts
The full provisioning request and response.
Realtime stream
Subscribe to firm-wide order, fill, and risk events.
Instrument IDs
The Trading API takes a UUIDinstrument_id, not a ticker symbol. Firm API keys cannot query /v1/instruments. To get IDs:
- Pull them from the instrument list shared during onboarding.
- Query Instrument Master with a staff JWT (terminal session).
- Cache the UUID per product in your integration.
/ES, /MES), but the API always identifies them by UUID.
