본문으로 건너뛰기

오더북

실시간 오더북(매수/매도 호가) 스트림입니다. 구독한 {symbol}@{exchange} 페어에 대해 현물 또는 선물 시장에서 업데이트를 받을 수 있으며, 각 업데이트는 전체 오더북 스냅샷이므로 클라이언트에서 델타를 병합할 필요가 없습니다.

연결

# spot market
websocat wss://api.datamaxiplus.com/ws/v1/orderbook/spot -H 'X-DTMX-APIKEY: $YOUR_API_KEY'

# futures market
websocat wss://api.datamaxiplus.com/ws/v1/orderbook/futures -H 'X-DTMX-APIKEY: $YOUR_API_KEY'

구독

  • method는 요청 유형을 지정합니다 (SUBSCRIBE 또는 PING).
  • params 리스트는 사용자가 구독하려는 거래소의 심볼 목록입니다. 파라미터 형식은 {base}-{quote}@{exchange}@{currency}@{conversionBase}입니다 (예: "BTC-KRW@upbit@USD@USDT"). 티커와 동일한 형식으로, 뒤쪽 두 세그먼트는 생략 가능하며 기본값은 USD/USDT입니다.
  • id는 구독 요청을 고유하게 식별하며 응답 ack에도 반환됩니다.
{
"method": "SUBSCRIBE",
"params": [
string
],
"id": int32
}

유효하지 않은 페어는 구독 목록에서 조용히 제거됩니다. ack 응답에는 검증을 통과한 페어만 반환됩니다. 브로드캐스트되는 매수/매도 가격은 페어의 원래 호가 통화(quote)에서 요청한 currency로 변환됩니다.

응답

각 업데이트는 하나의 페어에 대한 전체 오더북 스냅샷입니다. protojson 인코딩 — 키는 protobuf 스키마의 짧은 JSON 이름을 사용합니다.

필드 (JSON key)설명
idTokenId — 내부 통합 토큰 id
mMarketspot 또는 futures
eExchange — 거래소 식별자 (예: bybit, okx)
dTimestamp — 거래소가 보고한 스냅샷 시각 (ms, UTC)
sSymbol — 거래소 네이티브 API 심볼 (구독 키와 일치)
bBase — 기준 자산 (예: BTC)
qQuote — 호가 통화 (변환 후에는 요청한 currency로 바뀝니다)
asAsks — 매도 호가 배열
bsBids — 매수 호가 배열
paProcessedAt — 서버 처리 시각 (ms, UTC)
msMarginSupported — 해당 심볼의 마진 거래 지원 여부

각 호가 레벨은 두 필드로 구성됩니다:

필드설명
p가격
v물량

예시

{
"id": "bitcoin",
"m": "spot",
"e": "bybit",
"d": 1776825400123,
"s": "BTC-USDT",
"b": "BTC",
"q": "USD",
"as": [
{ "p": "76145.2", "v": "0.0438" },
{ "p": "76145.3", "v": "0.1250" }
],
"bs": [
{ "p": "76145.1", "v": "0.0219" },
{ "p": "76145.0", "v": "0.5000" }
],
"pa": 1776825400180,
"ms": false
}

Ping / Keepalive

연결 유지를 위해 주기적으로 {"method":"PING"}을 보내면 서버가 세션을 갱신합니다.

요금

각 구독 요청은 params 안의 페어 수와 무관하게 1 credit이 과금됩니다. 연결 자체는 무료입니다.