Skip to content

Bot errors

There is a (i) button in the error message on the bot card and a text link to our help article (“Wiki”). Follow the link to this article, find your error description, check the possible causes and the procedure for solving them.

After any bot stops with an error, it is required to switch to the exchange and check the status of the trading account — balance, positions, orders, trading history. If this is not done correctly, you can incur serious losses!

If you have not found your error and its solution in the list below, collect diagnostic information and send it to @VelesSupportBot in Telegram or to the “Help” chat in your personal cabinet.

To analyze the situation, we usually need:

  1. The exact text of the error message and the time of the event;
  2. The bot’s ID (in the notification from bot ""b…"" or from the bot’s card on the main page of the website);
  3. Deal ID (in the notification from bot “#d…”);
  4. Link to the bot settings (click the “Share” button on the bot card on the main page);
  5. Link to the backtest (click the “Share” button in the backtest results above the graph on the right).

Do not confuse it with the another error “Insufficient balance/Not enough margin” (on the exchange).

For the bot to work, you need to have funds in two different wallets:

  1. Funds on the exchange trading account - for placing orders,
  2. Funds on the Veles service balance - to pay the bots’ commission for profitable deals.

At launch, the bot checks the balance in the service:
https://veles.finance/cabinet/account/balance.

If the balance is more than zero, the bot can work. If the balance is zero or negative, the bot issues this error.

To solve this problem, you need to top up your Veles balance. Please read the instructions in our article.

Insufficient order volume, Order volume does not meet the requirements

Section titled “Insufficient order volume, Order volume does not meet the requirements”

There are restrictions on the minimum volume of an order placed on exchanges. This limit varies for different coins and exchanges can modify it periodically.

The volume requirements for the API and manual trading may be different, the limit for bots may be higher (that is, user can manually create an order, but bot can’t). You can refer to the documentation of your exchange (section “Trading Rules”, spot or futures).

A rising price of a coin can also cause this error — the allocated deposit is no longer enough for an order.

When you launch the bot, the allocated deposit is first multiplied by the leverage (for a spot, leverage =1), then divided into smaller parts — into grid orders, and then again — into multitakes (profit orders). In other words, you need to calculate the volume of your first order in the grid (assume that only one order was executed in the deal) and then divide it into your multitakes. Each of the received multitakes must be larger than the minimum volume set by the exchange. Otherwise, the bot will issue the error.

We receive this message from the exchange, so use the solutions listed below:

  • take an inexpensive coin (BTC, ETH, BNB, SOL — coins that have higher requirements),
  • reduce the value “Grid of orders” (each order will become larger),
  • reduce the Martingale% (this will make the first order larger),
  • reduce the number of multitakes (on small deposits, close the deal with a single order),
  • increase the bot’s deposit.

Running a backtest does not require real funds in the trading account, that is, you can specify a deposit that does not exist.

But when launching the backtest, the bot verifies that the exchange’s minimum order requirement is met for all the coin prices in the testing period.

If this error is shown in the backtest, it means that somewhere during the testing period the price of the coin was so high that the bot with the current deposit could not start.

On futures, the minimum order volume is checked before opening the deal. On the spot the check is postponed, and sometimes bot may stop with this error after opening the deal (placing and executing orders). Therefore, it is recommended to always check a spot bot with a backtest before launching it on the exchange.

This error indicates a lack of funds on the exchange. Do not confuse it with the error “Insufficient balance in the service” (in Veles).

You have insufficient funds on your exchange account to place grid orders. This happens if the ratio of deposit for all running bots to their supporting margin was calculated incorrectly. You should replenish your balance on the exchange and restart the deal.

After that, the bot will pick up the position and the old orders, place the order where the shortage occurred, and complete the deal.

Study the trading recommendations from our article.

It is also possible that the bot during drawdown did not have enough funds for a grid order — if you have a Unified trading account, both the spot bot’s deposit and the margin for futures bots are taken from the same balance.

There is also a feature on the spot — the exchange trading commission is calculated in the base coin. That is, the bot buys a TON for USDT (and the exchange immediately charges a commission in the TON), then the bot creates an order to sell the TON, but discovers that there is less TON left on the account than it bought. And it stops with the error “Insufficient balance”. Therefore, when trading on the spot, you need to prepare yourself - purchase in advance some coin that the bot is configured for (1-2 USDT equivalent or 0.5% of the deposit), and do not use it in trading.

Read more about exchange commissions in our article.

It is recommended to purchase a small amount of native BNB token on the Binance exchange and restart the deal. The trading commission will be written off in the token and the allocated deposit will not decrease. It also gives you a 25% trading discount on the spot and 15% on futures.

For each coin, the exchange has a different maximum leverage for a different deal volume.

That is, the exchange does not lend unlimited amounts of money. For example, for a deal with a volume of 1 USDT, you can use x100 leverage, but for a volume of 1,000,000 USDT, you can’t even use x20. For a special subscription, the exchange can increase your limits.

The risk limits can be changed dynamically by the exchange, and triggered a little earlier, even on the approach to the limit of the acceptable level.

The risk limits can be viewed on the following pages:

  1. Binance,
  2. BingX,
  3. Bitget,
  4. Bybit,
  5. Gate,
  6. OKX: go to the trading pair page (like ETH-USDT), “Overview” section, “Position tiers” tab.

To solve this issue, reduce the leverage, update and launch the bot.

Veles bots can trade on cross and isolated margin. The exchange allows you to switch the type of margin on the account if there are open positions, but not in all cases. The conditions for switching the margin type on a trading account see in the exchange’s documentation. Try to switch the margin type manually on the exchange, and the exchange will inform you what’s wrong.

This means that you have launched a futures bot, the price has dropped (for the bot in Long) or risen (if the bot is Short) to the liquidation price, and the exchange has started the liquidation process. Your trading account balance may be lost.

  • If you had a Cross margin, then the whole account balance could be lost.
  • If you had an Isolated margin, then only the bot’s deposit is liquidated (sometimes a little more).

Liquidation of a futures position is a multi-step process. Sometimes liquidation involves only canceling orders and partial reducing a position. A full description of the process is available in the documentation of your exchange. Keep in mind that trading futures carries certain risks. Allocate capital wisely and follow risk management.

It is noted that when trading on an isolated margin, the exchange starts a liquidation before the position reaches the estimated price — with a margin (made at the expense of traders) so that closing a mass of positions during cascade liquidations does not lead the exchange into losses.

There may also be situations where liquidation has occurred on the exchange, but the bot perceives this situation as “Orders cancelled by the 3rd party” or “Position reduced” errors.

We talked about how to avoid liquidation of a futures bot in our article.

The bot can also send this error if the user manually closed a position on the exchange, without canceling the bot’s active deal. Please always use our instructions for manual closing the deal.

Position does not match your settings on the exchange

Section titled “Position does not match your settings on the exchange”

Veles bots require a Hedge mode on the exchange. The bot checks and switches position mode at startup, but switching is possible only if there are no open positions and orders on the account.

You can manually enable Hedge mode on the exchange.

The error indicates that the API key has probably expired. In this case, it is recommended to recreate the API key either with the option “Connect to a third-party application” -> “Veles”, or with a prescribed list of allowed IP addresses. In this case, the key will be created as permanent.

This error means that the order (or orders) placed by Veles were cancelled by someone or something, but not by the bot. They could have been canceled accidentally by user or by another application, and the exchange sometimes cancels orders on its own. Unfortunately, we have no information about the reason for cancelling of orders, and it must be clarified in the Trading History on the exchange or with the exchange’s support.

If you cancelled the order yourself, by accident, then the deal can be restarted. The bot will recreate the order and continue to run the deal.

If you didn’t cancel the order, you need to

  1. ensure that nothing is linked to this exchange account via the API, except Veles,
  2. congigure a lock “By position” for the Binding in your Veles profile,
  3. go to the exchange (section Derivatives, or Futures, or Unified trading account),
  4. check the presence of orders and positions (Current orders, Positions),
  5. cancel orders of affected position (if any),
  6. the position must be closed manually — either by market, or create a limit order and wait for its execution,
  7. evaluate changes in the balance of the trading account — it may be necessary to reduce the bot’s deposit,
  8. only after closing the position can you restart the bot.

On futures, this error also occurs in case of liquidation (because the Take Profit order is canceled, the bot detects this and reports it). Please check your mailbox — the exchange notifies you if this happens.

You need to

  1. make sure that nothing is linked to this exchange account via the API, except Veles,
  2. go to the exchange (Spot section, or a Unified trading account),
  3. check the status of your assets, what is available,
  4. if there are enough funds to continue trading, the bot can be started again, select “Restart deal”,
  5. the bot will pick up the accumulated volume, recreate the orders, and continue running the deal.

If you do not need to continue the deal, you need to keep a record of the average purchase price and volume of the coin (indicated in the bot messages after each order is executed). You will need to know the purchase price when you place a sell order.

The position of the bot has been reduced (or completely closed) by someone or something, but not by this bot. Therefore, the bot has placed an order according to the calculations, but discovers that the position does not match it. This happens, for example, if several bots was launched for the same coin in the same direction, and lock “By position” is not enabled. Or when the user manually closes the position of the running bot on the exchange. Or liquidation is taking place.

To solve the problem, you need:

  • Set up a lock “By position” in your Veles profile.
  • Then go to the exchange, find a position and orders for it.
  • Cancel the orders manually.

The position (if any) must be closed manually either by market or by created limit order. Bots for this coin should not launch until the position is closed.

The limit of orders has been exceeded. The contract limit has been exceeded.

Section titled “The limit of orders has been exceeded. The contract limit has been exceeded.”
  1. Try to switch to the account/subaccount of the bot, switch to futures and place an order on the exchange via the terminal. Perhaps the exchange will tell you what is wrong (for example, it will ask you to accept a Risk Agreement).
  2. This error occurs if the limit of orders on the bot’s subaccount is exceeded (for example, no more than 200 — and if there are a lot of bots, then the limit has been exceeded).
  3. It may also turn out that the limit on the maximum order volume for a coin has been exceeded. You need to check all the orders in your grid as well as Take Profits for compliance with the limit (the limits are specified in the exchange’s documentation on the coin).
  4. There may also be such an error if you have not completed the KYC (confirmation may take up to 24 hours).
  5. If the previous reasons do not apply, re-bind the API key.

If this error occurs in the middle of the deal, close the deal manually on the exchange. The bot can be launched only after the closing order has been executed.

The order price does not meet the requirements

Section titled “The order price does not meet the requirements”

This error means that the bot cannot place an order (grid or manual averaging):

  • because it is too far from the current asset price,
  • because the price of the market order has exceeded the available range on the exchange (if activated slippage protection).

For example, it will not be possible to place an order for BTC at the price of 15,000 per coin right now, since this is more than 50% of the current price (the maximum range is indicated in the Trading Rules on the exchange).

Try changing the grid of orders, or reduce the “Partial grid of orders” parameter so that they are placed sequentially, or use the trading mode “Signal”.

If this error occurs in the middle of a deal - close the deal manually on the exchange. Do not start the bot until the closing order has been executed.

Trading this pair is prohibited by the settings. Add the trading pair to the Whitelist.

Section titled “Trading this pair is prohibited by the settings. Add the trading pair to the Whitelist.”

This is a limitation of the API key on the exchange. Check the following options one at a time:

  1. Log in to the exchange account and place an order for this pair. It may be necessary to accept a Risk Agreement.
  2. Make sure that this pair is on the “White List” in the API key settings on the exchange (if you created and configured it).
  3. Check that the pair is available for trading on the exchange (whether there are actual candles for this pair in the bot editor, study the announcements of recent delistings on the exchange).
  4. The problem may also be related to copy trading. We do not restrict copy trading in any way, but the API key works differently in this case, and it is not supported in our bots.
  5. This problem also arise if the “Portfolio Margin” mode selected in the account settings on the exchange instead of “Cross Margin”.

The subscription to the paid signal used in this bot has ended.
If necessary, go to the Marketplace and re-subscribe to the signal.

Contact technical support and attach to the request:

  • Bot ID,
  • Deal ID,
  • Link to the bot settings (use “Share” button on the expanded bot card).

Bot ID and Deal ID can be found in the Telegram notifications at the very bottom of the message.
Error will be sent to development department for further resolution.

Help