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
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.
actionandmarket_positionmust agree- Duplicate alerts within 2 seconds are dropped
- A powered-off strategy refuses the alert with a 403
{
"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 TopstepXCommon 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
By providing your email, you agree to our Terms of Service and Privacy Policy.