This document provides example request and subscription payloads for receiving personal order and trade execution data via WebSocket.
Version | Date | Changes |
---|---|---|
v1.2.1 | 2025-07-02 |
Addition of Self-Match Prevention (SMP) feature
|
v1.1.9 | 2024-12-04 |
Addition of fields to My Orders trade_fee , is_maker , identifier
|
v1.1.8 | 2024-11-27 |
Addition of fields to
best_ask_price , best_ask_size , best_bid_price , best_bid_size
|
v1.1.8 | 2024-11-20 | MyTrade Deprecated |
v1.1.4 | 2024-05-29 |
Addition of trade_uuid field,Addition of trade_timestamp field
|
v1.1.3 | 2024-04-25 |
Addition of MyOrder, MyTrade Deprecated (planned) |
v1.1.0 | 2023-10-06 | MyTrade WebSocket support |
Real-Time Streaming Method for My Orders and Trades
For my orders and trades data, the corresponding information is transmitted as a real-time stream only when an actual order or trade event occurs. Therefore, it is normal behavior that no data is received if no orders or trades happen after the connection is established.
Please refer to the WebSocket Usage Guide - Connection Management to ensure your client implementation or specifications maintain the connection even when no data is being transmitted.
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 order and trade 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.
Field Name | Type | Description | Required | Default |
---|---|---|---|---|
type | String | myOrder |
Required | |
codes | List | List of trading pairs to receive. Must be requested in uppercase. |
Optional | If omitted or requested as an empty array, data for all markets will be received. |
Examples
[
{
"ticket": "0e66c0ac-7e13-43ef-91fb-2a87c2956c49"
},
{
"type": "myOrder"
}
]
// or
[
{
"ticket": "test-myOrder"
},
{
"type": "myOrder",
"codes": []
}
]
[
{
"ticket": "0e66c0ac-7e13-43ef-91fb-2a87c2956c49"
},
{
"type": "myOrder",
"codes": ["SGD-BTC"]
}
]
[
{
"ticket": "0e66c0ac-7e13-43ef-91fb-2a87c2956c49"
},
{
"type": "myOrder",
"codes": ["SGD-BTC"]
},
{
"format": "JSON_LIST"
}
]
Subscription Data Specification
smp_type
:reduce
,cancel_maker
,cancel_taker
- A new order state
prevented
(match prevention) has been added to thestate
field. - A new order condition
post_only
has been added, andpost_only
is now a valid value for thetime_in_force
field.
Field Name | Abbreviation | Description | Type | Value |
---|---|---|---|---|
type | ty | Data type | String | myOrder |
code | cd | Pair code (e.g., SGD-BTC) | String | |
uuid | uid | Unique identifier (UUID) for the order. | String | |
ask_bid | ab | Buy/Sell classification | String | ASK : SellBID : Buy |
order_type | ot | Order type | String |
limit : Limit orderprice : Market buy ordermarket : Market sell orderbest : Best limit order
|
state | s | Order state | String |
wait : Waiting to be filledwatch : Pending reserved ordertrade : Trade occurreddone : Fully filledcancel : Order canceledprevented : Match prevented
|
trade_uuid | tuid | Unique identifier (UUID) for the trade | String | |
price | p | Order price or trade price (when state is "trade") | Double | |
avg_price | ap | Average trade price | Double | |
volume | v | Order volume or trade volume (when state is trade) | Double | |
remaining_volume | rv | Remaining order volume after trade | Double | |
executed_volume | ev | Executed volume | Double | |
trades_count | tc | Number of trades on this order | Integer | |
reserved_fee | rsf | Reserved fee amount | Double | |
remaining_fee | rmf | Remaining fee amount | Double | |
paid_fee | pf | Fee amount paid at the time of execution. | Double | |
locked | l | Funds locked for the order | Double | |
executed_funds | ef | Amount executed | Double | |
time_in_force | tif | IOC, FOK, POST ONLY order conditions | String |
ioc fok post_only
|
trade_fee | tf | Fee incurred upon trade (state:trade(null if state is not trade) | Double | |
is_maker | im | Maker/taker status of the order involved in the trade (state: trade (null if state is not trade) | Boolean |
true : Maker orderfalse : Taker order
|
identifier | id | Client-specified order identifier | String | |
smp_type | smpt | Self-match prevention type (prevents matching between maker and taker orders from the same user) | String |
reduce : Reduce and proceedcancel_maker : Cancel maker ordercancel_taker : Cancel taker order
|
prevented_volume | pv | Order quantity canceled due to self-match prevention | Double | |
prevented_locked | pl | Amount canceled due to self-match prevention (For buy orders: canceled amount in funds For sell orders: canceled amount in volume) | Double | |
trade_timestamp | ttms | Trade timestamp (ms) | Long | |
order_timestamp | otms | Order timestamp (ms) | Long | |
timestamp | tms | Timestamp (ms) | Long | |
stream_type | st | Stream type | String |
REALTIME : Real-time streamSNAPSHOT : Snapshot
|
Examples
{
"type": "myOrder",
"code": "SGD-XRP",
"uuid": "ac2dc2a3-fce9-40a2-a4f6-5987c25c438f",
"ask_bid": "BID",
"order_type": "limit",
"state": "trade",
"trade_uuid": "68315169-fba4-4175-ade3-aff14a616657",
"price": 0.001453,
"avg_price": 0.00145372,
"volume": 30925891.29839369,
"remaining_volume": 29968038.09235948,
"executed_volume": 30925891.29839369,
"trades_count": 1,
"reserved_fee": 44.23943970238218,
"remaining_fee": 21.77177967409916,
"paid_fee": 22.467660028283017,
"locked": 43565.33112787242,
"executed_funds": 44935.32005656603,
"time_in_force": null,
"trade_fee": 22.467660028283017,
"is_maker": true,
"identifier": "test-1",
"smp_type": "cancel_maker",
"prevented_volume": 1.174291929,
"prevented_locked": 0.001706246173,
"trade_timestamp": 1710751590421,
"order_timestamp": 1710751590000,
"timestamp": 1710751597500,
"stream_type": "REALTIME"
}
[
{
"type": "myOrder",
"code": "SGD-XRP",
"uuid": "ac2dc2a3-fce9-40a2-a4f6-5987c25c438f",
"ask_bid": "BID",
"order_type": "limit",
"state": "trade",
"trade_uuid": "68315169-fba4-4175-ade3-aff14a616657",
"price": 0.001453,
"avg_price": 0.00145372,
"volume": 30925891.29839369,
"remaining_volume": 29968038.09235948,
"executed_volume": 30925891.29839369,
"trades_count": 1,
"reserved_fee": 44.23943970238218,
"remaining_fee": 21.77177967409916,
"paid_fee": 22.467660028283017,
"locked": 43565.33112787242,
"executed_funds": 44935.32005656603,
"time_in_force": null,
"trade_fee": 22.467660028283017,
"is_maker": true,
"identifier": "test-1",
"smp_type": "cancel_maker",
"prevented_volume": 1.174291929,
"prevented_locked": 0.001706246173,
"trade_timestamp": 1710751590421,
"order_timestamp": 1710751590000,
"timestamp": 1710751597500,
"stream_type": "REALTIME"
}
]