When you’re ready to onboard traders, this guide walks you through creating users, setting up evaluation accounts, and assigning entitlements.
Before you start, gather the following IDs. You’ll reuse them for every user and account you create.
Each organization has a unique Tradovate Subscription Plan. You’ll use this ID as the tradovateSubscriptionPlanId field when creating users.
To find your organization’s Tradovate subscription plan ID:
From the environment (staging or production) that matches where you’ll be creating accounts, call /tradovateSubscriptionPlan/list to get all available subscription plans. Use the plan associated with your firm, named \<YOUR FIRM NAME\>_MONTHLY.
Eval Support sets up template accounts for your organization based on your requirements. You’ll use the template account ID as the templateAccountId field when creating evaluation accounts.
To find your template account ID:
accounts from the Repository drop-down.name like "(?ium).*5K" OR name like "(?ium).*0K" (query examples production, staging)If you don’t already have template accounts set up for your organization, reach out to Eval Support. To create a template account or set of template accounts, provide the following:
RiskTimePeriod).Call /user/createEvaluationUsers to create new users (up to 100 in a single request). Use the Tradovate Subscription Plan ID from Prerequisites as the tradovateSubscriptionPlanId field.
This endpoint handles user registration and Tradovate subscription assignment in a single call; you don’t need to call signUpOrganizationMember or addTradovateSubscription separately.
Endpoint: POST /user/createEvaluationUsers
Environments: Live
userId and map it to your internal user records. You’ll need it for subsequent operations.createEvaluationUsers endpoint accepts an entitlementIds field, but do not pass Sim+ entitlement IDs (such as T-Prop) here. The entitlement must be assigned using the addEntitlementSubscription endpoint after the user signs the Market Data Agreement. See Step 5 for details.Add contact information for the user. If you skip this step, the user will be prompted to enter it on their first login.
Endpoint: POST /contactInfo/updateContactInfo
Environments: Live
country == "US"From the demo-api (staging) or demo (production) domain, call /user/createEvaluationAccounts to create new accounts and automatically assign them to users by user ID. Use the Template Account ID from Prerequisites as the templateAccountId field.
Endpoint: POST /user/createEvaluationAccounts
Environments: Demo
The response includes a tradingPermissionId. This endpoint creates the account and assigns a trading permission in one operation.
preTradeRisk and postTradeRisk fields in your createEvaluationAccounts request when applicable. This reduces the number of API calls compared to making a separate call to userAccountAutoLiq/update after account creation.Before you can assign the T-Prop entitlement, users must sign the non-professional Market Data Agreement. There are two ways to detect when a user signs:
Endpoint: POST /user/syncrequest
To receive Market Data Agreement signature events in real time, set up a WebSocket and perform a syncRequest.
You can then listen for messages like the following:
adminAlertId=70. In production, use adminAlertId=68. After the system confirms the user has contact info and has signed the Market Data Agreement, assign the T-Prop entitlement.
If you call addEntitlementSubscription before the user signs the Market Data Agreement, the call fails. It returns an HTTP 200 with the errorText “Live account is required”, meaning the user hasn’t signed the Market Data Agreement yet.
Endpoint: POST /userPlugin/addEntitlementSubscription
Environments: Live
Per CME Group policy, market data must not be accessed, distributed, or consumed in certain countries and regions. To learn more, see Restricted Countries.
When users fail evaluations or leave your program:
See Revoke and Cancel Users and Accounts for detailed instructions.
After you’ve created users and provisioned their accounts, continue with: