FAQ - Market & Order

A collection of frequently asked questions about order-related topics.

Quotation


I want to calculate chart indicators.

Chart indicators on Upbit are provided by ChartIQ and TradingView. Please refer to these platforms for details on the available indicators.


I want to receive the UBCI indicator via API.

The UBCI API is not currently available through the Open API. If this changes in the future, we will provide an update through official announcements.


How is the bid/ask type of a trade determined?

The criteria for determining whether a trade is a bid (buy) or ask (sell) are as follows:

  • If someone buys at the ask price, the trade is classified as a bid (buy).
  • If someone sells at the bid price, the trade is classified as an ask (sell).
  • From a maker/taker perspective, the trade’s bid/ask classification follows the taker order type.

I want to get trade STRENGTH via API.

Trade strength is not directly provided through the API. However, you can calculate it by analyzing trade data received via the WebSocket API.

[Trade Strength Calculation Formula]

Trade Strength = (BID Trade Volume ÷ ASK Trade Volume) × 100%

If the value is greater than 100, Bid volume exceeds Ask volume; if less than 100, Ask volume exceeds Bid volume.

Trade strength is calculated as (Accumulated Bid Volume ÷ Accumulated Ask Volume) × 100 from UTC 0:00 (SGT 9:00). Please note this calculation method may change without prior notice in future service operations.


Trade


The trading history shown in the Upbit app/web differs from what is returned by the Open API.

The trading history on the Upbit app/web refers to a list of completed trades, while the Open API provides an order list. A single order may result in multiple trades, so the two lists may not always match.

To check the list of trades for a particular order, refer to the trades field in the order inquiry API response.


Market orders are not returned by the order list API.

After a market buy order is executed, its status may be either cancel or done.

  • If any residual amount remains after execution (often due to decimal precision), it is returned to your account and the order is marked as canceled.
  • If the amount is matched exactly, the order status becomes done.

[Example] Suppose the current price of a digital asset is 30,000 SGD, and you want to place a market buy order worth 10,000 SGD

  1. Purchase quantity: 10,000 / 30,000 = 0.33333333… → The quantity is truncated at the 9th decimal place, resulting in 0.33333333.
  2. Actual purchase amount: 0.33333333 × 30,000 = 9,999.9999 SGD
  3. Remaining amount: 10,000 − 9,999.9999 = 0.0001 SGD

In cases like this, where a market buy order does not divide evenly, a small remaining amount is generated. This remaining balance is returned to your account, and the order is marked as canceled. For market sell orders, the request is made based on quantity rather than value, so there is no division operation and no remaining balance occurs.

Also, note that the states field in the Order List API allows you to query multiple statuses at once.


Market order request fails.

For market orders, since the price is not specified, only one of either price or volume must be included in the request. For more details, please refer to the Order API Reference documentation.


Order request fails even though rate limits are not exceeded.

This issue occurs when the order stabilization system is triggered due to a temporary surge in order requests.

The stabilization system applies globally to all requests, regardless of whether they come from the Open API or the Upbit app/web. Therefore, even if you still have remaining rate limits, order requests may fail during this time.

If this error occurs, please try again after a few seconds.