API-sleutels zijn een van de primaire componenten van API-verificatie en -beveiliging; ze zijn de API-equivalent van de gebruikersnaam en het wachtwoord van je Kraken-account.
API-sleutels zijn verplicht om een van de accountspecifieke (privé) API-eindpunten op te roepen, zoals de eindpunten voor accountgegevens, tradingen financiering en inkomsten. API-sleutels zijn niet verplicht om de marktgegevens (publieke) API-eindpunten op te roepen, omdat de marktgegevens niet gekoppeld zijn aan een specifieke Kraken-account.
API-sleutels kunnen worden gebruikt door alle software die interactie heeft met onze markten en accounts, zoals onze REST API-opdrachtregel-clients, mobiele apps van derden en tradingplatforms, externe tradingbots en meerdere andere producten/diensten.
- •Een API-sleutel aanmaken
- •Een API-sleutel configureren (toestemmingen/instellingen)
- •Een API-sleutel gebruiken
- •Tweevoudige verificatie (2FA) API-sleutel
Een API-sleutel aanmaken
- •Open het accountmenu (klik op het profielpictogram in de rechterbovenhoek van de pagina).
- •Selecteer de optie Instellingen.
- •Selecteer het tabblad API en klik op API-sleutel aanmaken.
Een API-sleutel configureren
API-sleutels hebben meerdere instellingen en opties die geconfigureerd moeten worden voordat de API-sleutel kan worden gebruikt, met name de naam/beschrijving en toegangstoestemmingen.
Sleutelbeschrijving
De sleutelbeschrijving is feitelijk de naam van de API-sleutel en kan vrijwel alles zijn wat je wilt, zolang de beschrijving maar uniek is (anders dan de beschrijvingen van alle andere API-sleutels in hetzelfde account).
De sleutelbeschrijving is standaard ingevuld met iets als "api-key-1605316109249". Deze standaardbeschrijving kan zo worden gelaten of worden gewijzigd naar een naam met een duidelijkere beschrijving (zoals "Trading-sleutel", "Accountbeheersleutel", "Python API-sleutel 6" of "Mobiele app-sleutel").
Sleutelrechten
De sleuteltoestemmingen bepalen welke accountspecifieke (privé) API-eindpunten de API-sleutel mag oproepen:
Middelen
- •Middelen opvragen is verplicht voor de API-eindpunten die naar de informatie over het accounttegoed opvragen, zoals Balance en TradeBalance.
- •Middelen storten is verplicht voor de financiering van eindpunten in verband met stortingen, zoals DepositMethods en DepositAddresses.
- •Middelen opnemen is verplicht voor de financiering van eindpunten in verband met opnames, zoals WithdrawInfo, Withdraw en WithdrawCancel.
Orders & Trades
- •Open orders & Trades opvragen is verplicht voor de API-eindpunten die reeds bestaande orders en margeposities opvragen, zoals OpenOrders, QueryOrders en OpenPositions.
- •Gesloten orders & Trades opvragen is verplicht voor de eindpunten die eerder gesloten/geannuleerde orders en margeposities opvragen, zoals ClosedOrders, QueryOrders en QueryTrades.
- •Orders wijzigen is verplicht voor de trading-eindpunten die nieuwe orders plaatsen, zoals AddOrder, EditOrder en AddOrderBatch.
- •Orders annuleren/sluiten is verplicht voor de trading-eindpunten die open of in behandeling zijnde orders annuleren, zoals CancelOrder, CancelAll en CancelOrderBatch.
Overige
- •Grootboekgegevens opvragen is verplicht voor de API-eindpunten die historische accountgegevens ophalen uit het accountgrootboek, te weten Ledgers en QueryLedgers.
- •Gegevens exporteren is verplicht voor de eindpunten die het accountgrootboek exporteren (downloaden), namelijk AddExport, RetrieveExport, ExportStatus en RemoveExport.
- •Access WebSockets API is verplicht om een verificatietoken op te halen voor de WebSocket-API's via het eindpunt GetWebSocketsToken.
Als een voorbeeld voor correct gebruik van toestemmingen voor API-sleutels, moet je denken aan een API-sleutel die door een derde partij voor trading-doeleinden is geleverd. Voor een dergelijke API-sleutel zijn zeker de toestemmingen Orders wijzigen en Orders annuleren/sluitennodig, is waarschijnlijk de toestemming Open orders & Trades opvragennodig. Maar toestemming voor Middelen opnemen is vrijwel zeker niet nodig.
Met een goede configuratie van de toestemmingen kan de API-client trades voor het account uitvoeren, maar voorkomt dat de API-client toegang heeft tot accountinformatie of financieringstaken kan uitvoeren.
Optionele instellingen
De overige instellingen van de API-sleutel zijn alleen verplicht voor meer geavanceerde configuraties. Daarom kunnen de standaardwaarden ervan meestal blijven staan:
- •Nonce-periode is een instelling die gebruikt wordt om netwerkproblemen te verhelpen die ervoor zouden kunnen zorgen dat API-verzoeken niet op tijd komen, door in een kort tijdsbestek te voorzien (1 seconde, 10 seconden, etc.) waarin API-verzoeken met een ongeldige nonce (een nonce-waarde die lager is dan de eerder gebruikte nonce-waarde) geen ongeldige nonce-fout zullen veroorzaken.
- •IP toevoegen aan witte lijst is een beveiligingsfunctie die het gebruik van API-sleutels beperkt tot specifieke IP-adressen aan de kant van de client.
- •Vervaldatum sleutel kan worden gebruikt om een API-sleutel aan te maken die slechts voor een bepaalde tijd werkt, zoals een sleutel die maar voor 1 week geldig is.
- •Start-/einddatum/tijd opvragen is een instelling die verzoeken voor historische accountgegevens beperkt tot een specifiek tijdsbestek, zoals een sleutel die de trading-geschiedenis van dit jaar kan ophalen maar niet van eerdere jaren.
Wanneer de instellingen van de API-sleutel goed zijn geconfigureerd, kan de nieuwe API-sleutel worden aangemaakt door te klikken op de knop Sleutel genereren.
BELANGRIJK: De API-sleutel, Privésleutel en QR-code moeten op dezelfde manier worden behandeld als je gebruikersnaam/wachtwoord. Sla ze op in een wachtwoordbeheerder als je ze later wilt raadplegen. Sla ze niet op in niet-versleutelde indeling!
Een API-sleutel gebruiken
API-sleutels bestaan uit een publieke en privésleutel, die beide aan de software van de API-client moeten worden verstrekt.
API-sleutels kunnen op verschillende manieren worden verstrekt, bijvoorbeeld:
- •Het sleutelpaar kan worden gekopieerd en als platte tekst direct in de API-clientcode worden geplakt. Bijvoorbeeld: De door onze PHP API-client gebruikte methode.
- •Het sleutelpaar kan worden gekopieerd en in platte tekstbestanden worden geplakt waartoe de API-client toegang heeft. Bijvoorbeeld: De methode die wordt gebruikt door onze opdrachtregel-API-client.
Opmerking: De privésleutel staat in sommige software voor API-clients ook bekend als het API-geheim (of kortweg het geheim).
2FA voor API-sleutel
API-sleutels op zich bieden al een veilige manier om API-toegang tot een Kraken-account te verifiëren, maar hun beveiliging kan nog verder worden verhoogd door tweevoudige verificatie (2FA) toe te voegen.
API-sleutel 2FA kan worden toegevoegd aan een reeds bestaande API-sleutel via de pagina Beveiliging en kan van een statisch wachtwoord of Google Authenticator gebruikmaken.
Opmerking: Voor het toevoegen van 2FA aan een API-sleutel is het ook noodzakelijk dat de API-client 2FA ondersteunt (de 2FA-gegevens voor elke oproep aan de privé-API-methodes levert), anders wordt een onverwachte fout geretourneerd in plaats van de gewenste API-uitvoer.
Lees hier meer over hoe 2FA werkt voor API-sleutels.