Aanmaken van een spot API-sleutel
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 accountgegevenstradingen 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

46.png
  • Selecteer het tabblad API en klik op API-sleutel aanmaken.
46.png

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.
API_Key_Settings.png

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_ExampleKey1Generated_03122021.png
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.