Take control of your trader onboarding with our comprehensive user management system. Create new users, set up their accounts, and get them trading quickly with our streamlined workflow.
Ready to onboard new traders? Our user creation process can help you set up complete trader profiles with the right permissions and subscriptions. Here’s what you’ll accomplish:
Best Practice: Use batched creation operations when possible, even for single users, as this provides significant efficiency gains over individual API calls.
The first step is creating a new user within your organization using the /user/createEvaluationUsers batched creation endpoint.
Endpoint: POST /user/createEvaluationUsers
Environment: Must be called from a LIVE URL (staging or production)
Important: Store the returned userId from successful user creation - this identifier is required for many subsequent user-related operations. It can smooth your operations to map these userId’s to your own internal concept of a user.
the /user/createEvaluationUsers endpoint accepts a tradovateSubscriptionPlanId field as an optional property. When the Eval Support team sets up your organization, they will create a Tradovate Subscription Plan instance unique to your firm. You can find this ID a few ways:
/tradovateSubscriptionPlan/listYou can get a list of all available subscription plans. However keep in mind, you should only use the plan associated with your firm. It should be named <YOUR FIRM NAME>_MONTHLY.
Alternatively, you may navigate to dashboards.tradovate.com (production) or dashboards.staging.ninjatrader.dev (staging) and find your organization subscription plan there:
tradovateSubscriptionPlans from the Repository drop-down.id and Limit set to 100+You should see a data-grid list of all subscription plans that are visible to your organization. From there, find the one labeled <YOUR PROP FIRM>_MONTHLY and record its ID.
Contact information is a technical requirement, however if you don’t collect this information before the user’s first login, then they will be prompted to enter it into our system at that time. It is advisable to collect this information and send it to our system to make the user’s first login experience smoother.
Endpoint: POST /contactInfo/updateContactInfo
Environment: LIVE URL
country == "US"false for new usersMarket Data is now managed through the T-Prop entitlement. However, users still need to sign the non-professional Market Data Agreement in order to be eligible for the the T-Prop entitlement. Before signing the agreement, attempts to add the entitlement will fail.
There are two ways to retrieve Market Data signature events: real-time websocket and REST API.
To receive the Market Data Agreement signature events in real-time, you need to setup a WebSocket and perform a syncRequest.
You can then listen for messages like the following:
Once received, you can call the userPlugin/addentitlementsubscription API endpoint:
Alternatively, you can find all the records of recent MD Agreement signatures using the following endpoint:
Note: In staging, use /deps?masterid=70. In production, be sure to use /deps?masterid=68. The custapp:nonpro-signed event ID is different in the two environments!
Once you process a Market Data Agreement, you should complete the signal. When you call the completeAlertSignal endpoint, it will mark the entity with a complete timestamp field. This will allow you to differentiate between completed and incomplete MD Agreement processes, ensuring your users are neither double-assigned nor skipped for T-Prop assignment.
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 the User Cancellation guide for detailed procedures.
After successful user creation, proceed with: