QATS HELP CENTER · TRADING

Understand order refusals and error messages

What price-check, leverage, key and bot refusals such as PRICE_REFERENCE_MISMATCH mean, and what to do.

Open Trading terminal All guides
Before you start

Copy the exact code or sentence of the refusal. A refused order places nothing, so check Orders and Positions before you try again.

ON THIS SCREENFind the highlighted controls Click to enlarge
What to look for

Select a numbered step to zoom straight to that control.

Illustrative QATS screen from a test account after a breach. Your account, status and messages will differ.
01 / 05

Read the refusal first

  1. A refused order places nothing. The terminal shows the reason next to the ticket; QATS Trade starts its message with Not sent; the API and TradingView log return a code such as PRICE_REFERENCE_MISMATCH.

  2. Find the code or sentence below. In the terminal the sentence starts with Request declined and stays until you dismiss it. Fix the cause it names before you send again.

  3. Do not resend the same order in a loop. If the outcome is unclear, check Orders and Positions first.

  4. If the message is not listed here, send support the code, the time, the account ID and the instrument. Never include keys or passwords.

02 / 05

Price checks

  • PRICE_REFERENCE_MISMATCH: “Your price … and the QATS price … differ by …%, more than …%.” The price you saw (the chart, the ticket or an alert’s {{close}}) and the QATS price moved apart before the market order filled. The bound is 0.1% for the terminal and QATS Trade, 0.1% for an API order that sends referencePrice, and 0.25% for a TradingView alert with a price, unless the API order or alert sets maxDeviationPct (0.01 to 2). Check that the chart shows the same market, such as BTCUSDT perpetual and not BTC spot, then try again.
  • MARKET_PRICES_DISAGREE: “QATS is checking this market’s price against a second exchange; try again in a moment.” The same perpetual on Binance and Bybit is more than 0.1% apart right now, so QATS holds new entries on that market. Wait a moment. Closing a position is never held.
  • STALE_MARKET_DATA: the QATS price is too old to fill at: more than 2 seconds for an entry, 5 seconds for an order that only closes. QATS first tries to confirm the price at the exchange; wait a moment and try again. executable: true in market data only means the feed is live.
  • Resting limit and stop orders do not carry the price check, and a close never does.
03 / 05

Leverage and slippage

  • LEVERAGE_MISMATCH: “BTCUSDT is at 10x on this account (its open position or working orders); orders on it use that leverage.” One instrument has one leverage per account. Send the order at that leverage, or close the position and cancel those orders before choosing another.
  • LEVERAGE_NOT_ALLOWED: “Leverage must be between 1x and …x on ….” Choose a leverage within the range your plan allows for that instrument.
  • SLIPPAGE_EXCEEDED: “The market would fill …% away from the touch, above your …% limit.” The visible book cannot fill your size within your max slippage. Use a smaller size, a limit order, or a higher max slippage. Closing orders are never refused for slippage.
04 / 05

Keys, connections and rate limits

  • INVALID_TRADING_TOKEN, “Trading connection is expired or revoked”: the API key or webhook was revoked or passed its expiry. Create a new one and update your bot or alert.
  • In QATS Trade, “QATS does not accept this API key (revoked, expired or mistyped)” means the pasted key no longer works; “QATS no longer accepts this connection for this account” means the connection was revoked or expired. Press Connect with QATS, or create a new key.
  • TRADING_TOKEN_READ_ONLY: the key was issued as Read only. Create a Read and trade key for a bot that places orders.
  • ADDRESS_NOT_ALLOWED: the request came from an address outside the key’s Allowed addresses. Use the server you listed, or create a key without an address limit.
  • WEBHOOK_KEY_ONLY: a TradingView webhook key was used as an API key. Use an API key for the API, and the webhook URL only in TradingView alerts.
  • TRADING_RATE_LIMITED: too many commands in a short time. Wait for the time in the Retry-After header before sending again.
05 / 05

Bots and copy trading

  • BOT_NOT_RUNNING: “The bot is stopped in QATS Prop; only exits are accepted until the trader starts it.” Open QATS Bot → Settings and choose Start bot on the right account.
  • STRATEGY_NOT_BOUND: no strategy is linked to this account, or it moved to another account. Link the strategy in the workspace, then start the bot.
  • COPIER_FOLLOWER_LOCKED: “Place entries on the leader account; this account follows it.” Trade on the leader, or stop the copy group first.
  • COPIER_SCOPE_UNSUPPORTED: an API key, webhook or bot tried to trade a copy-trading leader. Trade the leader in the terminal, or stop the group.
WHEN YOU NEED A HAND

Common questions

Why was my market order refused with PRICE_REFERENCE_MISMATCH?

The price you saw and the QATS price were more than the allowed distance apart when the order arrived. Check that your chart shows the same perpetual and try again.

Will MARKET_PRICES_DISAGREE stop me from closing?

No. It holds only new entries while Binance and Bybit disagree. Closing a position is never held.

CHECK YOUR RESULT

You’re done when…

You have matched the refusal to its cause and fixed it before sending a new order.

If this does not match what you see, use Common questions above or contact support with the page and account details.
NEXT STEP

Continue in QATS

Open the relevant screen to follow the steps in this guide.

Open Trading terminal
KEEP EXPLORING

Related guides

All topics
TradingSet leverage and max slippage on crypto ordersChoose a leverage within your plan, see when it is fixed, and cap how far a market entry may fill.Account & supportReview connected browsers, keys and webhooksSee what can trade your accounts, revoke it, and know what disconnects it automatically.API & automationRecover after an API timeoutResolve an uncertain command without accidentally duplicating an order.
Still need help?

Tell us where you got stuck. Never share passwords or access keys.