API Kraken Futures | WebSockets Public API

Połączenie

URL: wss://futures.kraken.com/ws/v1

 

Po otwarciu gniazda można subskrybować publiczny kanał, wysyłając wiadomość z żądaniem subskrypcji.

 

 

Metody

Ticker

Ten punkt końcowy zwraca aktualne dane rynkowe dla wszystkich aktualnie notowanych kontraktów Futures i indeksów. Uwierzytelnianie nie jest wymagane.

Subskrybuj ticker, wywołując metodę SubscribeTicker:


SubscribeTicker(['PI_XBTUSD']);

Jeśli subskrypcja zakończy się powodzeniem, zostanie wywołane zdarzenie OnKrakenFuturesSubscribed:


procedure OnKrakenFuturesSubscribed(Sender: TObject; Feed, ProductId: string);
begin
  DoLog('#subscribed: ' + Feed + ' ' + ProductId);
end;

Anulowanie subskrypcji przez wywołanie metody UnSubscribeTicker:


UnSubscribeTicker(['PI_XBTUSD']);

Jeśli anulowanie subskrypcji powiedzie się, zostanie wywołane zdarzenie OnKrakenFuturesUnSubscribed:


procedure OnKrakenFuturesUnSubscribed(Sender: TObject; Feed, ProductId: string);
begin
  DoLog('#unsubscribed: ' + Feed + ' ' + ProductId);
end;

W przypadku błędu podczas próby subskrypcji lub anulowania subskrypcji zostanie wywołane zdarzenie OnKrakenFuturesError.


procedure OnKrakenFuturesError(Sender: TObject; Error: string);
begin
  DoLog('#error: ' + Error);
end;

Aktualizacje tickera będą powiadamiane w zdarzeniu OnKrakenData.

{    "result":"success",

 

"tickers":[

 

{

 

"tag": "perpetual",

 

"pair": "XBT:USD",

 

"symbol": "pi_xbtusd",

 

"markPrice": 9520.2,

 

"bid": 9520,

 

"bidSize": 30950,

 

"ask": 9520.5,

 

"askSize": 3779,

 

"vol24h": 68238712,

 

"openInterest": 29308193,

 

"open24h": 10137,

 

"last": 9521,

 

"lastTime": "2020-06-03T08:14:26.624Z",

 

"lastSize": 1,

 

"suspended": false,

 

"fundingRate": 4.943012455e-9,

 

"fundingRatePrediction": 4.414499215e-9

 

}

 

{

 

"tag": "quarter",

 

"pair": "XBT:USD",

 

"symbol": "fi_xbtusd_200925",

 

"markPrice": 9659.8,

 

"bid": 9659.5,

 

"bidSize": 6480,

 

"ask": 9660,

 

"askSize": 17100,

 

"vol24h": 4562580,

 

"openInterest": 3573325,

 

"open24h": 10370.5,

 

"last": 9660,

 

"lastTime": "2020-06-03T08:10:37.800Z",

 

"lastSize": 5000,

 

"suspended": false

 

},

 

{

 

"symbol": "in_xbtusd",

 

"last": 9519,

 

"lastTime": "2020-06-03T08:14:49.000Z"

 

}

 

],

 

"serverTime": "2020-06-03T08:14:49.865Z"

 

}

 

 

Transakcja

Kanał transakcji zwraca informacje o zrealizowanych transakcjach

Subskrybuj kanał transakcji, wywołując metodę SubscribeTrade.

 
SubscribeTrade(['PI_XBTUSD']);

W przypadku pomyślnej subskrypcji zostanie wywołane zdarzenie OnKrakenFuturesSubscribed:

 
procedure OnKrakenFuturesSubscribed(Sender: TObject; Feed, ProductId: string);
begin
  DoLog('#subscribed: ' + Feed + ' ' + ProductId);
end;

Anuluj subskrypcję wywołując metodę UnSubscribeTrade:

 
UnSubscribeTrade(['PI_XBTUSD']);

Jeśli anulowanie subskrypcji powiedzie się, zostanie wywołane zdarzenie OnKrakenFuturesUnSubscribed:

  
procedure OnrakenFuturesUnSubscribed(Sender: TObject; Feed, ProductId: string);
begin
  DoLog('#unsubscribed: ' + Feed + ' ' + ProductId);
end;

W przypadku błędu podczas próby subskrypcji lub anulowania subskrypcji zostanie wywołane zdarzenie OnKrakenFuturesError.

   
procedure OnKrakenFuturesSubscriptionError(Sender: TObject; Error: string);
begin
  DoLog('#error: ' + Error);
end;

Aktualizacje transakcji będą powiadamiane w zdarzeniu OnKrakenData.

{  "feed": "trade_snapshot",

 

"product_id": "PI_XBTUSD",

 

"trades": [

 

{

 

"feed": "trade",

 

"product_id": "PI_XBTUSD",

 

"uid": "caa9c653-420b-4c24-a9f1-462a054d86f1",

 

"side": "sell",

 

"type": "fill",

 

"seq": 655508,

 

"time": 1612269657781,

 

"qty": 440,

 

"price": 34893

 

},

 

{

 

"feed": "trade",

 

"product_id": "PI_XBTUSD",

 

"uid": "45ee9737-1877-4682-bc68-e4ef818ef88a",

 

"side": "sell",

 

"type": "fill",

 

"seq": 655507,

 

"time": 1612269656839,

 

"qty": 9643,

 

"price": 34891

 

}

 

]

 

}

 

Książka

Ten strumień danych zwraca informacje o arkuszu zleceń.

Subskrybuj Arkusz zleceń, wywołując metodę SubscribeBook i podając Symbol.

  
SubscribeBook(['PI_XBTUSD']);

W przypadku pomyślnej subskrypcji zostanie wywołane zdarzenie OnKrakenFuturesSubscribed:

   
procedure OnKrakenFuturesSubscribed(Sender: TObject; Feed, ProductId: string);
begin
  DoLog('#subscribed: ' + Feed + ' ' + ProductId);
end;

Anuluj subskrypcję, wywołując metodę UnSubscribeBook:

    
UnSubscribeBook(['PI_XBTUSD']);

Jeśli anulowanie subskrypcji powiedzie się, zostanie wywołane zdarzenie OnKrakenFuturesUnSubscribed:

  
procedure OnKrakenFuturesUnSubscribed(Sender: TObject; Feed, ProductId: string);
begin
  DoLog('#unsubscribed: ' + Feed + ' ' + ProductId);
end;

W przypadku błędu podczas próby subskrypcji lub anulowania subskrypcji zostanie wywołane zdarzenie OnKrakenFuturesError.

   
procedure OnKrakenFuturesError(Sender: TObject; Error: string);
begin
  DoLog('#error: ' + Error);
end;

Aktualizacje księgi zleceń będą powiadamiane w zdarzeniu OnKrakenData.

{

 

"feed": "book_snapshot",

 

"product_id": "PI_XBTUSD",

 

"timestamp": 1612269825817,

 

"seq": 326072249,

 

"tickSize": null,

 

"bids": [{

 

"price": 34892.5,

 

"qty": 6385

 

},

 

{

 

"price": 34892,

 

"qty": 10924

 

}

 

],

 

"asks": [{

 

"price": 34911.5,

 

"qty": 20598

 

},

 

{

 

"price": 34912,

 

"qty": 2300

 

}

 

]

 

}

 

Ticker Lite

Kanał informacyjny ticker lite zwraca informacje o kursach notowanych produktów.

Subskrybuj strumień Spread, wywołując metodę SubscribeTickerLite.

   
SubscribeTickerLite(['PI_XBTUSD']);

W przypadku pomyślnej subskrypcji zostanie wywołane zdarzenie OnKrakenFuturesSubscribed:

   
procedure OnKrakenFuturesSubscribed(Sender: TObject; Feed, ProductId: string);
begin
  DoLog('#subscribed: ' + Feed + ' ' + ProductId);
end;

Anulowanie subskrypcji za pomocą metody UnSubscribeTickerLite:

    
UnSubscribeTickerLite(['PI_XBTUSD']);

Jeśli anulowanie subskrypcji powiedzie się, zostanie wywołane zdarzenie OnKrakenFuturesUnSubscribed:

   
procedure OnKrakenFuturesUnSubscribed(Sender: TObject; Feed, ProductId: string);
begin
  DoLog('#unsubscribed: ' + Feed + ' ' + ProductId);
end;

W przypadku błędu podczas próby subskrypcji lub anulowania subskrypcji zostanie wywołane zdarzenie OnKrakenFuturesError.

  
procedure OnKrakenFuturesError(Sender: TObject; Error: string);
begin
  DoLog('#error: ' + Error);
end;

Aktualizacje spreadu będą notyfikowane w zdarzeniu OnKrakenData.

{  "feed": "ticker_lite",

 

"product_id": "PI_XBTUSD",

 

"bid": 34932,

 

"ask": 34949.5,

 

"change": 3.3705205220015966,

 

"premium": 0.1,

 

"volume": 264126741,

 

"tag": "perpetual",

 

"pair": "XBT:USD",

 

"dtm": 0,

 

"maturityTime": 0

 

}

 

{

 

"feed":"ticker_lite",

 

"product_id":"FI_ETHUSD_210625",

 

"bid":1753.45,

 

"ask":1760.35,

 

"change":13.448175559936647,

 

"premium":9.1,

 

"volume":6899673.0,

 

"tag":"semiannual",

 

"pair":"ETH:USD",

 

"dtm":141,

 

"maturityTime":1624633200000

 

}

 

HeartBeat

Kanał heartbeat publikuje wiadomości heartbeat w określonych odstępach czasu.

  
SubscribeHeartBeat();
 
UnSubscribeHeartBeat();

 

 

 

Zdarzenia

OnConnect: wywoływane po połączeniu klienta websocket z serwerem.

OnKrakenFuturesConnect: wywoływane po pomyślnym nawiązaniu połączenia WebSocket i gdy serwer wysyła status systemowy.

OnKrakenFuturesSubscribed: wywoływane po pomyślnym zasubskrybowaniu kanału.

OnKrakenFuturesUnSubscribed: wywoływane po pomyślnym anulowaniu subskrypcji kanału.

OnKrakenFuturesError: wywoływane w przypadku błędu podczas subskrypcji/anulowania subskrypcji.

OnKrakenData: wywoływane za każdym razem, gdy subskrypcja kanału otrzymuje aktualizację.