TopstepX

TopstepX API: automating without building the execution layer

Most people searching for the TopstepX API want a strategy placing orders on a funded account. Writing against the API is one route, and a longer one than it first looks.

Quanify routes webhook strategies to TopstepX accounts, connected with your username and an API key. It sends market orders there; limit, stop and bracket orders are not available yet.

What automating TopstepX takes

Something has to hold a live session, receive your strategy's signal, size it, check it and place the order, including at 3am without you. A first version takes an afternoon. Making it survive a month of real sessions takes much longer.

  • Executions, not orders: one order fills in pieces
  • An expired token and a revoked one need opposite responses
  • Contracts roll, so a hard-coded id breaks at expiry
Build it yourselfrough estimate
Authenticate, place an orderGet a token, send an order, see it fill. This is the afternoon.Easy
Keep the session aliveTokens expire and get revoked. A loop that retries a dead token forever is a silent outage that looks like a network problem.Hard
Track what filledOne order produces several execution reports. Key on the order id instead of the execution and your position tracking drifts.Hard
Address each funded accountOne login can hold several accounts. Treat the login as the unit and per-account sizing becomes impossible later.Hard
Check guards before the orderSize and position checks have to run before the order leaves, not after the fill.Hard
Run it when you are asleepWhatever holds the session has to be awake. This is where the VPS bill starts.Ongoing

Automate with a webhook instead of the API

A Quanify strategy is a URL that accepts a POST, so a TradingView alert, a Python script or your own service can drive it. No SDK, client library or OAuth flow. It runs on Tradovate and TopstepX accounts; on TopstepX it sends market orders.

  • action and market_position must agree
  • Duplicate alerts within 2 seconds are dropped
  • A powered-off strategy refuses the alert with a 403
Webhook documentation
TradingView alert message
{
  "action": "{{strategy.order.action}}",
  "ticker": "{{ticker}}",
  "contracts": "{{strategy.order.contracts}}",
  "market_position": "{{strategy.market_position}}"
}

Guards a funded account needs before the order

The API gives you none of these. Each has to run before the order leaves.

Fixed contract size
A size set on the strategy overrides the alert's quantity, so a signal source that doesn't know your account can't size it.
Allow 2+ entries, off
A signal that would add to a same-direction position is refused. Exits and reversals still go through.
Stale-fill refusal
A fill older than 30 seconds is refused instead of acted on late.
Mute
Pause one account without unlinking it or touching the others.

When to build on the TopstepX API yourself

Build it if you need order types or lifecycle control beyond entry, exit and size, if your logic reacts to the order book, or if you're building a product. The first example is easy; a session that stays healthy for weeks takes far longer.

Either way, check Topstep's current rules on automation for the account before you arm it.

ProjectX API, the platform under TopstepX
Questions

Common questions

Short answers to what traders ask first. Anything else, the Help Center has it.

Does TopstepX have an API?

Topstep publishes its own developer documentation for TopstepX, and what it exposes is set by them rather than by any third party. If you intend to build against it directly, their current docs are the authority on endpoints and access.

Do I need the API to automate a TopstepX account?

Not if a service holds the connection and places orders from a webhook. Quanify works this way on Tradovate and TopstepX: connect the TopstepX account with your username and an API key from TopstepX → Settings → API.

What is the hardest part of building your own execution layer?

Keeping the session alive across token expiry and revocation, handling several execution reports per order, resolving contracts across rolls, and running it somewhere awake at 3am.

Can one strategy trade several TopstepX accounts?

Yes. Each account on the login is handled individually, with its own whole-number multiplier, the same as on Tradovate.

Do I need a VPS?

Not with a hosted service, which holds the session on its servers. A self-built layer needs somewhere that stays awake.

Is automated trading allowed on a Topstep account?

Topstep's rules for your account type decide, and firms treat automation and copying separately. Read the current rulebook and ask support in writing if a clause is unclear.

More on automation

Start on a simulated account. Go live when it earns it.

  • Set up in minutes
  • Nothing to download
  • Paper account for testing