All
Filtruj według:
Jak mogę wpłacić gotówkę na konto?
Potrzebuję pomocy w weryfikacji konta
Dlaczego nie mogę uzyskać dostępu do konta?
Czy są jakieś opłaty za wypłatę kryptowalut?
Potrzebuję pomocy w zalogowaniu się na konto
Korzystając z punktów końcowych API REST do zasilania konta, klienci mogą wpłacać/wypłacać środki na/z konta Kraken oraz sprawdzać status transakcji wpłaty/wypłaty w czasie rzeczywistym.
Wpłaty/wypłaty przechodzą przez kilka etapów od początkowego żądania do zakończenia transakcji, dlatego punkty końcowe do zasilania konta zwracają inną wartość statusu w zależności od momentu ich wywołania.
Należy pamiętać, że wartości statusu pierwotnie pochodziły ze stron 16/17 dokumentu Internet Financial Exchange Protocol (IFEX), ale zostały nieznacznie zmodyfikowane, aby lepiej pasowały do transakcji kryptowalutowych (na przykład nie wszystkie możliwe wartości statusu są używane).
Możliwe wartości statusu dla transakcji wpłat są następujące:
Rozliczone = Wpłata została odebrana, ale nadal wymaga dodatkowych potwierdzeń w blockchainie.
Sukces = Wpłata osiągnęła wymaganą liczbę potwierdzeń w blockchainie.
Niepowodzenie = Wpłata nie powiodła się (z jednego lub więcej różnych powodów).
Poniżej przedstawiono kilka przykładów, jak powyższe wartości statusu mogą wyglądać w odpowiedziach z punktu końcowego DepositStatus:
Status rozliczone:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"QSB7IFM-Q3LT3X-NVAOKE","txid":"92c908ea2ea819d678d67130e4d20b625a8f97f3cfff45f906dde8cef41a046a","info":"D7SLwMBPqfFMCZ8EJDMoVEePpZAFFegLt8","amount":"997.00000000","fee":"0.00000000","time":1611308478,"status":"Settled"}]}
Status sukces:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"QSB7IFM-Q3LT3X-NVAOKE","txid":"92c908ea2ea819d678d67130e4d20b625a8f97f3cfff45f906tdde8cef41a046a","info":"D7SLwMBPqfFMCZ8EJDMoVEePpZAFFegLt8","amount":"997.00000000","fee":"0.00000000","time":1611308478,"status":"Success"}]}
Możliwe wartości statusu dla transakcji wypłat są następujące:
Początkowy = Żądanie wypłaty zostało odebrane i jest sprawdzane pod kątem ważności (np. wszelkie ograniczenia finansowania na koncie).
Oczekujący = Wypłata czeka na przetworzenie przez naszą bramkę finansowania.
Rozliczone = Wypłata została wysłana do blockchaina (w tym momencie identyfikator transakcji blockchain stałby się dostępny).
Sukces = Transakcja wypłaty ma co najmniej 1 potwierdzenie w blockchainie.
Wstrzymane = Wypłata została wstrzymana i musi zostać ręcznie sprawdzona przez nasz zespół ds. finansowania.
Niepowodzenie = Wypłata nie powiodła się (z jednego lub więcej różnych powodów).
Poniżej przedstawiono kilka przykładów, jak powyższe wartości statusu mogą wyglądać w odpowiedziach z punktu końcowego WithdrawStatus:
Status początkowy:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Initial"}]}
Status oczekujący:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Pending"}]}
Status rozliczone:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":"064536e901f2cbfa6e279aa7a87c700b64e0ce561bf6e266788c47496f75106c","info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Settled"}]}
Status sukces:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":"064536e901f2cbfa6e279aa7a87c700b64e0ce561bf6e266788c47496f75106c","info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Success"}]}
Status niepowodzenie:{"error":[],"result":[{"method":"Dogecoin","aclass":"currency","asset":"XXDG","refid":"ASBCMYC-F5ETQT-34NMWT","txid":null,"info":"DGNBPsa2GhhtZGEZo79uF3WN2bTxFxmc9y","amount":"98.00000000","fee":"2.00000000","time":1612782924,"status":"Failure","status-prop":"canceled"}]}
Dodatkowe informacje dotyczące wpłat/wypłat są dostępne na naszych stronach wsparcia dotyczących finansowania gotówkowego i finansowania kryptowalutowego.
Punkt końcowy REST API OHLC dostarcza ograniczoną ilość danych historycznych, a konkretnie 720 punktów danych dla żądanego interwału. Na przykład, żądanie danych OHLC w interwałach 1-minutowych zwróci najnowsze 720 minut (12 godzin) danych.
Dla aplikacji, które wymagają dodatkowych danych OHLC lub tick, możliwe jest pobranie całej historii handlu na naszych rynkach (historyczny czas i sprzedaż) za pośrednictwem punktu końcowego REST API Trades. OHLC dla dowolnego przedziału czasowego i dowolnego interwału może być następnie utworzone z historycznych danych czasu i sprzedaży.
Punkt końcowy Trades przyjmuje opcjonalny parametr o nazwie since, który określa datę/godzinę rozpoczęcia danych. Wartość since to znacznik czasu UNIX w rozdzielczości nanosekundowej (standardowy znacznik czasu UNIX w sekundach z 9 dodatkowymi cyframi).
Na przykład, wywołanie punktu końcowego Trades, takie jak https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559347200000000000 zwróciłoby historyczny czas i sprzedaż dla XBT/USD od 1 czerwca 2019 roku o 00:00:00 UTC:
{"error":[],"result":{"XXBTZUSD":[["8552.90000","0.03190270",1559347203.7998,"s","m",""],["8552.90000","0.03155529",1559347203.8086,"s","m",""],["8552.90000","0.00510797",1559347203.9664,"s","m",""],["8552.90000","0.09047336",1559347203.9789,"s","m",""],["8552.90000","0.00328738",1559347203.9847,"s","m",""],["8552.90000","0.00492152",1559347203.9897,"s","m",""],["8552.90000","0.00201848",1559347203.9937,"s","m",""],["8552.90000","0.11422068",1559347203.9993,"s","m",""],["8552.90000","0.00425858",1559347204.071,"s","m",""],["8552.90000","0.00427679",1559347204.0762,"s","m",""],["8552.90000","0.06381401",1559347204.1662,"s","m",""]...["8579.50000","0.05379597",1559350785.248,"s","l",""],["8579.50000","0.94620403",1559350785.2936,"s","l",""],["8578.10000","0.45529068",1559350785.297,"s","l",""]],"last":"1559350785297011117"}}
Kolejne wywołania punktu końcowego Trades powinny zastąpić wartość parametru since wartością parametru last z wyników poprzedniego wywołania, taką jak https://api.kraken.com/0/public/Trades?pair=xbtusd&since=1559350785297011117.
Użycie specjalnej wartości since równej 0 (zero) zwróciłoby historyczny czas i sprzedaż od początku rynku (począwszy od pierwszej transakcji).
Referencja użytkownika to identyfikator zamówienia dostarczony przez klienta, który może być użyty zamiast rzeczywistego (dostarczonego przez API) identyfikatora zamówienia dla niektórych zadań zarządzania zamówieniami (zwłaszcza anulowania zamówień).
Referencje użytkownika są zaimplementowane tak, aby były jak najbardziej elastyczne i dlatego mogą być używane na wiele różnych sposobów, w tym:
jako unikalny identyfikator (gdzie każde zamówienie ma inną referencję użytkownika),
do grupowania powiązanych zamówień (takich jak grupowanie zamówień z różnymi poziomami dźwigni),
lub jako zapasowy identyfikator w przypadku, gdy rzeczywisty identyfikator zamówienia nie jest znany.
Referencja użytkownika musi być wartością numeryczną z zakresu od 1 do 2 147 483 647 (zasadniczo dowolna dodatnia liczba 32-bitowa) i dlatego może być zaimplementowana jako prosty licznik, jako losowa 32-bitowa wartość ze znakiem, a nawet jako znacznik czasu w sekundach (chociaż to by zawiodło po 19 stycznia 2038 roku o 03:14:07 UTC).
Zamówienia można składać z dołączoną referencją użytkownika, wywołując punkt końcowy AddOrder i dołączając parametr userref z referencją użytkownika jako wartością:
$ ./krakenapi AddOrder pair=xdgusd type=buy ordertype=limit price=0.1 volume=50 userref=27649653
{"error":[],"result":{"descr":{"order":"buy 50.00000000 XDGUSD @ limit 0.1000000"},"txid":["OQJSXE-F5FOM-IXHVL4"]}}
Zamówienia, które mają już dołączoną referencję użytkownika, można przeglądać, wywołując punkty końcowe Open/Closed/QueryOrders i dołączając parametr userref z istniejącą referencją użytkownika jako wartością (w tym przypadku referencja użytkownika działa jako filtr, wyświetlając tylko powiązane zamówienia):
$ ./krakenapi OpenOrders userref=27649653
{"error":[],"result":{"open":{"OQJSXE-F5FOM-IXHVL4":{"refid":null,"userref":27649653,"status":"open","opentm":1629618802.9812,"starttm":0,"expiretm":0,"descr":{"pair":"XDGUSD","type":"buy","ordertype":"limit","price":"0.1000000","price2":"0","leverage":"none","order":"buy 50.00000000 XDGUSD @ limit 0.1000000","close":""},"vol":"50.00000000","vol_exec":"0.00000000","cost":"0.000000000","fee":"0.000000000","price":"0.000000000","stopprice":"0.000000000","limitprice":"0.000000000","misc":"","oflags":"fciq"}}}}
$ ./krakenapi ClosedOrders userref=38695724
{"error":[],"result":{"closed":{"O7YEFN-3V4RK-FBNSNM":{"refid":null,"userref":38695724,"status":"canceled","reason":"User requested","opentm":1629619539.3593,"closetm":1629619542.2246,"starttm":0,"expiretm":0,"descr":{"pair":"XBTUSD","type":"buy","ordertype":"limit","price":"25000.0","price2":"0","leverage":"none","order":"buy 0.00010000 XBTUSD @ limit 25000.0","close":""},"vol":"0.00010000","vol_exec":"0.00000000","cost":"0.00000","fee":"0.00000","price":"0.00000","stopprice":"0.00000","limitprice":"0.00000","misc":"","oflags":"fciq"}},"count":1}}
Zamówienia, które mają już dołączoną referencję użytkownika, można anulować, używając referencji użytkownika, wywołując punkt końcowy CancelOrder i używając referencji użytkownika jako wartości txid (zamiast wartości identyfikatora zamówienia):
$ ./krakenapi CancelOrder txid=16764529
{"error":[],"result":{"count":1}}
Należy pamiętać, że wszystkie otwarte zamówienia z tą samą referencją użytkownika zostaną anulowane, dlatego możliwe jest wykonanie pojedynczego wywołania CancelOrder w celu jednoczesnego anulowania wielu zamówień (jak wskazuje wartość count równa 3 w poniższej odpowiedzi):
$ ./krakenapi CancelOrder txid=48695624
{"error":[],"result":{"count":3}}
Ten problem może być związany z Cloudflare:
https://support.cloudflare.com/hc/en-us/articles/200169226-Why-am-I-getting-a-403-error-
UWAGA: Kraken ma włączoną funkcję "Browser Integrity Check".
Może to wystąpić, jeśli Twoje żądanie zawiera podejrzane nagłówki. Na przykład, Twoje żądanie może nie zawierać agenta użytkownika lub używać niestandardowego agenta użytkownika; dlatego prosimy o sprawdzenie nagłówków żądania.
Jeśli nie jesteś w stanie utworzyć żadnych standardowych żądań, które nasz system dopuszcza, wyślij nam pełną kopię żądania(ń), które próbujesz wykonać, włączając swój adres IP i wszystkie nagłówki. Te informacje pozwolą nam na dalsze dochodzenie.
Dla naszych interfejsów API Futures REST i WebSocket (futures.kraken.com) oferujemy pełne środowisko testowe, używając adresu URL API demo-futures.kraken.com.
Dla naszego interfejsu API spot REST/WebSocket i API FIX oferujemy obecnie środowisko testowe dla kwalifikowanych klientów. Dostęp do tego środowiska wymaga procesu wdrożenia, który można rozpocząć, bezpośrednio kontaktując się z zespołem API.
Podczas składania zlecenia za pośrednictwem punktów końcowych REST API AddOrder lub WebSocket API addOrder, parametr wejściowy validate może być użyty do symulacji zlecenia.
Wywołanie AddOrder/addOrder z parametrem validate ustawionym na true (validate=1, validate=true, validate=anything itp.) spowoduje sprawdzenie szczegółów zlecenia pod kątem błędów, ale odpowiedź API nigdy nie będzie zawierać identyfikatora zlecenia (który zawsze byłby zwracany dla udanego zlecenia bez parametru validate).
Przykład wywołania AddOrder z parametrem validate (zwróć uwagę na brakujący identyfikator zlecenia):
Bash
$ ./krakenapi AddOrder pair=xdgusd type=buy ordertype=market volume=5000 validate=true{"error":[],"result":{"descr":{"order":"buy 5000.00000000 XDGUSD @ market"}}}Małe zlecenia rzeczywiste i/lub zlecenia z ekstremalnymi cenami
W celu przeprowadzenia kompleksowego testu API za pomocą parametru Validate zalecamy składanie bardzo małych zleceń rynkowych (zleceń o minimalnej wielkości zlecenia) lub zleceń z limitem ceny, które są znacznie oddalone od aktualnej ceny rynkowej (np. złożenie zlecenia z limitem ceny sprzedaży ETH/USD po 800 USD, gdy cena rynkowa wynosi 200 USD).
Testowanie za pomocą zleceń na żywo pozwala kodowi API na interakcję z naszym API w rzeczywistych warunkach, dzięki czemu każdy aspekt testu będzie dokładny (jak zlecenia wpływają na księgę zleceń itp.).
Ze względów bezpieczeństwa niedawno zaprzestaliśmy obsługi TLS 1.0 i 1.1. Jeśli napotykasz komunikaty o błędach połączenia SSL/TLS podczas próby połączenia z naszym API, prawdopodobnie jest to spowodowane użyciem jednego z tych przestarzałych standardów. Będziesz musiał zmodyfikować swojego klienta API, aby wymusić użycie TLS 1.2/1.3 lub zaktualizować swoją wersję .NET do 4.6 lub nowszej, która domyślnie używa TLS 1.2/1.3.
Poniższy arkusz Google może być użyty do obliczenia sygnatury uwierzytelniania REST API dla dowolnej kombinacji danych wejściowych:
Prywatny (tajny) klucz API
Punkt końcowy API (Balance, TradeBalance, QueryOrders itp.)
Wartość nonce (więcej szczegółów znajdziesz na naszej stronie pomocy co to jest nonce)
Parametry wejściowe punktu końcowego (np. asset=doge)
Kalkulator może być użyty do weryfikacji, czy algorytm uwierzytelniania został poprawnie zaimplementowany, co pozwala uniknąć potencjalnych problemów (zwłaszcza nieoczekiwanych błędów nieprawidłowego klucza) na późniejszym etapie cyklu rozwoju.
Otwórz kalkulator uwierzytelniania REST API w Chrome (lub innej nowszej przeglądarce internetowej)
Utwórz kopię kalkulatora na swoim Dysku Google za pomocą menu Plik -> Utwórz kopię (aby to zrobić, musisz zalogować się na swoje konto Google)
Edytuj pola klucz API, punkt końcowy API, wartość nonce i dane wejściowe, wprowadzając własny klucz API i szczegóły żądania
Porównaj obliczony podpis uwierzytelniania API z wartością obliczoną przez Twój własny kod API (obie wartości muszą być dokładnie takie same)
Ze względów bezpieczeństwa zalecamy użycie kalkulatora uwierzytelniania z tymczasowym kluczem API, a następnie usunięcie klucza API z konta, gdy implementacja podpisu uwierzytelniania okaże się prawidłowa.

Główną korzyścią z używania naszych wrapperów bibliotek klienckich jest to, że nie musisz poświęcać czasu/wysiłku na wymyślanie od nowa tworzenia podpisów API, jest to już zrobione za Ciebie.
Jeśli zamierzasz wykonywać tylko wywołania metod publicznych, możesz zrezygnować z bibliotek klienckich, ponieważ uwierzytelnianie nie jest potrzebne.
Listę dostępnych wrapperów znajdziesz tutaj.