API Reference

OrderBook

Description

Rate Limit: 10 requests per second per IP for Subscribe and Unsubscribe.

Upon subscription, the first push will include the full quantity of bids | asks; subsequent pushes will only include increments.

Response Packet Protocol: binary

Request

{
    "event": "SUBSCRIBE",
    "arg": [
        {
            "channel": "ORDER_BOOK",
            "instId": "OKX_PERP_BTC_USDT"
        },
        {  
            "channel":"ORDER_BOOK",  
            "instId":"BINANCE_SPOT_BTC_USDT"  
        },  
        {  
            "channel":"ORDER_BOOK",  
            "instId":"OKX_SPOT_BTC_USDT"  
        },{  
            "channel":"ORDER_BOOK",  
            "instId":"BINANCE_PERP_BTC_USDT"  
        }
    ]  
}
 
Field nameTypeNecessaryRemarks
eventStringYSUBSCRIBE, UNSUBSCRIBE
argsArrayYSubscribe param. There can be no more than 50 instId parameters per subscribe.
> channelStringYChannel name
> instIdStringYUnique identifier

Response

{
    "event": "SUBSCRIBE",
    "arg": [
        {
            "channel": "ORDER_BOOK",
            "instId": "OKX_PERP_BTC_USDT"
        },
        {
            "channel": "ORDER_BOOK",
            "instId": "BINANCE_SPOT_BTC_USDT"
        },
        {
            "channel": "ORDER_BOOK",
            "instId": "OKX_SPOT_BTC_USDT"
        },
        {
            "channel": "ORDER_BOOK",
            "instId": "BINANCE_PERP_BTC_USDT"
        }
    ],
    "code": 0,
    "message": "Success"
}
FieldTypeRemarks
eventStringSUBSCRIBE, UNSUBSCRIBE
codeStringError Code
msgStringError Message
argsArraySubscribe param
> channelStringChannel
> instIdStringUnique identifier

Order book example:

{
    "arg": {
        "channel": "ORDER_BOOK",
        "instId": "BINANCE_PERP_BTC_USDT"
    },
    "data": {
        "localTs": 1736426510957751300,
        "exchangeTs": 1736426510956000000,
        "seqNum": 5818843132,
        "type": "update",
        "preseqNum": 5818843129,
        "ltp": "93261.400000",
        "ttv": "167880070889.075409",
        "ttq": "1742014.077255",
        "state": "0",
        "bids": [
            [
                "93252.900000",
                "0.000000"
            ],
            [
                "93253.000000",
                "4.086000"
            ],
            [
                "93254.200000",
                "0.003000"
            ],
            [
                "93256.300000",
                "0.055000"
            ],
            [
                "93261.300000",
                "7.568000"
            ]
        ],
        "asks": [
            [
                "93261.400000",
                "1.434000"
            ],
            [
                "93271.700000",
                "0.008000"
            ]
        ],
        "trades": [
            [
                "93261.400000",
                "0.012000",
                "1",
                "1736426510914000000"
            ],
            [
                "93261.400000",
                "0.009000",
                "1",
                "1736426510956000000"
            ]
        ]
    }
}

FieldTypeRemarks
channelStringexample: ORDER_BOOK
instIdStringUnique identifier
exchangeTsLongExchange timestamp
localTsLongLocal timestamp
typeString"Update" for Incremental Data, "All" for Full Data.
preseqNumLongLast Sequence Number
seqNumLongCurrent Sequence Number
ltpStringLast traded price
ttvStringLatest traded volume
ttqStringLatest traded quantity
stateStringTrading Pairs state(NORMAL=0,CLOSE=1)
bidsArrayBid levels, up to 50 levels
> priceStringPrice
> qtyStringQuantity
asksArrayAsk levels, up to 50 levels
> priceStringPrice
> qtyStringQuantity
tradesArraytransactions
> priceStringPrice
> qtyStringQuantity
> sideStringSide(BUY=0,SELL=1)
> exchangeTsLongTransaction Time