# Generated by the API Evangelist enrichment pipeline on 2026-07-19. # method: generated # source: https://docs.korbit.co.kr/llms-full.txt (Korbit's own published agent # documentation bundle). Korbit does not publish an OpenAPI/AsyncAPI document; # this is a faithful transcription of the published reference, not an official # Korbit artifact. openapi: 3.1.0 info: title: Korbit Open API v2 version: 2.0.0 description: |- REST API for the Korbit cryptocurrency exchange (Korea's first virtual-asset exchange). Covers market data (quotation), trading, balances, crypto deposits and withdrawals, and KRW deposit/withdrawal push notifications. All responses use the envelope `{"success": true, "data": ...}`; errors use `{"success": false, "error": {"message": ""}}`. Private endpoints require the `X-KAPI-KEY` header plus `timestamp` and `signature` parameters. Signatures are HMAC-SHA256 (hex) or ED25519 (Base64, URL-encoded) over the exact encoded request string. See the timestamp-window rules: `recvWindow` defaults to 5000 ms, maximum 60000 ms, and the future bound is a fixed +1000 ms. This document was generated by the API Evangelist enrichment pipeline from Korbit's own published agent documentation bundle (https://docs.korbit.co.kr/llms-full.txt). Korbit does not publish an OpenAPI document; this is a faithful transcription of the published reference, not an official artifact. contact: name: Korbit Developers url: https://developers.korbit.co.kr x-generated-by: API Evangelist enrichment pipeline x-source: https://docs.korbit.co.kr/llms-full.txt servers: - url: https://api.korbit.co.kr description: Production - url: http://127.0.0.1:9999 description: Local sandbox (korbit-sandbox.mjs) — mock, not the production server tags: - name: Quotation - name: Trading - name: Asset - name: Deposit (Crypto) - name: Withdrawal (Crypto) - name: Deposit/Withdrawal (KRW) - name: Other paths: /v2/tickers: get: operationId: getTickers summary: Get Tickers description: Get latest price and trading volume for a symbol or symbols. tags: - Quotation parameters: - name: symbol in: query description: Enter the symbols of the trading pairs you want to query, separated by commas (,). If omitted, information for all available trading pairs on Korbit will be returned. schema: type: string examples: - btc_krw,eth_krw responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: symbol: type: string description: Trading pair symbol. examples: - btc_krw open: type: string description: Open price (24H). examples: - '361922.23' high: type: string description: High price (24H). examples: - '361922.23' low: type: string description: Low price (24H). examples: - '361922.23' close: type: string description: Last price (24H). examples: - '361922.23' prevClose: type: string description: Previous close price (24H). examples: - '261922.23' priceChange: type: string description: changed price. `close - prevClose`. examples: - '100000' priceChangePercent: type: string description: changed price percent. `100 * (close - prevClose) / prevClose`. examples: - '38.18' volume: type: string description: Trading volume (Base, 24H). examples: - '100' quoteVolume: type: string description: Trading volume (Quote/Counter, 24H). examples: - '1000000000' bestBidPrice: type: string description: Best bid price. examples: - '5000' bestAskPrice: type: string description: Best ask price. examples: - '6000' lastTradedAt: type: number description: Last traded timestamp (ms). examples: - 1700000000000 required: - symbol - open - high - low - close - prevClose - priceChange - priceChangePercent - volume - quoteVolume - bestBidPrice - bestAskPrice - lastTradedAt required: - success example: success: true data: - symbol: btc_krw open: '77060000' high: '79650000' low: '76550000' close: '77136000' prevClose: '77060000' priceChange: '76000' priceChangePercent: '0.1' volume: '48.73739983' quoteVolume: '3785149733.32633' bestBidPrice: '77136000' bestAskPrice: '77193000' lastTradedAt: 1725525721041 - symbol: eth_krw open: '3259000' high: '3370000' low: '3222000' close: '3250000' prevClose: '3259000' priceChange: '-9000' priceChangePercent: '-0.28' volume: '161.99278306' quoteVolume: '532827941.01581' bestBidPrice: '3251000' bestAskPrice: '3254000' lastTradedAt: 1725525545630 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v2/orderbook: get: operationId: getOrderbook summary: Get Orderbook description: Get orderbook data. tags: - Quotation parameters: - name: symbol in: query required: true description: Trading pair. schema: type: string examples: - btc_krw - name: level in: query description: Orderbook grouping level. Available levels can be checked via the Get Tick Size Policy API. If not provided, grouping will not be applied. schema: type: string examples: - '1000' responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: object properties: timestamp: type: number description: timestamp (ms). examples: - 1700000000000 bids: type: array items: type: object properties: price: type: string description: price. examples: - '250000' qty: type: string description: quantity. examples: - '10' amt: type: string description: Total amount (only set when orderbook grouping is used. When not using grouping, it can be calculated as `price * qty`). examples: - '2500000' required: - price - qty description: bids asks: type: array items: type: object properties: price: type: string description: price. examples: - '250000' qty: type: string description: quantity. examples: - '10' amt: type: string description: Total amount (only set when orderbook grouping is used. When not using grouping, it can be calculated as `price * qty`). examples: - '2500000' required: - price - qty description: asks required: - timestamp - bids - asks required: - success example: success: true data: timestamp: 1708057740895 bids: - price: '73303000' qty: '0.00898326' - price: '73302000' qty: '0.00790837' - price: '73301000' qty: '0.00843099' - price: '73300000' qty: '0.00054024' - price: '73299000' qty: '0.00663446' asks: - price: '73304000' qty: '0.00985212' - price: '73305000' qty: '0.00367505' - price: '73306000' qty: '0.0096254' - price: '73307000' qty: '0.00502544' - price: '73308000' qty: '0.00640584' '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v2/trades: get: operationId: getTrades summary: Get Recent Trades description: Get recent trades. tags: - Quotation parameters: - name: symbol in: query required: true description: Trading pair. schema: type: string examples: - btc_krw - name: limit in: query description: 'limit (range: 1 ~ 500).' schema: type: number examples: - 100 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: timestamp: type: number description: timestamp (ms). examples: - 1700000000000 price: type: string description: price. examples: - '250000' qty: type: string description: quantity. examples: - '10' isBuyerTaker: type: boolean description: whether the taker is the buyer. examples: - true tradeId: type: number description: trade ID (the ID of the trade execution assigned to each trading pair). Monotonically increasing per trading pair, but not guaranteed to be contiguous. examples: - 1234 required: - timestamp - price - qty - isBuyerTaker - tradeId required: - success example: success: true data: - timestamp: 1708057271149 price: '70507000' qty: '0.00981535' isBuyerTaker: false tradeId: 1004 - timestamp: 1708057271035 price: '70508000' qty: '0.00682475' isBuyerTaker: false tradeId: 1003 - timestamp: 1708057270922 price: '70509000' qty: '0.00844147' isBuyerTaker: false tradeId: 1002 - timestamp: 1708057270809 price: '70510000' qty: '0.00553963' isBuyerTaker: false tradeId: 1001 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v2/candles: get: operationId: getCandles summary: Get Candlesticks description: Get historical candlesticks (klines) data. tags: - Quotation parameters: - name: symbol in: query required: true description: Trading pair. schema: type: string examples: - btc_krw - name: interval in: query required: true description: interval `1` — 1 min / `5` — 5 mins / `15` — 15 mins / `30` — 30 mins / `60` — 1 hour / `240` — 4 hours / `1D` — 1 day / `1W` — 1 week schema: type: string enum: - '1' - '5' - '15' - '30' - '60' - '240' - 1D - 1W - name: start in: query description: 'start timestamp. (default: listed time).' schema: type: number examples: - 1600000000000 - name: end in: query description: 'end timestamp. must be larger than `start`. (default: now).' schema: type: number examples: - 1700000000000 - name: limit in: query required: true description: 'limit (range: 1 ~ 200).' schema: type: number examples: - 100 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: timestamp: type: number description: candle start timestamp. examples: - 1619244573612 open: type: string description: open price. examples: - '361922.23' high: type: string description: high price. examples: - '361922.23' low: type: string description: low price. examples: - '361922.23' close: type: string description: close price. examples: - '361922.23' volume: type: string description: volume. examples: - '100' required: - timestamp - open - high - low - close - volume required: - success example: success: true data: - timestamp: 1708041600000 open: '71211000' high: '9999990000' low: '300000' close: '71392000' volume: '1.932320026577213946' - timestamp: 1708045200000 open: '73510000' high: '74605000' low: '300000' close: '72315000' volume: '2.418698679231323743' - timestamp: 1708048800000 open: '72315000' high: '9999990000' low: '300000' close: '72380000' volume: '1.947520219976227299' - timestamp: 1708052400000 open: '70267000' high: '74777000' low: '300000' close: '74049000' volume: '2.254855048982521506' - timestamp: 1708056000000 open: '68304000' high: '74834000' low: '68241000' close: '74825000' volume: '0.630193755379195341' '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v2/currencyPairs: get: operationId: getCurrencyPairs summary: Get Trading Pairs tags: - Quotation responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: symbol: type: string description: trading pair symbol. examples: - btc_krw status: type: string enum: - launched - stopped description: '`launched` — trading available / `stopped` — trading unavailable' required: - symbol - status required: - success example: success: true data: - symbol: btc_krw status: launched - symbol: eth_krw status: launched - symbol: xrp_krw status: stopped '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v2/tickSizePolicy: get: operationId: getTickSizePolicy summary: Get Tick Size Policy description: Get tick size policy and orderbook grouping levels for a trading pair. tags: - Quotation parameters: - name: symbol in: query required: true description: Trading pair symbol. schema: type: string examples: - xrp_krw responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object required: - success example: success: true data: - symbol: xrp_krw tickSizePolicy: - priceGte: '0' tickSize: '0.0001' - priceGte: '1' tickSize: '0.001' - priceGte: '10' tickSize: '0.01' - priceGte: '100' tickSize: '0.1' - priceGte: '1000' tickSize: '1' - priceGte: '5000' tickSize: '5' - priceGte: '10000' tickSize: '10' - priceGte: '50000' tickSize: '50' - priceGte: '100000' tickSize: '100' - priceGte: '500000' tickSize: '500' - priceGte: '1000000' tickSize: '1000' orderbookLevels: - '0.1' - '1' - '10' - '100' '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v2/orders: get: operationId: getOrders summary: Get Order description: |- Use either `orderId` or `clientOrderId` to query the status of an individual order. However, orders with the statuses `expired` or `canceled` cannot be retrieved approximately 3 days after they have been closed. tags: - Trading parameters: - name: symbol in: query required: true description: Trading pair. schema: type: string examples: - btc_krw - name: accountSeq in: query description: Account sequence number. Defaults to 1 (main account). schema: type: number examples: - 1 - name: orderId in: query description: Enter `orderID` (responsed by POST /v2/orders). Enter one of `orderID` or `clientOrderId`. schema: type: number examples: - 1234 - name: clientOrderId in: query description: Enter `clientOrderId` (requested by POST /v2/orders). Enter one of `orderID` or `clientOrderId`. schema: type: string examples: - 20141231-155959-abcdef responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: object properties: orderId: type: number description: Order ID generated by the server. examples: - 1234 clientOrderId: type: string description: '`clientOrderId` submitted from the user by POST /v2/orders.' examples: - 20141231-155959-abcdef symbol: type: string description: symbol. examples: - btc_krw orderType: type: string enum: - limit - market - best description: '`limit` — limit order / `market` — market order / `best` — best bid/offer' side: type: string enum: - buy - sell timeInForce: type: string enum: - gtc - ioc - fok - po description: 'Time in Force strategies. Default: - limit order: `gtc` - market order: `ioc` - best bid/offer: no default(Bad Request error if omitted) For market orders, only `ioc` can be entered. `gtc` — Good-Till-Canceled. The order will remain valid until terminated (fully executed or canceled) / `ioc` — Immediate-Or-Cancel. The order will be filled immediately, if can not then will be canceled. (Taker-Only) / `fok` — Fill-Or-Kill. The order will be filled fully, if can not then will be canceled. (Taker-Only) / `po` — Post-Only. If the order would be filled immediately, then will be canceled. (Maker-Only)' price: type: string description: Order price (limit/BBO order only. no price for market order. For BBO orders it's set after the price is determined). examples: - '5000' qty: type: string description: Order quantity (limit/BBO order or sell-side market order only. For BBO orders it's set after the quantity is determined). examples: - '10' amt: type: string description: Purchase amount in counter/quote asset like KRW. (buy-side market/BBO order only). examples: - '50000' filledQty: type: string description: Filled quantity. examples: - '10' filledAmt: type: string description: Filled amount in counter/quote asset like KRW. examples: - '50000' avgPrice: type: string description: Average execution price. examples: - '5000' createdAt: type: number description: Order timestamp (ms). examples: - 1700000000000 lastFilledAt: type: number description: Last execution timestamp (ms). examples: - 1700000000000 triggeredAt: type: number description: Stop-limit order trigged timestamp. examples: - 1700000000000 status: type: string enum: - pending - open - filled - canceled - partiallyFilled - partiallyFilledCanceled - expired description: Order status `pending` — Order pending. When the balance is insufficient or timeInForce condition is triggered, the order may fail and change to the `expired` status. / `open` — Fully unfilled / `filled` — Execution closed. An order whose unfilled remainder is returned instead of resting on the book (e.g. an `ioc` order, or a price-protected (`pp`) order trimmed by the protection range) also closes as `filled` even when less than the requested quantity executed. Confirm the executed amount with `filledQty`/`filledAmt`. / `canceled` — Fully canceled / `partiallyFilled` — Partially filled / `partiallyFilledCanceled` — Partially filled and remaining amount canceled / `expired` — Order submission failed (due to insufficient balance or timeInForce conditions) required: - orderId - symbol - orderType - side - filledQty - filledAmt - createdAt - status required: - success example: success: true data: orderId: 1234 clientOrderId: 20141231-155959-abcdef symbol: btc_krw orderType: limit side: buy timeInForce: gtc avgPrice: '5000' price: '5000' qty: '10' filledQty: '1' filledAmt: '5000' createdAt: 1700000000000 lastFilledAt: 1700000000000 status: partiallyFilled '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readOrders post: operationId: createOrders summary: Place Order description: Place a new order. tags: - Trading requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object properties: symbol: type: string description: Trading pair. examples: - btc_krw accountSeq: type: number description: Account sequence number. Defaults to 1 (main account). examples: - 1 side: type: string enum: - buy - sell price: type: string description: order price for a limit order. omit for a market/BBO order. examples: - '250000' qty: type: string description: order quantity for a limit order and a market/BBO sell order. omit for a market/BBO buy order. examples: - '10' amt: type: string description: order amount (purchase amount) for a market/BBO buy order. omit for a limit order and a market/BBO sell order. examples: - '250000' orderType: type: string enum: - limit - market - best description: '`limit` — limit order / `market` — market order / `best` — best bid/offer. The `timeInForce` and `bestNth` parameters must be set.' bestNth: type: number description: 'Selects the order''s price when orderType=`best`. For other types, this parameter must be omitted. - when timeInForce is one of `gtc`,`ioc`,`fok`: Opponent N price level where N is 1 ~ 5. - when timeInForce is `po`: Queue N price level where N is 1 ~ 5.' examples: - 1 timeInForce: type: string enum: - gtc - ioc - fok - po description: 'Time in Force strategies. Default: - limit order: `gtc` - market order: `ioc` - best bid/offer: no default(Bad Request error if omitted) For market orders, only `ioc` can be entered. `gtc` — Good-Till-Canceled. The order will remain valid until terminated (fully executed or canceled) / `ioc` — Immediate-Or-Cancel. The order will be filled immediately, if can not then will be canceled. (Taker-Only) / `fok` — Fill-Or-Kill. The order will be filled fully, if can not then will be canceled. (Taker-Only) / `po` — Post-Only. If the order would be filled immediately, then will be canceled. (Maker-Only)' clientOrderId: type: string description: 'User-defined order ID. Even if multiple requests are made with the same `clientOrderId`, it will be processed only once. You can search for the order using `clientOrderId` with the `GET /v2/orders`. Only strings matching the following regex pattern are allowed: `[0-9a-zA-Z.:_-]{1,36}` However, orders with the statuses `expired` or `canceled` cannot be searched by `clientOrderId` or same `clientOrderId` can be reused approximately three days after they have been closed.' examples: - 20141231-155959-abcdef pp: type: string description: Price protection. Set to `true` to enable the price protection feature. This order will only be executed within the price protection range when matched as a taker. Use the `ppPercent` parameter to change the threshold. ppPercent: type: string description: Threshold(in percent) for the price protection feature. Set an integer between 1 and 100. If the price protection threshold is set to 5, this order will only be executed within 5% of the midpoint price (between the best ask and best bid) when matched as a taker order. Any unfilled quantity will be canceled. If you enable price protection but do not set ppPercent, the default (5) will be used. required: - symbol - side - orderType responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: object properties: orderId: type: number description: order ID. examples: - 1234 required: - orderId required: - success example: success: true data: orderId: 1234 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: writeOrders x-korbit-error-codes: - code: DUPLICATE_CLIENT_ORDER_ID message: Request rejected due to duplicate `clientOrderId`. - code: INVALID_CURRENCY_PAIR message: Invalid symbol. - code: INVALID_USER_STATUS message: Trading has been temporarily restricted according to Korbit's policy. - code: BAD_REQUEST message: Bad request. - code: NO_BALANCE message: Insufficient balance. - code: ONLY_SELL_LIMIT_ORDERS_ALLOWED message: Only limit sell orders are allowed during the initial listing period. - code: ORDER_VALUE_TOO_LARGE message: Order exceeds the maximum amount. Please adjust the `qty` * `price` to be 1 billion KRW or less. - code: ORDER_VALUE_TOO_SMALL message: Order does not meet the minimum amount. Please adjust the `qty` * `price` to be at least 5,000 KRW. - code: PRICE_OVER_UPPER_BOUND message: Above the upper price limit during the initial listing period. - code: PRICE_UNDER_LOWER_BOUND message: Below the lower price limit during the initial listing period. - code: PRICE_TICK_SIZE_INVALID message: Invalid tick size. - code: TOO_MANY_OPEN_ORDERS message: Order quantity limit exceeded. delete: operationId: deleteOrders summary: Cancel Order description: |- Requests to cancel an open order. If the API call is successful, the cancel request is accepted and the order will be canceled soon. If the error code is one of `ORDER_ALREADY_CANCELED`, `ORDER_ALREADY_FILLED`, or `ORDER_ALREADY_EXPIRED`, it means the order has been already been closed. tags: - Trading parameters: - name: symbol in: query required: true description: Trading pair. schema: type: string examples: - btc_krw - name: accountSeq in: query description: Account sequence number. Defaults to 1 (main account). schema: type: number examples: - 1 - name: orderId in: query description: '`orderId` responsed in `POST /v2/orders`. You must choose to enter either `orderId` or `clientOrderId`.' schema: type: number examples: - 1234 - name: clientOrderId in: query description: '`clientOrderId` which is a user-defined order ID requested in `POST /v2/orders`. You must choose to enter either `orderId` or `clientOrderId`.' schema: type: string examples: - 20141231-155959-abcdef responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true required: - success example: success: true '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: writeOrders x-korbit-error-codes: - code: ORDER_NOT_FOUND message: Not found order - code: ORDER_ALREADY_CANCELED message: Already canceled order - code: ORDER_ALREADY_FILLED message: Already filled order - code: ORDER_ALREADY_EXPIRED message: Already expired order - code: TRY_AGAIN message: The order is currently being processed. Please try again in a few moments later. /v2/openOrders: get: operationId: getOpenOrders summary: Get Open Orders description: Query the list of open orders for a single trading pair. Only orders with the status `open` or `partiallyFilled` are queried. tags: - Trading parameters: - name: symbol in: query required: true description: Trading pair. schema: type: string examples: - btc_krw - name: accountSeq in: query description: Account sequence number. Defaults to 1 (main account). schema: type: number examples: - 1 - name: limit in: query description: 'Number of queries (range: 1 to 1000). Default is 500.' schema: type: number examples: - 100 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: orderId: type: number description: Order ID generated by the server. examples: - 1234 clientOrderId: type: string description: '`clientOrderId` submitted from the user by POST /v2/orders.' examples: - 20141231-155959-abcdef orderType: type: string enum: - limit - market - best description: '`limit` — limit order / `market` — market order / `best` — best bid/offer' side: type: string enum: - buy - sell price: type: string description: Order price (limit/BBO order only. no price for market order. For BBO orders it's set after the price is determined). examples: - '5000' qty: type: string description: Order quantity (limit/BBO order or sell-side market order only. For BBO orders it's set after the quantity is determined). examples: - '10' amt: type: string description: Purchase amount in counter/quote asset like KRW. (buy-side market/BBO order only). examples: - '50000' filledQty: type: string description: Filled quantity. examples: - '10' filledAmt: type: string description: Filled amount in counter/quote asset like KRW. examples: - '50000' avgPrice: type: string description: Average execution price. examples: - '5000' createdAt: type: number description: Order timestamp (ms). examples: - 1700000000000 lastFilledAt: type: number description: Last execution timestamp (ms). examples: - 1700000000000 status: type: string enum: - pending - open - filled - canceled - partiallyFilled - partiallyFilledCanceled - expired description: Order status `pending` — Order pending. When the balance is insufficient or timeInForce condition is triggered, the order may fail and change to the `expired` status. / `open` — Fully unfilled / `filled` — Execution closed. An order whose unfilled remainder is returned instead of resting on the book (e.g. an `ioc` order, or a price-protected (`pp`) order trimmed by the protection range) also closes as `filled` even when less than the requested quantity executed. Confirm the executed amount with `filledQty`/`filledAmt`. / `canceled` — Fully canceled / `partiallyFilled` — Partially filled / `partiallyFilledCanceled` — Partially filled and remaining amount canceled / `expired` — Order submission failed (due to insufficient balance or timeInForce conditions) required: - orderId - orderType - side - filledQty - filledAmt - createdAt - status required: - success example: success: true data: - orderId: 1234 orderType: limit side: buy avgPrice: '5000' price: '5000' qty: '10' filledQty: '1' filledAmt: '5000' createdAt: 1700000000000 lastFilledAt: 1700000000000 status: partiallyFilled - orderId: 1235 orderType: limit side: sell price: '5000' qty: '10' filledQty: '0' filledAmt: '0' createdAt: 1700000000000 status: open '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readOrders /v2/allOrders: get: operationId: getAllOrders summary: Get All Orders description: |- Query the recent order list for a single trading pair. Only orders created within 36 hours can be queried. This API is for checking order history, and the information provided may have a delay of a few seconds. If you need current information without delay, please use the `/v2/openOrders` or `/v2/orders` API. tags: - Trading parameters: - name: symbol in: query required: true description: Trading pair. schema: type: string examples: - btc_krw - name: accountSeq in: query description: Account sequence number. Defaults to 1 (main account). schema: type: number examples: - 1 - name: startTime in: query description: 'Query start time. Inclusive: a record at exactly this time is returned. Only data up to 36 hours prior to the current time can be queried. If not set, the query will retrieve data from 36 hours ago by default.' schema: type: number - name: endTime in: query description: 'Query end time. Exclusive: a record at exactly this time is not returned. If not set, data is retrieved up to the current time. Results are newest-first and capped at limit; to retrieve more, narrow the range with startTime/endTime.' schema: type: number - name: limit in: query description: 'Maximum number of queries (range: 1 to 1000). Default is 500.' schema: type: number examples: - 100 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: orderId: type: number description: Order ID generated by the server. examples: - 1234 clientOrderId: type: string description: '`clientOrderId` submitted from the user by POST /v2/orders.' examples: - 20141231-155959-abcdef symbol: type: string description: symbol. examples: - btc_krw orderType: type: string enum: - limit - market - best description: '`limit` — limit order / `market` — market order / `best` — best bid/offer' side: type: string enum: - buy - sell timeInForce: type: string enum: - gtc - ioc - fok - po description: 'Time in Force strategies. Default: - limit order: `gtc` - market order: `ioc` - best bid/offer: no default(Bad Request error if omitted) For market orders, only `ioc` can be entered. `gtc` — Good-Till-Canceled. The order will remain valid until terminated (fully executed or canceled) / `ioc` — Immediate-Or-Cancel. The order will be filled immediately, if can not then will be canceled. (Taker-Only) / `fok` — Fill-Or-Kill. The order will be filled fully, if can not then will be canceled. (Taker-Only) / `po` — Post-Only. If the order would be filled immediately, then will be canceled. (Maker-Only)' price: type: string description: Order price (limit/BBO order only. no price for market order. For BBO orders it's set after the price is determined). examples: - '5000' qty: type: string description: Order quantity (limit/BBO order or sell-side market order only. For BBO orders it's set after the quantity is determined). examples: - '10' amt: type: string description: Purchase amount in counter/quote asset like KRW. (buy-side market/BBO order only). examples: - '50000' filledQty: type: string description: Filled quantity. examples: - '10' filledAmt: type: string description: Filled amount in counter/quote asset like KRW. examples: - '50000' avgPrice: type: string description: Average execution price. examples: - '5000' createdAt: type: number description: Order timestamp (ms). examples: - 1700000000000 lastFilledAt: type: number description: Last execution timestamp (ms). examples: - 1700000000000 triggeredAt: type: number description: Stop-limit order trigged timestamp. examples: - 1700000000000 status: type: string enum: - pending - open - filled - canceled - partiallyFilled - partiallyFilledCanceled - expired description: Order status `pending` — Order pending. When the balance is insufficient or timeInForce condition is triggered, the order may fail and change to the `expired` status. / `open` — Fully unfilled / `filled` — Execution closed. An order whose unfilled remainder is returned instead of resting on the book (e.g. an `ioc` order, or a price-protected (`pp`) order trimmed by the protection range) also closes as `filled` even when less than the requested quantity executed. Confirm the executed amount with `filledQty`/`filledAmt`. / `canceled` — Fully canceled / `partiallyFilled` — Partially filled / `partiallyFilledCanceled` — Partially filled and remaining amount canceled / `expired` — Order submission failed (due to insufficient balance or timeInForce conditions) required: - orderId - symbol - orderType - side - filledQty - filledAmt - createdAt - status required: - success example: success: true data: - orderId: 1234 clientOrderId: 20141231-155959-abcdef symbol: btc_krw orderType: limit side: buy timeInForce: gtc avgPrice: '5000' price: '5000' qty: '10' filledQty: '1' filledAmt: '5000' createdAt: 1700000000000 lastFilledAt: 1700000000000 status: partiallyFilled - orderId: 1235 clientOrderId: 20141231-155959-abcdeg symbol: btc_krw orderType: limit side: sell timeInForce: gtc price: '5000' qty: '10' filledQty: '0' filledAmt: '0' createdAt: 1700000000000 lastFilledAt: 1700000000000 status: open '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readOrders /v2/myTrades: get: operationId: getMyTrades summary: Get Recent Trades description: |- Query the recent trades list for a single trading pair. Only trade history from the past 36 hours can be queried. This API is for checking trade history, and the information provided may have a delay of a few seconds. tags: - Trading parameters: - name: symbol in: query required: true description: Trading pair. schema: type: string examples: - btc_krw - name: accountSeq in: query description: Account sequence number. Defaults to 1 (main account). schema: type: number examples: - 1 - name: startTime in: query description: 'Query start time. Inclusive: a record at exactly this time is returned. Only data up to 36 hours prior to the current time can be queried. If not set, the query will retrieve data from 36 hours ago by default.' schema: type: number - name: endTime in: query description: 'Query end time. Exclusive: a record at exactly this time is not returned. If not set, data is retrieved up to the current time. Results are newest-first and capped at limit; to retrieve more, narrow the range with startTime/endTime.' schema: type: number - name: limit in: query description: 'Maximum number of queries (range: 1 to 1000). Default is 500.' schema: type: number examples: - 100 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: symbol: type: string description: symbol. examples: - btc_krw tradeId: type: number description: trade ID (the ID of the trade execution assigned to each trading pair). Monotonically increasing per trading pair, but not guaranteed to be contiguous. examples: - 1234 orderId: type: number description: order ID. examples: - 1234 side: type: string enum: - buy - sell price: type: string description: trade price. examples: - '5000' qty: type: string description: trade quantity (base). examples: - '10' amt: type: string description: trade amount (counter/quote). examples: - '50000' tradedAt: type: number description: trade timestamp (ms). examples: - 1700000000000 isTaker: type: boolean description: taker trade `true`, maker trade `false`. examples: - true feeCurrency: type: string description: asset used for fee payment. examples: - krw feeQty: type: string description: fee quantity. examples: - '50' required: - symbol - tradeId - orderId - side - price - qty - amt - tradedAt - isTaker required: - success example: success: true data: - symbol: btc_krw tradeId: 52 orderId: 382312 side: buy price: '5000' qty: '10' amt: '50000' tradedAt: 1700000000000 isTaker: true feeCurrency: krw feeQty: '50' '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readOrders /v2/balance: get: operationId: getBalance summary: Get Balance description: Get balance. tags: - Asset parameters: - name: accountSeq in: query description: Account sequence number. Defaults to 1 (main account). schema: type: number examples: - 1 - name: currencies in: query description: List of assets to query. Enter them separated by commas (,). If this field is not provided, all currently held assets will be queried. schema: type: string examples: - btc,eth responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: currency: type: string description: asset name. examples: - krw balance: type: string description: balance. `available + tradeInUse + withdrawalInUse`. examples: - '100' available: type: string description: available quantity. examples: - '70' tradeInUse: type: string description: quantity in trade. examples: - '20' withdrawalInUse: type: string description: quantity in withdrawal. examples: - '10' avgPrice: type: string description: average purchase price. examples: - '5000' required: - currency - balance - available - tradeInUse - withdrawalInUse - avgPrice required: - success example: success: true data: - currency: btc balance: '100' available: '70' tradeInUse: '20' withdrawalInUse: '10' avgPrice: '5000' - currency: eth balance: '100' available: '70' tradeInUse: '20' withdrawalInUse: '10' avgPrice: '5000' '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readBalances /v2/coin/depositAddresses: get: operationId: getCoinDepositAddresses summary: Get All Address description: Retrieve the list of cryptocurrency deposit addresses. tags: - Deposit (Crypto) parameters: - name: accountSeq in: query description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. schema: type: number examples: - 1 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: currency: type: string description: symbol of the asset. examples: - btc network: type: string description: symbol of the blockchain network. examples: - ETH address: type: string description: deposit address. examples: - 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: type: string description: secondary address (destination tag, memo, etc. if none, then null.) required: - currency - network - address required: - success example: success: true data: - currency: btc network: BTC address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa - currency: xrp network: XRP address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: '1234' '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readDeposits /v2/coin/depositAddress: get: operationId: getCoinDepositAddress summary: Get Single Address description: Get the deposit address for a single cryptocurrency. tags: - Deposit (Crypto) parameters: - name: accountSeq in: query description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. schema: type: number examples: - 1 - name: currency in: query required: true description: symbol of the asset. schema: type: string examples: - btc - name: network in: query description: symbol of the blockchain network. List of networks can be queried using the `/v2/currencies` API. Uses the default network if omitted. Please always specify the network to prevent possible errors, as the default network can be changed. schema: type: string examples: - BTC responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: object properties: currency: type: string description: symbol of the asset. examples: - btc network: type: string description: symbol of the blockchain network. examples: - ETH address: type: string description: deposit address. examples: - 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: type: string description: secondary address (destination tag, memo, etc. if none, then null.) required: - currency - network - address required: - success example: success: true data: currency: btc network: BTC address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readDeposits post: operationId: createCoinDepositAddress summary: Generate Address description: Generate a cryptocurrency deposit address. If a deposit address already exists, the existing address will be returned. tags: - Deposit (Crypto) requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object properties: accountSeq: type: number description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. examples: - 1 currency: type: string description: symbol of the asset. examples: - btc network: type: string description: symbol of the blockchain network. List of networks can be queried using the `/v2/currencies` API. Uses the default network if omitted. Please always specify the network to prevent possible errors, as the default network can be changed. examples: - BTC required: - currency responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: object properties: currency: type: string description: symbol of the asset. examples: - btc network: type: string description: symbol of the blockchain network. examples: - ETH address: type: string description: deposit address. examples: - 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: type: string description: secondary address (destination tag, memo, etc. if none, then null.) required: - currency - network - address required: - success example: success: true data: currency: btc network: BTC address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: writeDeposits /v2/coin/recentDeposits: get: operationId: getCoinRecentDeposits summary: Get Recent Deposits description: Get recent deposit history. tags: - Other parameters: - name: accountSeq in: query description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. schema: type: number examples: - 1 - name: currency in: query required: true description: symbol of the asset. schema: type: string examples: - btc - name: limit in: query description: 'Maximum number of queries (range: 1 to 100).' schema: type: number examples: - 100 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: id: type: number description: deposit ID. examples: - 1234 network: type: string description: symbol of the blockchain network. examples: - ETH address: type: string description: deposit address. examples: - 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: type: string description: secondary address (destination tag, memo, etc. if none, then null.) status: type: string enum: - pending - actionRequired - reviewing - done - refunded - failed description: deposit status `pending` — Deposit transaction is detected on the network. / `actionRequired` — Pending deposit documentation submission. To process the deposit, please submit the required documents for approval on the Korbit website. / `reviewing` — Deposit documentation reviewing. / `done` — Deposit done. / `refunded` — Deposit amount returned after review rejection. / `failed` — Deposit failed (e.g., due to issues with the transaction). transactionHash: type: string description: transaction hash. examples: - '0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f' currency: type: string description: symbol of the asset. examples: - btc quantity: type: string description: deposit quantity. examples: - '1.234' createdAt: type: number description: deposit timestamp (ms). examples: - 1700000000000 required: - id - network - address - status - transactionHash - currency - quantity - createdAt required: - success example: success: true data: - id: 1234 network: BTC address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: null status: done transactionHash: '0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f' currency: btc quantity: '1.234' createdAt: 1700000000000 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readDeposits /v2/coin/deposit: get: operationId: getCoinDeposit summary: Get Deposit Status description: Check the status of cryptocurrency deposits. tags: - Deposit (Crypto) parameters: - name: accountSeq in: query description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. schema: type: number examples: - 1 - name: currency in: query required: true description: symbol of the asset. schema: type: string examples: - btc - name: coinDepositId in: query required: true description: deposit ID. schema: type: number examples: - 1234 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: object properties: id: type: number description: deposit ID. examples: - 1234 network: type: string description: symbol of the blockchain network. examples: - ETH address: type: string description: deposit address. examples: - 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: type: string description: secondary address (destination tag, memo, etc. if none, then null.) status: type: string enum: - pending - actionRequired - reviewing - done - refunded - failed description: deposit status `pending` — Deposit transaction is detected on the network. / `actionRequired` — Pending deposit documentation submission. To process the deposit, please submit the required documents for approval on the Korbit website. / `reviewing` — Deposit documentation reviewing. / `done` — Deposit done. / `refunded` — Deposit amount returned after review rejection. / `failed` — Deposit failed (e.g., due to issues with the transaction). transactionHash: type: string description: transaction hash. examples: - '0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f' currency: type: string description: symbol of the asset. examples: - btc quantity: type: string description: deposit quantity. examples: - '1.234' createdAt: type: number description: deposit timestamp (ms). examples: - 1700000000000 required: - id - network - address - status - transactionHash - currency - quantity - createdAt required: - success example: success: true data: id: 1234 network: BTC address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: null status: done transactionHash: '0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f' currency: btc quantity: '1.234' createdAt: 1700000000000 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readDeposits /v2/coin/withdrawableAddresses: get: operationId: getCoinWithdrawableAddresses summary: Get Address description: Retrieve the list of addresses registered for API withdrawals. tags: - Withdrawal (Crypto) parameters: - name: accountSeq in: query description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. schema: type: number examples: - 1 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: network: type: string description: symbol of the blockchain network. examples: - ETH currency: type: string description: symbol of the asset. Omitted for withdraw addesses registered for any currency on the network. examples: - btc address: type: string description: address. examples: - 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: type: string description: secondary address (destination tag, memo, etc. if none, then null.) required: - network - address required: - success example: success: true data: - network: BTC currency: btc address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa - network: ETH address: '0x05a56e2d52c817161883f50c441c3228cfe54d9f' '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readWithdrawals /v2/coin/withdrawableAmount: get: operationId: getCoinWithdrawableAmount summary: Get Withdrawable Amount description: Get the available cryptocurrency withdrawal amount. tags: - Withdrawal (Crypto) parameters: - name: accountSeq in: query description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. schema: type: number examples: - 1 - name: currency in: query description: Symbol of the cryptocurrency to query. If not provided, all assets will be queried. schema: type: string examples: - btc responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: currency: type: string description: symbol of the asset. examples: - btc withdrawableAmount: type: string description: withdrawable amount. examples: - '1.52' withdrawalInUseAmount: type: string description: amount in withdrawal. examples: - '0.005' required: - currency - withdrawableAmount - withdrawalInUseAmount required: - success example: success: true data: - currency: btc withdrawableAmount: '1.52' withdrawalInUseAmount: '0.005' - currency: eth withdrawableAmount: '10.52' withdrawalInUseAmount: '2.5' '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readWithdrawals /v2/coin/withdrawal: post: operationId: createCoinWithdrawal summary: Request Withdrawal description: Request for cryptocurrency withdrawal. You need to register your withdrawal addresses for use with API in order to use this feature. tags: - Withdrawal (Crypto) requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object properties: accountSeq: type: number description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. examples: - 1 currency: type: string description: symbol of the asset. examples: - btc network: type: string description: symbol of the blockchain network. List of networks can be queried using the `/v2/currencies` API. Uses the default network if omitted. Please always specify the network to prevent possible errors, as the default network can be changed. examples: - BTC amount: type: string description: amount of cryptocurrency to withdraw (not including fees). examples: - '0.02521236' address: type: string description: Recipient address. Withdrawals can only be made to addresses registered for API withdrawals. examples: - 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: type: string description: secondary address (destination tag, memo, etc. if none, omit or set to an empty string.) required: - currency - amount - address responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: object properties: status: type: string enum: - pending - actionRequired - reviewing - processing - done - canceled - failed description: Withdrawal status `pending` — Withdrawal request received. / `actionRequired` — Pending email confirmation (withdrawal can be canceled). To proceed with the withdrawal, you must verify the confirmation email. / `reviewing` — Pending withdrawal reviewing (withdrawal can be canceled). Withdrawal may be delayed according to Korbit's policy. / `processing` — Withdrawal processing. / `done` — Withdrawal done. / `canceled` — Withdrawal canceled. / `failed` — Withdrawal failed. (Insufficient balance or other error) coinWithdrawalId: type: number description: withdrawal ID. examples: - 1234 required: - status - coinWithdrawalId required: - success example: success: true data: status: pending coinWithdrawalId: 1234 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: writeWithdrawals x-korbit-error-codes: - code: INVALID_CURRENCY message: Invalid currency - code: WITHDRAWAL_SUSPENDED message: Withdrawal suspended - code: UNREGISTERED_WITHDRAWAL_ADDRESS message: The address hasn't been registered as an OpenAPI withdrawal address. - code: FORBIDDEN_WITHDRAWAL_ADDRESS message: Withdrawals to the address is forbidden due to policy. - code: WITHDRAWAL_ALREADY_IN_PROGRESS message: A withdrawal is already in progress. Please try again after the current transaction is completed. - code: INVALID_USER_STATUS message: Your account is restricted. Please check your status or contact customer service. - code: NO_BALANCE message: 'Your balance is insufficient. Note: If your balance is insufficient, a `NO_BALANCE` error may occur, or the withdrawal request may succeed but appear as `failed` when checking the withdrawal status.' - code: DAILY_LIMIT_EXCEEDED message: You have exceeded the daily withdrawal limit. delete: operationId: deleteCoinWithdrawal summary: Cancel Withdrawal description: |- Cancel a cryptocurrency withdrawal. Withdrawals can only be canceled if the status is one of the following: - `actionRequired` - `reviewing` tags: - Withdrawal (Crypto) parameters: - name: accountSeq in: query description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. schema: type: number examples: - 1 - name: coinWithdrawalId in: query required: true description: withdrawal ID (responsed by `POST /v2/coin/withdrawal`). schema: type: number examples: - 1234 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true required: - success example: success: true '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: writeWithdrawals x-korbit-error-codes: - code: WITHDRAWAL_ALREADY_FINISHED message: The withdrawal has already been finished - code: CANNOT_CANCEL_WITHDRAWAL message: The withdrawal cannot be canceled (likely because it's being processed) - code: NOT_FOUND message: The withdrawal cannot be found get: operationId: getCoinWithdrawal summary: Get Withdrawal Status description: Get the status of the requested withdrawal. tags: - Withdrawal (Crypto) parameters: - name: accountSeq in: query description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. schema: type: number examples: - 1 - name: currency in: query required: true description: symbol of the asset. schema: type: string examples: - btc - name: coinWithdrawalId in: query required: true description: withdrawal ID. schema: type: number examples: - 1234 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: object properties: id: type: number description: withdrawal ID. examples: - 1234 quantity: type: string description: withdrawn coin quantity excluding fees. examples: - '1.234' fee: type: string description: withdrawal fee. examples: - '0.0001' currency: type: string description: symbol of the asset. examples: - btc status: type: string enum: - pending - actionRequired - reviewing - processing - done - canceled - failed description: Withdrawal status `pending` — Withdrawal request received. / `actionRequired` — Pending email confirmation (withdrawal can be canceled). To proceed with the withdrawal, you must verify the confirmation email. / `reviewing` — Pending withdrawal reviewing (withdrawal can be canceled). Withdrawal may be delayed according to Korbit's policy. / `processing` — Withdrawal processing. / `done` — Withdrawal done. / `canceled` — Withdrawal canceled. / `failed` — Withdrawal failed. (Insufficient balance or other error) network: type: string description: symbol of the blockchain network. examples: - ETH address: type: string description: withdrawal address. examples: - 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: type: string description: secondary address (destination tag, memo, etc. if none, then null.) transactionHash: type: string description: transaction hash on the blockchain. If not yet sent to the blockchain, `null` is returned. examples: - '0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f' createdAt: type: number description: withdrawal request timestamp (ms). examples: - 1700000000000 required: - id - quantity - fee - currency - status - network - address - createdAt required: - success example: success: true data: id: 1234 quantity: '1.234' fee: '0.0001' currency: btc status: done network: BTC address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: null transactionHash: '0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f' createdAt: 1700000000000 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readWithdrawals /v2/coin/recentWithdrawals: get: operationId: getCoinRecentWithdrawals summary: Get Recent Withdrawals description: Get recent cryptocurrency withdrawal history. tags: - Other parameters: - name: accountSeq in: query description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. schema: type: number examples: - 1 - name: currency in: query required: true description: symbol of the asset. schema: type: string examples: - btc - name: limit in: query description: 'Maximum number of queries (Range: 1 to 100).' schema: type: number examples: - 100 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: id: type: number description: withdrawal ID. examples: - 1234 quantity: type: string description: withdrawn coin quantity excluding fees. examples: - '1.234' fee: type: string description: withdrawal fee. examples: - '0.0001' currency: type: string description: symbol of the asset. examples: - btc status: type: string enum: - pending - actionRequired - reviewing - processing - done - canceled - failed description: Withdrawal status `pending` — Withdrawal request received. / `actionRequired` — Pending email confirmation (withdrawal can be canceled). To proceed with the withdrawal, you must verify the confirmation email. / `reviewing` — Pending withdrawal reviewing (withdrawal can be canceled). Withdrawal may be delayed according to Korbit's policy. / `processing` — Withdrawal processing. / `done` — Withdrawal done. / `canceled` — Withdrawal canceled. / `failed` — Withdrawal failed. (Insufficient balance or other error) network: type: string description: symbol of the blockchain network. examples: - ETH address: type: string description: withdrawal address. examples: - 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: type: string description: secondary address (destination tag, memo, etc. if none, then null.) transactionHash: type: string description: transaction hash on the blockchain. If not yet sent to the blockchain, `null` is returned. examples: - '0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f' createdAt: type: number description: withdrawal request timestamp (ms). examples: - 1700000000000 required: - id - quantity - fee - currency - status - network - address - createdAt required: - success example: success: true data: - id: 1234 quantity: '1.234' fee: '0.0001' currency: btc status: done network: BTC address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa secondaryAddress: null transactionHash: '0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f' createdAt: 1700000000000 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readWithdrawals /v2/krw/sendKrwDepositPush: post: operationId: createKrwSendKrwDepositPush summary: Request Deposit description: "Send a notification for KRW deposit requests to your Korbit mobile app. \nAfter receiving\ \ the notification, you must complete the verification process for the deposit to proceed.\nTo\ \ receive notifications, ensure that push notifications are enabled in the app settings." tags: - Deposit/Withdrawal (KRW) requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object properties: accountSeq: type: number description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. examples: - 1 amount: type: string description: Amount of KRW to deposit. examples: - '50000' required: - amount responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true required: - success example: success: true '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: writeDeposits /v2/krw/sendKrwWithdrawalPush: post: operationId: createKrwSendKrwWithdrawalPush summary: Request Withdrawal description: "Send a notification for KRW withdrawal requests to your Korbit mobile app. \nAfter\ \ receiving the notification, you must complete the verification process for the withdrawal to\ \ proceed.\nTo receive notifications, ensure that push notifications are enabled in the app settings." tags: - Deposit/Withdrawal (KRW) requestBody: required: true content: application/x-www-form-urlencoded: schema: type: object properties: accountSeq: type: number description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. examples: - 1 amount: type: string description: Amount of KRW to withdraw. examples: - '50000' required: - amount responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true required: - success example: success: true '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: writeWithdrawals /v2/krw/recentDeposits: get: operationId: getKrwRecentDeposits summary: Get Recent Deposits description: Get recent KRW deposit history. tags: - Deposit/Withdrawal (KRW) parameters: - name: accountSeq in: query description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. schema: type: number examples: - 1 - name: limit in: query description: 'Maximum number of queries (range: 1 to 100).' schema: type: number examples: - 100 - name: includeAll in: query description: Retrieve all transaction history. `false` — Only regular KRW deposits (default) / `true` — Includes additional items such as deposit fees, event rewards, etc. schema: type: string enum: - 'false' - 'true' responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: id: type: number description: KRW deposit ID. examples: - 1234 type: type: string enum: - general - depositInterest - makerIncentive - reward - etc description: Deposit type (when includeAll=true) `general` — Regular KRW deposit / `depositInterest` — Deposit fee / `makerIncentive` — Maker incentive / `reward` — Event reward / `etc` — Other status: type: string enum: - pending - processing - reviewing - done - canceling - canceled - failed description: KRW deposit status `pending` — Deposit request received. / `processing` — Processing deposit. / `reviewing` — Reviewing deposit. / `done` — Deposit done. / `canceling` — Deposit cancel requested. / `canceled` — Deposit canceled. / `failed` — Deposit failed. quantity: type: string description: deposit quantity. examples: - '1.234' createdAt: type: number description: deposit timestamp (ms). examples: - 1700000000000 required: - id - status - quantity - createdAt required: - success example: success: true data: - id: 1234 status: done quantity: '50000' createdAt: 1700000000000 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readDeposits /v2/krw/recentWithdrawals: get: operationId: getKrwRecentWithdrawals summary: Get Recent Withdrawals description: Get recent KRW withdrawal history. tags: - Deposit/Withdrawal (KRW) parameters: - name: accountSeq in: query description: Account sequence number. Deposit/withdrawal APIs only operate on the main account, so only `1` is accepted. Defaults to 1. schema: type: number examples: - 1 - name: limit in: query description: 'Maximum number of queries (Range: 1 to 100).' schema: type: number examples: - 100 responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: id: type: number description: KRW withdrawal ID. examples: - 1234 quantity: type: string description: Withdrawn KRW quantity excluding fees. examples: - '50000' fee: type: string description: withdrawal fee. examples: - '1000' status: type: string enum: - processing - done - failed - canceled description: KRW withdrawal status `processing` — Processing withdrawal. / `done` — Withdrawal done. / `failed` — Withdrawal failed. / `canceled` — Withdrawal canceled. createdAt: type: number description: withdrawal request timestamp (ms). examples: - 1700000000000 required: - id - quantity - fee - status - createdAt required: - success example: success: true data: - id: 1234 quantity: '50000' fee: '1000' status: done createdAt: 1700000000000 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readWithdrawals /v2/currencies: get: operationId: getCurrencies summary: Get Crypto Info description: Get cryptocurrencies information. tags: - Other responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: name: type: string description: currency symbol. examples: - btc fullName: type: string description: currency name. examples: - Bitcoin withdrawalStatus: type: string description: (deprecated) withdrawal status. Please refer to `withdrawalStatus` under the `networkList` field. depositStatus: type: string description: (deprecated) deposit status. Please refer to `depositStatus` under the `networkList` field. confirmationCount: type: string description: (deprecated) number of confirmations required for deposits. Please refer to `confirmationCount` under the `networkList` field. withdrawalTxFee: type: string description: (deprecated) withdrawal fees. Please refer to `withdrawalTxFee` under the `networkList` field. withdrawalMinAmount: type: string description: minimum withdrawal amount. Please refer to `withdrawalMinAmount` under the `networkList` field. withdrawalMaxAmountPerRequest: type: string description: max withdrawal amount per each request. examples: - '10' defaultNetwork: type: string description: symbol for the default blockchain network. examples: - BTC networkList: type: array items: type: object properties: name: type: string description: network symbol. examples: - ETH fullName: type: string description: network name. examples: - Ethereum withdrawalStatus: type: string enum: - launched - stopped description: 'possible to withdraw: `launched` — yes / `stopped` — no' depositStatus: type: string enum: - launched - stopped description: 'possible to deposit: `launched` — yes / `stopped` — no' confirmationCount: type: number description: number of confirmations required for deposits. examples: - 3 withdrawalTxFee: type: string description: withdrawal fees. examples: - '0.0001' withdrawalMinAmount: type: string description: minimum withdrawal amount. examples: - '0.00000001' withdrawalPrecision: type: number description: decimal places for withdrawal quantity. examples: - 8 hasSecondaryAddr: type: boolean description: Whether the network has a secondary address contractAddress: type: string description: contract address. examples: - '0x6b3595068778dd592e39a122f4f5a5cf09c90fe2' addressExplorerUrl: type: string description: blockchain explorer address. examples: - https://etherscan.io/address/ required: - name - fullName - withdrawalStatus - depositStatus - confirmationCount - withdrawalTxFee - withdrawalMinAmount - withdrawalPrecision - hasSecondaryAddr description: list of supported blockchain networks (not present for fiat currencies) required: - name - fullName - withdrawalMaxAmountPerRequest required: - success example: success: true data: - name: krw fullName: Won withdrawalMaxAmountPerRequest: '5000000000' depositStatus: launched withdrawalStatus: launched withdrawalTxFee: '1000' withdrawalMinAmount: '1000' - name: btc fullName: Bitcoin withdrawalMaxAmountPerRequest: '120' defaultNetwork: BTC networkList: - name: BTC fullName: Bitcoin depositStatus: launched withdrawalStatus: launched confirmationCount: 3 withdrawalTxFee: '0.0008' withdrawalMinAmount: '0.0001' withdrawalPrecision: 8 hasSecondaryAddr: false addressExplorerUrl: https://www.blockchain.com/ko/btc/address/ depositStatus: launched withdrawalStatus: launched confirmationCount: '3' withdrawalTxFee: '0.0008' withdrawalMinAmount: '0.0001' - name: eth fullName: Ethereum withdrawalMaxAmountPerRequest: '2000' defaultNetwork: ETH networkList: - name: ETH fullName: Ethereum depositStatus: launched withdrawalStatus: launched confirmationCount: 45 withdrawalTxFee: '0.005' withdrawalMinAmount: '0.0001' withdrawalPrecision: 8 hasSecondaryAddr: false addressExplorerUrl: https://etherscan.io/address/ - name: BASE fullName: BASE depositStatus: launched withdrawalStatus: launched confirmationCount: 1 withdrawalTxFee: '0.001' withdrawalMinAmount: '0.0001' withdrawalPrecision: 8 hasSecondaryAddr: false addressExplorerUrl: https://basescan.org/address/ depositStatus: launched withdrawalStatus: launched confirmationCount: '45' withdrawalTxFee: '0.005' withdrawalMinAmount: '0.0001' - name: usdt fullName: Tether withdrawalMaxAmountPerRequest: '500000' defaultNetwork: TRX networkList: - name: TRX fullName: Tron depositStatus: launched withdrawalStatus: launched confirmationCount: 1 withdrawalTxFee: '1' withdrawalMinAmount: '1' withdrawalPrecision: 6 hasSecondaryAddr: false addressExplorerUrl: https://tronscan.org/#/address/ depositStatus: launched withdrawalStatus: launched confirmationCount: '1' withdrawalTxFee: '1' withdrawalMinAmount: '1' '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v2/time: get: operationId: getTime summary: Get Server Time description: Get the current server time. tags: - Other responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: object properties: time: type: number description: timestamp. examples: - 1700000000000 required: - time required: - success example: success: true data: time: 1700000000000 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v2/tradingFeePolicy: get: operationId: getTradingFeePolicy summary: Get Trading Fee Rates description: Get the trading fee rates applied to your account. tags: - Other parameters: - name: accountSeq in: query description: Account sequence number. Defaults to 1 (main account). schema: type: number examples: - 1 - name: symbol in: query description: Enter the symbols of the trading pairs to query. To input multiple trading pairs, separate them with commas(,). If omitted, information for all available trading pairs on Korbit will be returned. schema: type: string examples: - btc_krw,eth_krw responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: symbol: type: string description: Trading pair symbol. examples: - btc_krw buyFeeCurrency: type: string description: Fee currency for buy orders. examples: - btc sellFeeCurrency: type: string description: Fee currency for sell orders. examples: - krw maxFeeRate: type: string description: Maximum fee rate. For buy orders of trading pairs where `buyFeeCurrency` is `krw`, an additional amount of KRW equal to `quantity*price*maxFeeRate` will be required (converted to the amount in use). Once the order is executed, it will be settled according to the fee rate at the time of execution. examples: - '0.0015' takerFeeRate: type: string description: Taker fee rate. examples: - '0.0015' makerFeeRate: type: string description: Maker fee rate. examples: - '0' required: - symbol - buyFeeCurrency - sellFeeCurrency - maxFeeRate - takerFeeRate - makerFeeRate required: - success example: success: true data: - symbol: btc_krw buyFeeCurrency: btc sellFeeCurrency: krw maxFeeRate: '0.002' takerFeeRate: '0.0015' makerFeeRate: '0' - symbol: eth_krw buyFeeCurrency: eth sellFeeCurrency: krw maxFeeRate: '0.002' takerFeeRate: '0.0015' makerFeeRate: '0' - symbol: etc_krw buyFeeCurrency: krw sellFeeCurrency: krw maxFeeRate: '0.002' takerFeeRate: '0.0015' makerFeeRate: '0' - symbol: xrp_krw buyFeeCurrency: krw sellFeeCurrency: krw maxFeeRate: '0.002' takerFeeRate: '0.0015' makerFeeRate: '0' '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Missing or invalid API key / signature. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: API key lacks the required permission or the IP is not allowlisted. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: readOrders /v2/currentKeyInfo: get: operationId: getCurrentKeyInfo summary: Get API Key Info description: Get current API Key's information. tags: - Other responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: object properties: apiKey: type: string description: API Key ID. examples: - FFSoRME97Sr7WBCMZJ_NO5Bj8MZ03EyArRzqyr1NKIA userUuid: type: string description: UUID of the user who owns this API key. examples: - f81d4fae-7dec-11d0-a765-00a0c91e6bf6 type: type: string enum: - hmac-sha256 - ed25519 description: Key Type publicKey: type: string description: ED25519 public key. (only for `ED25519` type.). examples: - '-----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAk+Yp3C31eFwoky+zyRNB6rAv/lgULTeghxTQpqwQHzM= -----END PUBLIC KEY-----' permissions: type: array items: type: string enum: - readBalances - readOrders - writeOrders - readDeposits - writeDeposits - readWithdrawals - writeWithdrawals whitelist: type: string description: List of IP addresses the API key can connect from. Multiple addresses are separated by commas (`,`). examples: - 1.2.3.4,5.6.7.8 expiration: type: number description: API key expiration timestamp (scheduled). examples: - 1700000000000 status: type: string enum: - activated - deactivated description: status of the key label: type: string description: label (custom name). examples: - test key allowedAccountSeqs: type: string description: List of account sequence numbers this API key is allowed to access. createdAt: type: number description: API key creation timestamp. examples: - 1700000000000 required: - apiKey - type - permissions - whitelist - expiration - status - allowedAccountSeqs - createdAt required: - success example: success: true data: apiKey: FFSoRME97Sr7WBCMZJ_NO5Bj8MZ03EyArRzqyr1NKIA userUuid: f81d4fae-7dec-11d0-a765-00a0c91e6bf6 type: ed25519 publicKey: | -----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAk+Yp3C31eFwoky+zyRNB6rAv/lgULTeghxTQpqwQHzM= -----END PUBLIC KEY----- permissions: - readBalances - readOrders whitelist: 1.2.3.4,5.6.7.8 allowedAccountSeqs: - 1 - 2 expiration: 1700000000000 status: activated label: test key createdAt: 1700000000000 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - KorbitApiKey: [] x-korbit-permission: signed (any key) /v2/notices: get: operationId: getNotices summary: Get Notices description: |- Get the 20 most recent Korbit notices (announcements), most recent first. Includes both general Korbit notices and Open API (developer center) notices. tags: - Other responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: title: type: string description: Notice title. examples: - 공지사항 제목 샘플 createdAt: type: number description: Notice creation timestamp (ms). examples: - 1700000000000 updatedAt: type: number description: Notice last-updated timestamp (ms). May be absent for some notices. examples: - 1700000000000 url: type: string description: URL to the notice detail page. examples: - https://www.korbit.co.kr/notice/detail/?noticeId=4Oy9q6ALiM7jABzMt32ul5 required: - title - createdAt - url required: - success example: success: true data: - title: 공지사항 제목 샘플 createdAt: 1700000000000 updatedAt: 1700000000000 url: https://www.korbit.co.kr/notice/detail/?noticeId=4Oy9q6ALiM7jABzMt32ul5 '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] /v2/marketAlerts: get: operationId: getMarketAlerts summary: Get Market Alerts description: Get the current market alert (Market Warning System, 시장경보제) status for each trading pair. Returns only pairs that currently have active alerts. tags: - Other responses: '200': description: Successful response content: application/json: schema: type: object properties: success: type: boolean examples: - true data: type: array items: type: object properties: symbol: type: string description: Trading pair symbol. examples: - btc_krw alerts: type: array items: type: object properties: type: type: string description: Alert type. examples: - price typeKorean: type: string description: Alert type (Korean label). examples: - 가격 급등락 level: type: string description: Alert level (present only for some alert types). examples: - danger levelKorean: type: string description: Alert level (Korean label). examples: - 투자위험 startAt: type: number description: Alert start timestamp (ms). examples: - 1700000000000 endAt: type: number description: Alert end timestamp (ms). examples: - 1700000000000 value: type: string description: Alert threshold or measured value (decimal string; meaning depends on `type`). examples: - '250.5' required: - type description: Active market alerts for this pair required: - symbol - alerts required: - success example: success: true data: - symbol: btc_krw alerts: - type: price typeKorean: 가격 급등락 level: danger levelKorean: 투자위험 startAt: 1700000000000 endAt: 1700000000000 value: '250.5' - type: limit_buy_range typeKorean: 주문가격 제한 startAt: 1700000000000 endAt: 1700000000000 value: '145000000' '400': description: Bad request — see the error envelope and error codes. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded. Honor `Retry-After` / the `Ratelimit` reset window. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: [] components: securitySchemes: KorbitApiKey: type: apiKey in: header name: X-KAPI-KEY description: API key issued in the Korbit Developers portal (https://developers.korbit.co.kr). Keys carry permissions (readOrders, writeOrders, readBalances, readDeposits, writeDeposits, readWithdrawals, writeWithdrawals), may be pinned to an IP allowlist, and are valid for one year. Every signed request additionally carries `timestamp` and `signature` parameters (HMAC-SHA256 hex or ED25519 base64). schemas: ErrorResponse: type: object description: Korbit error envelope. `error.message` carries the symbolic error code. properties: success: type: boolean examples: - false error: type: object properties: message: type: string description: Symbolic error code, e.g. `NO_BALANCE`. examples: - NO_BALANCE required: - success