All timestamps in JSON payloads are in milliseconds by default.
Events may contain non-ASCII characters encoded in UTF-8 if you own or trade any assets or symbols
whose names contain non-ASCII characters.
User Data Stream Events
Account Update
outboundAccountPosition is sent any time an account balance has changed and contains the assets
that were possibly changed by the event that generated the balance change.
Code
{ "subscriptionId": 0, "event": { "e": "outboundAccountPosition", // Event type "E": 1564034571105, // Event Time "u": 1564034571073, // Time of last account update "B": // Balances Array [ { "a": "ETH", // Asset "f": "10000.000000", // Free "l": "0.000000" // Locked } ] }}
Balance Update
Balance Update occurs during the following:
Deposits or withdrawals from the account
Transfer of funds between accounts (e.g. Spot to Margin)
Payload
Code
{ "subscriptionId": 0, "event": { "e": "balanceUpdate", // Event Type "E": 1573200697110, // Event Time "a": "BTC", // Asset "d": "100.00000000", // Balance Delta "T": 1573200697068 // Clear Time }}
Order Update
Orders are updated with the executionReport event.
Payload:
Code
{ "subscriptionId": 0, "event": { "e": "executionReport", // Event type "E": 1499405658658, // Event time "s": "ETHBTC", // Symbol "c": "mUvoqJxFIILMdfAW5iGSOW", // Client order ID "S": "BUY", // Side "o": "LIMIT", // Order type "f": "GTC", // Time in force "q": "1.00000000", // Order quantity "p": "0.10264410", // Order price "P": "0.00000000", // Stop price "F": "0.00000000", // Iceberg quantity "g": -1, // OrderListId "C": "", // Original client order ID; This is the ID of the order being canceled "x": "NEW", // Current execution type "X": "NEW", // Current order status "r": "NONE", // Order reject reason; Please see Order Reject Reason (below) for more information. "i": 4293153, // Order ID "l": "0.00000000", // Last executed quantity "z": "0.00000000", // Cumulative filled quantity "L": "0.00000000", // Last executed price "n": "0", // Commission amount "N": null, // Commission asset "T": 1499405658657, // Transaction time "t": -1, // Trade ID "v": 3, // Prevented Match Id; This is only visible if the order expired due to STP "I": 8641984, // Execution Id "w": true, // Is the order on the book? "m": false, // Is this trade the maker side? "M": false, // Ignore "O": 1499405658657, // Order creation time "Z": "0.00000000", // Cumulative quote asset transacted quantity "Y": "0.00000000", // Last quote asset transacted quantity (i.e. lastPrice * lastQty) "Q": "0.00000000", // Quote Order Quantity "W": 1499405658657, // Working Time; This is only visible if the order has been placed on the book. "V": "NONE" // SelfTradePreventionMode }}
Note: Average price can be found by doing Z divided by z.
Conditional Fields in Execution Report
These are fields that appear in the payload only if certain conditions are met.
For additional information on these parameters, please refer to the
Spot Glossary.
Order Reject Reason
For additional details, look up the Error Message in the
Errors
documentation.
Rejection Reason (r)
Error Message
NONE
N/A (i.e. The order was not rejected.)
INSUFFICIENT_BALANCES
"Account has insufficient balance for requested action."
STOP_PRICE_WOULD_TRIGGER_IMMEDIATELY
"Order would trigger immediately."
WOULD_MATCH_IMMEDIATELY
"Order would immediately match and take."
OCO_BAD_PRICES
"The relationship of the prices for the orders is not correct."
If the order is an order list, an event named ListStatus will be sent in addition to the
executionReport event.
Payload
Code
{ "subscriptionId": 0, "event": { "e": "listStatus", // Event Type "E": 1564035303637, // Event Time "s": "ETHBTC", // Symbol "g": 2, // OrderListId "c": "OCO", // Contingency Type "l": "EXEC_STARTED", // List Status Type "L": "EXECUTING", // List Order Status "r": "NONE", // List Reject Reason "C": "F4QN4G8DlFATFlIUQ0cjdD", // List Client Order ID "T": 1564035303625, // Transaction Time "O": // An array of objects [ { "s": "ETHBTC", // Symbol "i": 17, // OrderId "c": "AJYsMjErWJesZvqlJCTUgL" // ClientOrderId }, { "s": "ETHBTC", "i": 18, "c": "bfYPSQdLoqAJeNrOr9adzq" } ] }}
Execution types
See Execution types on the Enums page for what each
x / X value means.
Order Expiry Reason
See Expiry Reasons on the Enums page for what each
eR value means.