Skip to main content

Test mode

Test mode lets you build and try your integration before you become a partner. You get the Partners dashboard, test API keys and the real hosted Connect flow, all with simulated members. Nothing is billed, and no real CrossTrade accounts or Tradovate logins are created or touched.

How you get it​

  1. Apply. Send a Partner application. CrossTrade reviews the fit and discusses pricing with you.
  2. The CrossTrade team unlocks your offer. Once you are approved, we set a Partner Program offer on your CrossTrade account. It appears in My Account, Partner with your pricing.
  3. Open Partners. The same moment, a Partners row with a TEST marker appears in the dashboard sidebar. Open it and you are in test mode. There is nothing to buy or accept first.

Test mode stays open for as long as you hold the offer and have not become a partner.

What works in test mode​

The dashboard has the same four pages as a live partner (Overview, Members, API Keys and Settings), each with a test mode banner, and the same onboarding steps: set a business name, create your API client and create your first member.

SurfaceIn test mode
Partner API, all 12 endpointsWorks, against your test data
OAuth at /v1/oauth/token and /v1/oauth/revokeWorks: client_credentials, authorization_code with PKCE, refresh and revoke
Hosted ConnectThe real portal with your branding. The Tradovate sign-in is simulated (below)
Trading API GET /v1/api/tv/accounts with a member tokenWorks: lists the sample accounts the member shared, so you can prove a member key works
Management API reads with a member tokenWorks: discovery, audit records, and listing or reading monitors, copiers and ATM templates
Every other Trading API call403 test_mode_unsupported
Management API writes403 test_mode_unsupported
Member streams403 test_mode_unsupported
WebhooksNot available. Poll GET /v1/api/partner/events instead
BillingNothing is billed. GET /v1/api/partner/usage returns estimates (total_is_estimate: true), and there is no billing portal
Partner AgreementYou accept it when you go live

Members can grant tv:read, tv:trade and manage:read in test mode. Because Trading commands and Management writes are refused, tv:trade lets you test the consent screen, not order entry.

Test keys​

Test keys use the same base URLs as live keys, so your code switches between test and live by changing only the client id and secret.

CredentialTest prefixLive prefix
Client idxt_test_client_...xt_client_...
Client secretxt_test_cs_...xt_cs_...
Access tokenxt_test_at_...xt_at_...
Refresh tokenxt_test_rt_...xt_rt_...

Test keys reach only your test data, and live keys never reach it. In test mode, GET /v1/api/partner/me returns a partner id starting with ptest_, stripe_mode: "test", livemode: false and live_enabled: false, and shows test mode's own request budgets under budgets.

The Connect walkthrough​

A test member's Connect link opens the real hosted Connect page, with your business name and branding, and walks through every step the member sees live: continue, the terms, linking Tradovate, choosing logins and allowing your app. Pickup and redirect delivery of the authorization code work as they do live, and you exchange the code for a member token the same way.

The Tradovate step is simulated. Instead of a Tradovate sign-in, the page offers a button that links a sample login:

EnvironmentSample loginSample accounts
DemoDEMO12345678DemoAccount, PROP1234, PROP1235
LiveLiveAccount1LiveAccount1, LiveAccount2

Limits​

  • Up to 25 test members. Revoked members count toward the 25. Each test member is deleted 7 days after you create it, which frees its place; reopening a member does not extend it, and the deletion sends no event.
  • The test workspace ends after 7 days without activity, or 30 days after it started, whichever comes first. That removes everything in it: business name, branding, logo, API client, members and events. Your next visit to Partners starts a fresh workspace, and the old test keys stop working.
  • The events feed keeps the most recent 100 events.

Going live​

When you are ready, choose Become a Partner in My Account, Partner, accept the Partner Agreement and check out. Your Partners dashboard switches to live straight away.

Nothing carries over to live

Test data is never moved to your live account. When you go live you set up again from the start:

  • your business name, which is permanent once set live (the test one reserved nothing);
  • your branding, logo and redirect URIs;
  • a new API client, with a live client id and secret;
  • your webhook, which test mode does not offer;
  • your members, created for real.

Your integration code does not change. The endpoints and response shapes are the same, so you swap the test client id and secret for the live ones.

Errors only test mode returns​

Test mode also returns the live error codes in Errors, with the same response shape.

StatusCodeMeaning
403test_mode_unsupportedThis call is not available in test mode; detail says what to use instead
403test_mode_unavailableTest mode is switched off for now; try again later
404test_mode_endedThe test workspace ended while the request ran; open Partners to start a fresh one
409test_member_capYou have 25 test members; each is deleted 7 days after you create it
409test_capacity_reachedYou reached another test mode limit, such as new idempotency keys for the day; wait for older test data to expire