API Kraken | WebSockets Public API

연결

URL: wss://ws.kraken.com (v1) 또는 wss://ws.kraken.com/v2 (v2, 권장)

구성 요소는 이제 Version 속성(기본값: 2)을 통해 WebSocket API v2를 지원합니다. 레거시 v1 엔드포인트를 사용하려면 Kraken.Version := 1을 설정하십시오.

 

소켓이 열리면 subscribe 요청 메시지를 보내 공개 채널을 구독할 수 있습니다.

 

일반 고려 사항

 

Supported Pairs

ADA/CAD, ADA/ETH, ADA/EUR, ADA/USD, ADA/XBT, ATOM/CAD, ATOM/ETH, ATOM/EUR, ATOM/USD, ATOM/XBT, BCH/EUR, BCH/USD, BCH/XBT, DASH/EUR, DASH/USD, DASH/XBT, EOS/ETH, EOS/EUR, EOS/USD, EOS/XBT, GNO/ETH, GNO/EUR, GNO/USD, GNO/XBT, QTUM/CAD, QTUM/ETH, QTUM/EUR, QTUM/USD, QTUM/XBT, USDT/USD, ETC/ETH, ETC/XBT, ETC/EUR, ETC/USD, ETH/XBT, ETH/CAD, ETH/EUR, ETH/GBP, ETH/JPY, ETH/USD, LTC/XBT, LTC/EUR, LTC/USD, MLN/ETH, MLN/XBT, REP/ETH, REP/XBT, REP/EUR, REP/USD, STR/EUR, STR/USD, XBT/CAD, XBT/EUR, XBT/GBP, XBT/JPY, XBT/USD, BTC/CAD, BTC/EUR, BTC/GBP, BTC/JPY, BTC/USD, XDG/XBT, XLM/XBT, DOGE/XBT, STR/XBT, XLM/EUR, XLM/USD, XMR/XBT, XMR/EUR, XMR/USD, XRP/XBT, XRP/CAD, XRP/EUR, XRP/JPY, XRP/USD, ZEC/XBT, ZEC/EUR, ZEC/JPY, ZEC/USD, XTZ/CAD, XTZ/ETH, XTZ/EUR, XTZ/USD, XTZ/XBT

 

Methods

Ping

클라이언트는 서버에 ping을 보내 연결이 살아 있는지 확인할 수 있으며, 서버는 pong으로 응답합니다.

이것은 서버에서 시작되는 WebSockets 표준의 기본 ping과 달리 애플리케이션 수준 ping입니다

Ticker

Ticker 정보에는 지정된 통화 쌍에 대한 최우선 매도 및 최우선 매수 가격, 24시간 거래량, 마지막 거래 가격, 거래량 가중 평균 가격 등이 포함됩니다. ticker 메시지는 거래 또는 일련의 거래가 발생할 때마다 게시됩니다.

SubscribeTicker 메서드를 호출하여 ticker를 구독하십시오:


SubscribeTicker(['XBT/USD']);

구독이 성공하면 OnKrakenSubscribed 이벤트가 호출됩니다:


procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string; 
  ReqID:Integer);
begin
  DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;

UnSubscribeTicker 메서드를 호출하여 구독 해제:


UnSubscribeTicker(['XBT/USD']);

구독 취소가 성공하면, OnKrakenUnSubscribed 이벤트가 호출됩니다:


procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;

구독 / 구독 취소를 시도하는 동안 오류가 있으면 OnKrakenSubscriptionError 이벤트가 호출됩니다.


procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#subscription error: ' + ErrorMessage);
end;

Ticker 업데이트는 OnKrakenData 이벤트에서 알림됩니다.

 
[
  0,
  {
    "a": [
      "5525.40000",
      1,
      "1.000"
    ],
    "b": [
      "5525.10000",
      1,
      "1.000"
    ],
    "c": [
      "5525.10000",
      "0.00398963"
    ],
    "v": [
      "2634.11501494",
      "3591.17907851"
    ],
    "p": [
      "5631.44067",
      "5653.78939"
    ],
    "t": [
      11493,
      16267
    ],
    "l": [
      "5505.00000",
      "5505.00000"
    ],
    "h": [
      "5783.00000",
      "5783.00000"
    ],
    "o": [
      "5760.70000",
      "5763.40000"
    ]
  },
  "ticker",
  "XBT/USD"
]

OHLC

OHLC를 구독한 경우, (endtime에 관계없이) 마지막 유효 캔들의 스냅샷이 전송된 후 진행 중인 캔들에 대한 업데이트가 이어집니다. 예를 들어, 1분 캔들을 구독하고 5분 동안 거래가 없었다면, 5분 전의 마지막 1분 캔들 스냅샷이 게시됩니다. endtime을 사용하여 그것이 오래된 캔들인지 확인할 수 있습니다.

SubscribeOHLC 메서드를 호출하여 OHLC를 구독하십시오. pair와 interval을 전달해야 합니다.


SubscribeOHLC(['XBT/USD'], kin1min);

구독이 성공하면 OnKrakenSubscribed 이벤트가 호출됩니다.


procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string; 
  ReqID:Integer);
begin
  DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;

UnSubscribeOHLC 메서드를 호출하여 구독을 해제합니다.

 
UnSubscribeOHLC(['XBT/USD'], kin1min);

구독 취소가 성공하면, OnKrakenUnSubscribed 이벤트가 호출됩니다:

 
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;

구독 / 구독 취소를 시도하는 동안 오류가 있으면 OnKrakenSubscriptionError 이벤트가 호출됩니다.

 
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#subscription error: ' + ErrorMessage);
end;

OHLC 업데이트는 OnKrakenData 이벤트에서 알림됩니다.


[
  42,
  [
    "1542057314.748456",
    "1542057360.435743",
    "3586.70000",
    "3586.70000",
    "3586.60000",
    "3586.60000",
    "3586.68894",
    "0.03373000",
    2
  ],
  "ohlc-5",
  "XBT/USD"
]

Trade

통화 쌍에 대한 거래 피드입니다.

SubscribeTrade 메서드를 호출하여 Trade feed를 구독합니다.

 
SubscribeTrade(['XBT/USD']);

구독이 성공하면 OnKrakenSubscribed 이벤트가 호출됩니다.

 
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: 
  string; ReqID:Integer);
begin
  DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;

UnSubscribeTrade 메서드를 호출하여 UnSubscribe:

 
UnSubscribeTrade(['XBT/USD']);

구독 취소가 성공하면, OnKrakenUnSubscribed 이벤트가 호출됩니다:

  
procedure OnrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;

구독 / 구독 취소를 시도하는 동안 오류가 있으면 OnKrakenSubscriptionError 이벤트가 호출됩니다.

   
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#subscription error: ' + ErrorMessage);
end;

거래 업데이트는 OnKrakenData 이벤트에서 알림이 전달됩니다.


[
  0,
  [
    [
      "5541.20000",
      "0.15850568",
      "1534614057.321597",
      "s",
      "l",
      ""
    ],
    [
      "6060.00000",
      "0.02455000",
      "1534614057.324998",
      "b",
      "l",
      ""
    ]
  ],
  "trade",
  "XBT/USD"
]

Book

주문서 레벨입니다. 구독 시 지정된 깊이로 스냅샷이 게시되며, 스냅샷에 이어 레벨 업데이트가 게시됩니다.

SubscribeBook 메서드를 호출하여 Book을 구독하십시오. pair와 depth를 전달해야 합니다.

  
SubscribeBook(['XBT/USD'], kde10);

구독이 성공하면 OnKrakenSubscribed 이벤트가 호출됩니다.

   
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string; 
  ReqID:Integer);
begin
  DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;

UnSubscribeBook 메서드를 호출하여 구독 해제:

    
UnSubscribeBook(['XBT/USD'], kde10);

구독 취소가 성공하면, OnKrakenUnSubscribed 이벤트가 호출됩니다:

  
procedure OnKrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;

구독 / 구독 취소를 시도하는 동안 오류가 있으면 OnKrakenSubscriptionError 이벤트가 호출됩니다.

   
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; ReqID: Integer);
begin
  DoLog('#subscription error: ' + ErrorMessage);
end;

Book 업데이트는 OnKrakenData 이벤트에서 알림이 표시됩니다.

 
[
  0,
  {
    "as": [
      [
          "5541.30000",
          "2.50700000",
          "1534614248.123678"
      ],
      [
          "5541.80000",
          "0.33000000",
          "1534614098.345543"
      ],
      [
          "5542.70000",
          "0.64700000",
          "1534614244.654432"
      ]
    ],
    "bs": [
      [
          "5541.20000",
          "1.52900000",
          "1534614248.765567"
      ],
      [
          "5539.90000",
          "0.30000000",
          "1534614241.769870"
      ],
      [
          "5539.50000",
          "5.00000000",
          "1534613831.243486"
      ]
    ]
  },
  "book-100",
  "XBT/USD"
]

Spread

구독한 asset 쌍에 대한 최고 bid 및 ask 가격을 표시하는 Spread 피드입니다. Bid 거래량과 ask 거래량도 메시지의 일부입니다.

SubscribeSpread 메서드를 호출하여 Spread 피드를 구독합니다.

   
SubscribeSpread(['XBT/USD']);

구독이 성공하면 OnKrakenSubscribed 이벤트가 호출됩니다.

   
procedure OnKrakenSubscribed(Sender: TObject;ChannelId: Integer; Pair, Subscription, ChannelName: string; 
  ReqID:Integer);
begin
  DoLog('#subscribed: ' + Subscription + ' ' + Pair + ' ' + ChannelName);
end;

UnSubscribeSpread 메서드를 호출하여 구독 취소:

    
UnSubscribeSpread(['XBT/USD']);

구독 취소가 성공하면, OnKrakenUnSubscribed 이벤트가 호출됩니다:

   
procedure OnrakenUnSubscribed(Sender: TObject; ChannelId: Integer; Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#unsubscribed: ' + Subscription + ' ' + Pair);
end;

구독 / 구독 취소를 시도하는 동안 오류가 있으면 OnKrakenSubscriptionError 이벤트가 호출됩니다.

  
procedure OnKrakenSubscriptionError(Sender: TObject; ErrorMessage, Pair, Subscription: string; 
  ReqID: Integer);
begin
  DoLog('#subscription error: ' + ErrorMessage);
end;

Spread 업데이트는 OnKrakenData 이벤트에서 알림됩니다.

 
[
  0,
  [
    "5698.40000",
    "5700.00000",
    "1542057299.545897",
    "1.01234567",
    "0.98765432"
  ],
  "spread",
  "XBT/USD"
]

기타 메서드

한 가지 메서드로 모든 채널을 구독/구독 해제할 수 있습니다.

  
SubscribeAll(['XBT/USD']);
 
UnSubscribeAll(['XBT/USD']);

모든 채널이 구독된 경우 OHLC 간격 값은 1입니다.

 

 

 

Events

OnConnect: websocket 클라이언트가 서버에 연결될 때입니다.

OnKrakenConnect: 성공적인 websocket 연결 후 그리고 서버가 시스템 상태를 보낼 때 호출됩니다.

OnKrakenSystemStatus: 시스템 상태가 변경될 때 호출됩니다.

OnKrakenSubscribed: 채널 구독이 성공한 후 호출됩니다.

OnKrakenUnSubscribed: 채널에서 구독 취소에 성공한 후 호출됩니다.

OnKrakenSubscriptionError: 구독/구독 취소를 시도하는 중 오류가 있을 경우 호출됩니다.

OnKrakenData: 채널 구독에 업데이트가 있을 때마다 호출됩니다.