My Asset

This document provides example request and subscription payloads for receiving personal asset data via WebSocket.

Version Date Changes
v1.1.3 2024-04-25 Addition of MyAsset

Real-Time Streaming Method for My Asset

For My Asset data, the real-time stream transmits updates only when there is an actual change in the asset balance. Therefore, it is normal behavior that no data is received if no asset changes occur after connection. Please refer to the WebSocket Usage Guide – Connection Management to ensure your client implementation maintains the connection even when no data is transmitted.

Important Notice for Initial Use of My Asset WebSocket Stream
When subscribing to the My Asset WebSocket stream for the first time, data reception may not occur properly for several minutes regardless of asset changes. After the initial connection to the account, please ensure to verify data reception through reconnection or other means before using the stream. For example, if you first use the stream at 00:00 on May 1, 2025, even if asset changes occur, the stream data might only start transmitting from 00:05. Upon reconnecting at 00:10, since this is not the initial connection, the stream will provide immediate updates upon asset changes.
Check the proper endpoint based on your region.
The examples in this page is written using Singapore fiat code(SGD). Set the quote currency to match your region. The base_url differs by country/region. Make sure to specify the correct region value for your environment.

Quotation
- Singapore (sg): wss://sg-api.upbit.com/websocket/v1
- Indonesia (id): wss://id-api.upbit.com/websocket/v1
- Thailand (th): wss://th-api.upbit.com/websocket/v1

Exchange
- Singapore (sg): wss://sg-api.upbit.com/websocket/v1/private
- Indonesia (id): wss://id-api.upbit.com/websocket/v1/private
- Thailand (th): wss://th-api.upbit.com/websocket/v1/private

Request Message Format

To request my assey data, after establishing the WebSocket connection, you must create a JSON object with the structure below and include it as a Data Type Object in the request message. For the full WebSocket data request message specification including Ticket and Format fields, please refer to the WebSocket Usage Guide document.

The subscription request for My Asset data type does not support the pair code (codes) parameter.
Unlike other data type subscription requests, including the pair code parameter in My Asset type data subscription requests will result in a WRONG_FORMAT error. Please exercise caution when using this feature.
Field Name Type Description Required Default Value
type String myAsset Required

Examples

[
  {
    "ticket": "0e66c0ac-7e13-43ef-91fb-2a87c2956c49"
  },
  {
    "type": "myAsset"
  }
]
[
  {
    "ticket": "0e66c0ac-7e13-43ef-91fb-2a87c2956c49"
  },
  {
    "type": "myAsset"
  },
  {
    "format": "JSON_LIST"
  }
]

Subscription Data Specification

Field Name
Abbreviation
Description
Type Value
type ty Data type String myAsset
asset_uuid astuid Unique identifier of the asset String
assets ast List of assets List of Objects
assets.currency ast.cu Currency code String
assets.balance ast.b Available quantity for orders Double
assets.locked ast.l Quantity locked in active orders Double
asset_timestamp asttms Asset timestamp (ms) Long
timestamp tms Timestamp (ms) Long
stream_type st Stream type String REALTIME : Real-time

Examples

{
  "type": "myAsset",
  "asset_uuid": "e635f223-1609-4969-8fb6-4376937baad6",
  "assets": [
    {
      "currency": "SGD",
      "balance": 1386929.37231066771348207123,
      "locked": 10329.670127489597585685
    }
  ],
  "asset_timestamp": 1710146517259,
  "timestamp": 1710146517267,
  "stream_type": "REALTIME"
}
[
  {
    "type": "myAsset",
    "asset_uuid": "e635f223-1609-4969-8fb6-4376937baad6",
    "assets": [
      {
        "currency": "SGD",
        "balance": 1386929.37231066771348207123,
        "locked": 10329.670127489597585685
      }
    ],
    "asset_timestamp": 1710146517259,
    "timestamp": 1710146517267,
    "stream_type": "REALTIME"
  }
]