Korbit Asset API

The Asset API from Korbit — 1 operation(s) for asset.

OpenAPI Specification

korbit-asset-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Korbit Open API v2 Asset API
  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": "<CODE>"}}`.


    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: Asset
paths:
  /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
components:
  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
  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).