API-Fehlermeldungen

Zuletzt aktualisiert: 8. August 2025

Einleitung

Die meisten API-Anfragen werden erfolgreich abgeschlossen, aber manchmal geht was schief und statt der erwarteten Antwort kommt eine Fehlermeldung.

Unsere API hat verschiedene Fehlermeldungen, die den Grund für den Fehler erklären und Vorschläge für die passende Lösung machen.

API-Fehlermeldungen können in mehrere verschiedene Gruppen unterteilt werden (je nach Art des Fehlers, der zugrunde liegenden Ursache und der optimalen Lösung), aber das Format der API-Fehlermeldungen ist konsistent und lautet wie folgt:

„Schweregrad“„Fehlerkategorie“:„Fehlermeldung“

Der „Schweregrad“ kann entweder E für einen Fehler oder W für eine Warnung sein. Die „Fehlerkategorie“ kann eine der folgenden sein: Allgemein, API, Abfrage, Order, Trade, Finanzierung oder Service. Die „Fehlermeldung“ kann eine beliebige Textzeichenfolge sein, die den Grund für den Fehler beschreibt (z. B. „Ungültige Argumente“).

Ein Fehler, der zum Beispiel darauf hinweist, dass ein ungültiges Währungspaar in einer Ticker-Abfrage verwendet wurde, würde wie folgt aussehen:

EQuery:Unbekanntes Asset-Paar

Beachte, dass manche Software von Drittanbietern (mobile Apps, Trading-Bots usw.) den ursprünglichen API-Fehler ausblendet und stattdessen einen benutzerdefinierten Fehler anzeigt, sodass je nach verwendeter Software ein alternatives Fehlerformat oder ein alternativer Fehlerinhalt möglich ist.

  • Allgemeine Anwendungsfehler

  • Ratenlimit-Fehler

  • Trading-Fehler (Orderplatzierung/-stornierung)

  • Finanzierungsfehler (Einzahlungen/Auszahlungen)

  • Dienststatusfehler

  • Interne Fehler

  • Cloudflare-Fehler (Netzwerk)

Allgemeine Anwendungsfehler

Fehler wegen verweigerter Berechtigung werden zurückgegeben, wenn der API-Client eine Aufgabe ausführen will, für die der API-Schlüssel keine Berechtigung hat. Wenn ein API-Client zum Beispiel versucht, das Kontoguthaben mit einem API-Schlüssel abzurufen, der für das Trading, aber nicht für die Kontoverwaltung konfiguriert ist, wird der Fehler „Zugriff verweigert“ zurückgegeben. Du kannst deine API-Schlüssel und deren Einstellungen (z. B. Berechtigungen) über die API-Registerkarte in den Einstellungen in der Kontoverwaltung überprüfen. Du musst sicherstellen, dass die von deinen Drittanbieter-Apps verwendeten API-Schlüssel über alle Einstellungen und Berechtigungen verfügen, die deine Apps benötigen.

Dieser Fehler wird zurückgegeben, wenn der für den Aufruf verwendete API-Schlüssel entweder abgelaufen oder deaktiviert ist. Überprüfe bitte den API-Schlüssel in deinen Einstellungen auf der API-Registerkarte der Kontoverwaltung oder generiere einen neuen und aktualisiere deine Anwendung.

Du kannst die komplette Liste unserer Asset-Paare aus dem öffentlichen Aufruf „AssetPairs“ abrufen und nach dem Paarnamen als Eintrag in den Json-Headern oder anhand des Parameters „altname“ suchen: https://api.kraken.com/0/public/AssetPairs

Dieser Fehler wird zurückgegeben, wenn eine Methode ohne die erforderlichen Parameter aufgerufen wird. Wenn du zum Beispiel die Methode „QueryOrders“ aufrufst, ohne einen gültigen Transaktions-ID-Parameter (txid) anzugeben, wird der Fehler „Ungültige Argumente“ angezeigt. Der Aufruf einer Methode mit unnötigen Parametern würde nicht den Fehler „Ungültige Argumente” zurückgeben, da die unnötigen Parameter einfach ignoriert würden.

Fehler wegen ungültiger Signatur treten auf, wenn entweder dein API-Schlüssel oder dein API-Geheimnis in deinem Programm falsch geschrieben sind oder weil die bei der Authentifizierung verwendeten POST-Daten und die an die API gesendeten POST-Daten nicht übereinstimmen. Als zusätzliche Referenz findest du hier einen Beispiel-Python-Code zur Implementierung des API-Signaturalgorithmus. Der richtige öffentliche API-Schlüssel sollte aus der Kontoverwaltung kopiert und eingefügt werden, und die API-Methode und die POST-Daten sollten entsprechend aktualisiert werden. Der Ausgabewert kann direkt als Wert für den API-Sign-HTTP-Header verwendet werden. #!/usr/bin/env python

# Erforderliche Python-Bibliotheken importieren
import time
import base64
import hashlib
import hmac

# Privaten API-Schlüssel aus dem in der Kontoverwaltung angezeigten Base64-Format dekodieren
api_secret = base64.b64decode("nmlrD83t1J+yVWKUBx9vD6j26C5zhC11tFfXpN+Ww+8oOVuGgse5AeADcvl95jYaD+UAi3D5CrVfFr8GfQ7zhA==")

# Variablen (API-Methode, Nonce und POST-Daten)
api_path = "/0/private/TradeBalance"
api_nonce = str(int(time.time()*1000))
api_post = "nonce=" + api_nonce + "&asset=xxbt"

# Kryptographische Hash-Algorithmen
api_sha256 = hashlib.sha256(api_nonce + api_post).digest()
api_hmac = hmac.new(api_secret, api_path + api_sha256, hashlib.sha512)

# Signatur in das in API-Sign verwendete Base64-Format kodieren
api_signature = base64.b64encode(api_hmac.digest())

# API-Authentifizierungssignatur zur Verwendung im API-Sign-HTTP-Header
print(api_signature) Der SHA256 wird anhand des Nonce-Werts selbst und der POST-Daten für die API-Methode berechnet, und die POST-Daten bestehen aus den Name/Wert-Paaren für den Nonce (erneut) und den API-Methodenparametern. Ein Beispiel für die Daten, die an den SHA256 für die TradeBalance-Methode übergeben werden sollten, wäre wie folgt: SHA256 = SHA256 von „1541933977000nonce=1541933977000&asset=xxbt”. Der an SHA256 übergebene String-Wert sollte keine zusätzlichen Nullwerte (\0) enthalten und nicht als Base64 oder Hex codiert sein (d. h. der String-Wert sollte ein Klartext-String sein). Der URI-Pfad ist die ganze URL der API-Methode ohne das Präfix „https://api.kraken.com”, also wäre der URI-Pfad der TradeBalance-Methode (zum Beispiel) der String-Wert „/0/private/TradeBalance” ohne zusätzliche Nullwerte. Der HMAC SHA512 wird anhand des URI-Pfads und des zuvor berechneten SHA256-Digests berechnet, wobei der Base64-dekodierte private API-Schlüssel als HMAC-Schlüssel verwendet wird. Ein Beispiel für die Daten, die an den HMAC übergeben werden sollten, wäre wie folgt: HMAC SHA512 unter Verwendung des Base64-dekodierten privaten Schlüssels = HMAC von „/0/private/TradeBalanceSHA256“. Die HTTP-Header „API-Key“ und „API-Sign“ sind die einzigen beiden erforderlichen benutzerdefinierten HTTP-Header. Der API-Key-Header ist eine exakte Kopie des öffentlichen API-Schlüssels aus der Kontoverwaltung. Der API-Sign-Header ist der mit Base64 codierte HMAC SHA512-Digest.

Ungültige Sitzungsfehler werden über die WebSocket-API zurückgegeben, wenn versucht wird, einen authentifizierten (privaten) Feed mit einem Authentifizierungstoken zu abonnieren, das nicht mehr gültig ist (z. B. bereits abgelaufen ist).

Die Lösung besteht einfach darin, über den REST-API-Endpunkt GetWebSocketsToken einen neuen Authentifizierungstoken anzufordern und den neuen Token für alle nachfolgenden authentifizierten (privaten) Abonnementanfragen zu verwenden.

Ein Fehler wegen einer ungültigen Anfrage zeigt an, dass etwas mit der zugrunde liegenden HTTP-Anfrage (nicht der nachfolgenden API-Anfrage) nicht stimmt, z. B. nicht übereinstimmende URLs zwischen REST/WebSocket oder nicht korrekt enthaltene HTTP-POST-Daten:

% curl --data "" https://api.kraken.com/0/private/GetWebSocketsToken

{"error":["EAPI:Bad request"]}

Dieser Fehler wird zurückgegeben, wenn der aufgerufene Endpunkt kein gültiger Endpunkt ist.

Ratenlimit-Fehler

Das Hinzufügen und Stornieren von Orders zählt zwar nicht zu unseren Standard-API-Zählerlimits, aber diese Vorgänge haben ihren eigenen Zähler für das Hinzufügen und Stornieren von Orders. Dieser Zähler funktioniert so, dass Kunden umso mehr Orders hinzufügen oder stornieren können, je länger die Orders im Auftragsbuch verbleiben.

Vorübergehende Sperrfehlermeldungen können auftreten, wenn du innerhalb kurzer Zeit zu viele fehlgeschlagene API-Aufrufe oder zu viele ungültige Nonce-Fehler oder ungültige Signaturen hattest. Auch wenn diese Aufrufe einen Fehler zurückgeben, zählt dieser Fehler dennoch zu deinen API-Limits und kann zu einer vorübergehenden Sperrung führen.

Vorübergehende Sperrungen dauern ungefähr 15 Minuten. Nachdem du die Fehlermeldung zur vorübergehenden Sperrung bekommen hast, warte bitte 15 Minuten, bevor du neue API-Anfragen sendest. Wenn du mehrere ungültige Nonce-Fehler auslöst, erhöhe bitte das Nonce-Fenster, da dies dazu beitragen kann, die Häufigkeit dieser Fehler zu reduzieren. Versuche bitte auch, die Häufigkeit deiner privaten API-Aufrufe zu reduzieren.

Fehler beim Trading

Das Eröffnen neuer Spot-Positionen mit Margin wurde wegen Wartungsarbeiten an der Trading-Plattform vorübergehend ausgesetzt. Die Funktion wird bald wieder verfügbar sein. Du kannst die Updates auf status.kraken.com verfolgen.

Ein weiterer Grund kann sein, dass Spot-Positionen mit Margin derzeit für Kunden mit Wohnsitz in bestimmten Ländern nicht verfügbar sind.

Auf Kraken kannst du keine Long- und Short-Positionen für dasselbe Paar eröffnen.

Wenn du eine Long- und Short-Position für dieselbe Währung eröffnen möchtest, wähle bitte verschiedene Trading-Paare mit derselben Währung als Basis- oder Notierungswährung. Beispiel: Short BTC/USD, Long BTC/EUR.

Dieser Fehler tritt auf, wenn du die Margin-Limits für deine aktuelle Verifizierungsstufe überschritten hast. Die Margin-Limits für jede Währung variieren je nach deiner aktuellen Verifizierungsstufe.

Wir haben nur begrenzte Mittel für Margin-Erweiterungen zur Verfügung. Die Meldung „Unzureichende Margin” bedeutet, dass wir vorerst keine Mittel im entsprechenden Margin-Pool haben. Das kann sich jederzeit ändern. Möglicherweise kannst du deine Order nur wenige Sekunden oder Minuten später erfolgreich platzieren, aber bei großvolumigen Orders und Orders, die zu Zeiten mit hohem Volumen platziert werden, kann es länger dauern. Wir entschuldigen uns für etwaige Unannehmlichkeiten.

Dieser Fehler tritt auf, wenn die freie Margin nicht ausreicht, um eine neue Position auf dem Konto zu eröffnen, oder wenn der aktuelle Versuch, eine Position zu eröffnen, dazu führen würde, dass die freie Margin des Kontos unter 100 % fällt.

Du hast nicht genügend Mittel, um diese Order zu platzieren. Bitte überprüfe deine offenen Positionen und Orders auf Posten, die deine Mittel blockieren könnten.

Du hast das Orderminimum für dieses Asset nicht erreicht.

Du hast die maximale Anzahl offener Orders überschritten, die für dein Konto verfügbar sind.

Diese Limits hängen von deiner Verifizierungsstufe ab. Bitte schließe einige deiner offenen Orders oder verifiziere dein Konto auf eine höhere Stufe.

Du hast die maximale Anzahl offener Positionen überschritten, die für dein Konto verfügbar sind.

Diese Limits hängen von deiner Verifizierungsstufe ab. Bitte schließe oder begleiche einige oder alle deiner offenen Positionen oder verifiziere dein Konto auf eine höhere Stufe, wenn möglich.

Es wurde versucht, eine bestehende (offene) Order zu bearbeiten, aber die Änderungen konnten nicht erfolgreich abgeschlossen werden. Mögliche Gründe dafür sind unzureichende Mittel für die neue Order, einige Teilausführungsszenarien und einige Orders mit Leverage.

Das neue Volumen ist geringer als das bereits ausgeführte/ausgefüllte Volumen.

Die Ordergröße überschritt das Limit der Margin-Positionsgröße des Trading-Paares.

Das angezeigte Volumen hat das Mindestordervolumen nicht erreicht.

Das angezeigte Volumen muss geringer sein als das Volumen der Order.

Iceberg-Orders sind mit keinen anderen Auftragstypen außer einer Limit-Order kompatibel.

Finanzierungsfehler

Jede Kryptowährung hat maximal 5 neue (unbenutzte) Einzahlungsadressen. Wenn du versuchst, eine sechste neue Adresse zu erstellen, kommt es zu einem Fehler.

Dieser Fehler wird immer dann zurückgegeben, wenn die Finanzierungsendpunkte mit einem ungültigen oder fehlenden „Method”-Parameter aufgerufen werden. 

Der Eingabeparameter „key” stimmt nicht mit der Adressbeschreibung überein, die in der Kontoverwaltung (über „Finanzierung -> Auszahlung”) festgelegt wurde.

Die Mindestauszahlungsbeträge variieren je nach Währung. Jeder Versuch, einen Betrag unterhalb des Mindestbetrags auszuzahlen, führt zu diesem Fehler.

Das ist ein allgemeiner Fehler, der anzeigt, dass eine Einzahlungsanfrage nicht abgeschlossen werden konnte (zum Beispiel würde dieser Fehler auftreten, wenn Kunden aus bestimmten Regionen versuchen, On-Chain-Staking-Anfragen zu stellen).

Die angeforderte Auszahlung konnte nicht abgeschlossen werden, weil in der Zieladresse die erforderlichen Angaben zum Begünstigten/Empfänger fehlen (bitte beachte, dass dies derzeit nur für bestimmte Auszahlungen von kanadischen Konten gilt).

Dienststatusfehler

Die Dienstfehler, die du hast, sollten nur vorübergehend sein. Du kannst deine Anfragen erneut senden, wenn sie fehlgeschlagen sind. Wir werden die Probleme beobachten und unsere Seite aktualisieren:

https://status.kraken.com/

Interne Fehler

Wenn wir mit Problemen bei der API-Leistung konfrontiert sind, kann das für Kraken zu Problemen in Form von Meldungen über nicht verfügbare Dienste und Ausfällen der Website führen.

Dieses Problem hängt mit der Sicherheit deines Kontos zusammen, das möglicherweise kompromittiert wurde. Bitte ändere dein Passwort und die Zwei-Faktor-Authentifizierung und wende dich an unser Support-Center.

Dieser Fehler tritt auf, wenn ein Flag oder ein Eingabeparameter vorübergehend oder dauerhaft deaktiviert ist. Der Fehler sollte von einer der übergebenen Eingaben stammen. Bitte wende dich an unseren Support und sende ein Protokoll mit den vollständigen Informationen, die für den Aufruf verwendet wurden, der den Fehler verursacht hat.

Diese 5xx- und 10xx-Fehler sind eigentlich keine API-Fehler, sondern Webserver-Fehler von Cloudflare.

API-Fehler werden immer im JSON-Format zurückgegeben, z. B. „error”: [“ErrorType:ErrorMessage”]. Wenn also ein Fehler in einem anderen Format empfangen wird (z. B. ein HTTP-Statuscode von 520, 504, 502, 1020 usw.), besteht die vorläufige Lösung darin, den API-Aufruf kurz darauf erneut zu versuchen, in der Hoffnung, dass der Aufruf dann erfolgreich ist.

Brauchst du weitere Hilfe?