A prop firm API sandbox is a separate test account where your bot sends real API calls against virtual funds. On QATS it is free: sign up, verify your email and create a sandbox with $100,000 of virtual funds. No paid challenge is required.
This guide walks through creating the sandbox, sending a first order and testing what usually breaks. It also covers what a sandbox cannot prove, because a bot that behaves on a test account can still fail an evaluation.
What a good prop firm API sandbox gives you
- A separate base URL, so test orders can never reach a purchased account.
- Its own API keys, which do not work on purchased accounts.
- The same server-side risk checks as a real evaluation, so rule rejections show up in testing.
- A reset, so you can start again without opening a new account.
- Documentation of errors and retries, not only of the happy path.
Create the QATS sandbox
Sign up and verify your email. Open Sandbox account from the account switcher, choose Keys & connections, pick a market and a price venue and select Create free sandbox. Check that the new account shows the right market, venue and a $100,000 starting balance.
Use a separate key and base URL
Create a sandbox key, name it, choose permissions and optionally restrict it to the addresses of your server. Save the secret when it is shown; it is displayed once.
| Sandbox | Purchased account | |
|---|---|---|
| Base URL | https://prop.qats.us/api/sandbox/v1 | https://prop.qats.us/api/v1 |
| Keys | Sandbox keys only | Account keys only |
| Funds | Virtual; cannot be withdrawn | Evaluation or funded account rules apply |
| Counts toward a challenge | No | Yes |
Send a first test order
- Read the account and confirm the response identifies the sandbox environment.
- Read the instrument constraints: units, minimum step, price and available size.
- Send a small order with a unique idempotency key and keep the command ID.
- Check the command result, then the order, fills and position.
- Remember that an HTTP response does not prove the full order was filled. A partial fill can leave a working remainder.
Test the failure paths
A bot is tested by what it does after something goes wrong. Use the sandbox to rehearse these cases on purpose.
- Lost response: keep the original idempotency key and payload, and check the command result before sending anything new.
- Restart: rebuild state from current positions, orders and history, then continue private events from the saved sequence.
- Rejection: push an order past a limit and confirm the bot stops rather than retrying in a loop.
- Stale data: stop your price feed and confirm the bot stops trading.
- Key rotation: replace a key and confirm a read works before the bot resumes.
Test TradingView alerts separately
A regular sandbox API key is not a TradingView setup. In the sandbox, choose TradingView alerts, create a webhook and paste the URL and JSON message into their own TradingView fields. After an alert fires, check the signal log and the resulting position or order.
What a sandbox cannot prove
Sandbox results cannot be withdrawn, and they do not qualify a challenge or earn payouts. A clean test shows that the integration works, not that the strategy has an edge. Before you pay, check the strategy against the rules too: on QATS Crypto that means a 10% profit target, a 4% daily loss limit, a 6% end-of-day trailing maximum loss that stops trailing at the starting balance, a 40% consistency rule and 2 minimum trading days.
Frequently asked questions
01Is the QATS API sandbox free?
Yes. It needs a QATS account with a verified email and no paid challenge. The sandbox starts with $100,000 of virtual funds.
02Can I use the same API key for the sandbox and a purchased account?
No. Sandbox keys and purchased-account keys are not interchangeable, and each uses its own base URL.
03Do sandbox profits count toward a challenge?
No. Test funds cannot be withdrawn, do not qualify a challenge and do not earn performance payouts.
04Can I test TradingView alerts on the sandbox?
Yes. Create a separate TradingView webhook in the sandbox. A regular sandbox API key is not a webhook connection.
05How do I start over on the sandbox?
Stop your integration, open Keys & connections and use the sandbox reset. It cancels orders, clears exposure and retires the old test account, so reconnect your integration to the new one afterwards.
Educational content, not investment advice. QATS evaluations and initial funded accounts are simulated; payouts depend on eligibility, verification and the applicable agreement.