
Connect any strategy.Trade with firm capital.
Full REST + WebSocket API, algo trading & bot trading on every funded account
Every Velotrade account, from your first evaluation challenge to a fully funded account, includes full programmatic API access. Run algo strategies, bots, and automated systems with no extra fee and no approval process.
What you can build
The API covers the full execution stack. Place, modify, and cancel orders, stream live market data, and read real-time account metrics via WebSocket.
Algo trading engines
Rule-based EAs, systematic strategies, or fully autonomous execution systems. Written in any language.
Signal automation
Connect an external signal feed and route orders directly into your funded account on every trigger.
Real-time risk dashboards
Stream live equity, drawdown, and margin data via WebSocket to monitor account state from your own UI.
AI-assisted execution
Use machine learning models or AI outputs to drive order entry decisions. Treated the same as any other strategy.
Multi-account management
Orchestrate positions across multiple funded accounts from a single execution layer.
Quantitative strategies
Full systematic strategies with defined entry, exit, and sizing logic. No manual intervention required.
From challenge to live API in 4 steps
No separate application or key issuance. API access is available on evaluation and funded accounts as soon as your trading account is issued.
Start with any account.
Use your trading account credentials.
Reference the developer docs.
Trade and withdraw.
Developer docs
API integration docs
Use the developer portal for implementation details, authentication flow, order placement, and account-level data. Start with the main portal, then jump directly to the place-order reference when wiring up execution.
Developer portal
Full API documentation for REST endpoints, WebSocket feeds, authentication, and account integration.
https://dx.velotrade.com/developers/#/
Place order reference
Direct reference for order placement payloads, required fields, and request structure.
https://dx.velotrade.com/developers/#/DXtrade-REST-API?id=place-order
Starter example
Place an order
Use the docs on the left for authentication, then send orders to the documented place-order endpoint with your session token.
POST https://dx.velotrade.com/dxsca-web/accounts/{accountCode}/orders
Authorization: DXAPI <sessionToken>
Content-Type: application/json
{
"account": "your_account_code",
"orderCode": "client-unique-order-id",
"type": "MARKET",
"instrument": "BTC/USD",
"quantity": "0.01",
"positionEffect": "OPEN",
"side": "BUY",
"tif": "GTC"
}How Velotrade compares
Most prop firms restrict or discourage automated trading. Velotrade is built for traders who run serious systems.
| Feature | Velotrade | Most firms |
|---|---|---|
| Full REST + WebSocket API | ||
| Algo and bot trading permitted | Limited | |
| No extra fee for API access | ||
| No approval process required | ||
| AI-assisted execution allowed | Unclear | |
| Signal-based automation | Often restricted | |
| No mandatory stop-loss per trade | ||
| No consistency rule |
Connection & API error reference
The fastest fixes for the errors traders hit most when wiring up the DXtrade REST and WebSocket API. Full details are in the developer portal.
Login succeeds, then every call returns 409 SERVICE_ERROR
Login returns a valid session token, but every REST call and the WebSocket handshake afterwards returns 409. In almost every case this is not an access or provisioning problem — a disabled or unentitled account returns 401 or 403, not 409, and would not 409 on /ping. A 409 is a conflict, which points to a session collision or a wrong endpoint path, both of which you can resolve yourself.
Resolution steps
- 1Log out of the web platform completely and close any open mobile app session.
- 2Wait two to three minutes for the server-side session to clear.
- 3Re-authenticate via POST /dxsca-web/login to get a fresh token.
- 4Immediately call one lightweight endpoint (e.g. /ping) with the new token, with nothing else running.
Good to know
- REST does not require a live WebSocket session — the two are independent. You can call REST endpoints without opening a socket first.
- The streaming interface sits under the same base path as REST. A standalone path such as wss://<host>/ws is not valid and will not connect.
If it persists: If it persists, capture the full 409 response body. Any reason code or message string identifies exactly which server-side guard is firing — send it verbatim when you contact support.
Session timeoutMy session token keeps expiring mid-run.
429Requests suddenly start returning 429 Too Many Requests.
403 · code 99Modifying or cancelling an order returns 403.
412Order modify returns 412 Precondition Failed.
409 · code 100Placing an order returns 409 with error code 100.
WebSocketThe WebSocket won't connect or keeps closing.
Still stuck? Capture the full response body and reason code, then reach out — it pinpoints exactly which guard is firing.
Open developer docsFrequently asked questions
Common questions on API access, automation rules, and how to connect your strategy.
Algo & bot trading guideReady to run your system on a funded account?
Pass the challenge, get funded, and connect your API the same day.