All
Filtern nach:
Wie zahle ich Cash auf mein Konto ein?
Ich brauche Hilfe bei der Kontoverifizierung
Warum kann ich nicht auf mein Konto zugreifen?
Gibt es Gebühren für das Auszahlen von Krypto?
Ich brauche Hilfe bei der Anmeldung bei meinem Konto
Interne API-Berechnungen werden mit so vielen Dezimalstellen wie nötig durchgeführt, abhängig von der Präzision der jeweiligen Währung. Angezeigte Werte werden jedoch manchmal gerundet oder gekürzt, um einen verwendbaren Wert zu erhalten oder zu Formatierungszwecken.
Beispielsweise verwenden Bitcoin (BTC)-Berechnungen bis zu 10 Dezimalstellen (die maximal nutzbare Präzision für BTC beträgt 8 Stellen), werden aber manchmal nur mit 5 Dezimalstellen angezeigt. Ähnlich verwenden US-Dollar (USD)-Berechnungen bis zu 4 Dezimalstellen (die maximal nutzbare Präzision für USD beträgt natürlich 2 Stellen), werden aber oft nur mit 2 Dezimalstellen angezeigt.
Der REST API Assets Endpunkt kann verwendet werden, um die maximalen Dezimalpräzisionen für einzelne Währungen zu bestimmen:
$ ./krakenapi Assets asset=xbt,usd
{"error":[],"result":{"XXBT":{"aclass":"currency","altname":"XBT","decimals":10,"display_decimals":5},"ZUSD":{"aclass":"currency","altname":"USD","decimals":4,"display_decimals":2}}}
Wie gezeigt, liefert der Assets-Endpunkt die Dezimalpräzisionen für Berechnungen über die Felder „decimals“ und die Dezimalpräzisionen für die Anzeige über die Felder „display_decimals“.
Abgleich lokaler Werte mit API-Werten
Werte, die aus lokalen Berechnungen abgeleitet werden (wie die Berechnung von Saldoänderungen aus dem Preis und Volumen eines Handels), haben oft mehr Dezimalstellen als erforderlich und müssen gerundet/gekürzt werden, um den von der API bereitgestellten Werten zu entsprechen.
Zum Beispiel führt eine SHIB/USD-Order zum Kauf von 50,123 SHIB zu 0,00002901 $ zu einem Handelswert von 1,45406823 $ (50,123 x 0,00002901 = 1,45406823 $), aber der REST API Ledgers-Endpunkt zeigt, dass der USD-Saldo um einen Wert mit geringerer Präzision von 1,4541 $ gesunken ist:
"L2A7BN-OLRUR-DGZH7F":{"refid":"T5JORM-HM432-GQ3RGY","time":1639991413.4671,"type":"trade","subtype":"","aclass":"currency","asset":"ZUSD","amount":"-1.4541","fee":"0.0000","balance":"124.7277"}
Die Lösung für diese Art von Dezimalpräzisionsdiskrepanz besteht darin, lokale Werte zu runden/zu kürzen, um der vom REST API Assets-Endpunkt bereitgestellten Dezimalpräzision zu entsprechen.
Um das SHIB/USD-Beispiel fortzusetzen: Der Assets-Endpunkt gibt eine USD-Berechnungspräzision von 4 an (siehe den vorherigen Abschnitt oben), daher sollte der lokal berechnete Wert von 1,45406823 $ ebenfalls auf eine Dezimalpräzision von 4 gerundet/gekürzt werden:
50,123 x 0.00002901 = 1.45406823 auf 4 Stellen gerundet = 1.4541
Wie gezeigt, entspricht der Endwert von 1,4541 $, indem er auf die entsprechende Dezimalpräzision gerundet/gekürzt wird, genau dem vom Ledgers-Endpunkt bereitgestellten Wert, wodurch lokale Werte erfolgreich mit API-Werten abgeglichen werden können.