All
Filtrera efter:
Hur gör jag en kontantinsättning till mitt konto?
Jag behöver hjälp med kontoverifiering
Varför kan jag inte komma åt mitt konto?
Finns det några avgifter för kryptoutttag?
Jag behöver hjälp med att logga in på mitt konto
Interna API-beräkningar utförs med så många decimaler som behövs beroende på den aktuella valutans precision, men visade värden avrundas/trunkeras ibland för att uppnå ett användbart värde eller för formateringsändamål.
Till exempel använder Bitcoin (BTC)-beräkningar upp till 10 decimaler (den maximala användbara precisionen för BTC är 8 platser), men visas ibland med endast 5 decimaler. På samma sätt använder US Dollar (USD)-beräkningar upp till 4 decimaler (den maximala användbara precisionen för USD är naturligtvis 2 platser), men visas ofta med endast 2 decimaler.
REST API-slutpunkten Assets kan användas för att bestämma maximal decimalprecision för enskilda valutor:
$ ./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}}}
Som visas tillhandahåller Assets-slutpunkten beräkningsdecimalprecisionen via fälten `decimals` och visningsdecimalprecisionen via fälten `display_decimals`.
Matcha lokala värden med API-värden
Värden som härrör från lokala beräkningar (som att beräkna saldoförändringar från en trades pris och volym) har ofta fler decimaler än nödvändigt och måste avrundas/trunkeras för att matcha de värden som tillhandahålls av API:et.
Till exempel resulterar en SHIB/USD-order för att köpa 50 123 SHIB till 0,00002901 $ i en affär värd 1,45406823 $ (50 123 x 0,00002901 = 1,45406823), men REST API Ledgers-slutpunkten visar att USD-saldot minskade med ett mindre precisionsvärde på 1,4541 $:
"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"}
Lösningen på denna typ av avvikelse i decimalprecision är att avrunda/trunkera lokala värden för att matcha den decimalprecision som tillhandahålls av REST API Assets-slutpunkten.
För att fortsätta med SHIB/USD-exemplet indikerar Assets-slutpunkten en USD-beräkningsprecision på 4 (se föregående avsnitt ovan), därför bör det lokalt beräknade värdet på 1,45406823 $ också avrundas/trunkeras till en decimalprecision på 4:
50 123 x 0,00002901 = 1,45406823 avrundat till 4 decimaler = 1,4541
Som visas, genom att avrunda/trunkera till lämplig decimalprecision, motsvarar det slutliga värdet på 1,4541 $ exakt det värde som tillhandahålls av Ledgers-slutpunkten, vilket gör att lokala värden kan matchas med API-värden framgångsrikt.