Skip to content

Kraken

This guide covers API setup for Kraken Spot. For derivatives, see Kraken Futures — the API key is created from the same Kraken Pro settings page, but spot and futures each need their own key (a spot key won't authenticate to the futures venue and vice versa).

Obtaining the API

Sign in to Kraken Pro and open Settings → API. You can also reach it from the profile icon in the top-right corner: select Settings, then open the API tab.

Scroll to the Spot trading API section and click Create API key.

Kraken Pro Settings API page showing the Spot trading API section with the Create API key button.

Configure the key

The Add API key dialog opens.

Kraken Pro Add API key dialog with permissions, WebSocket interface, IP address restriction, and other configuration options.

Fill in the Name — any label that identifies this key (e.g. "HTS"). Names must be unique across your Kraken account.

Then select permissions. Kraken lays them out in three columns — enable the items below and leave the rest unchecked:

  • Funds permissions
    • Query — enable. Required to read balances.
    • Deposit — leave disabled.
    • Withdraw — leave disabled.
    • Earn — leave disabled.
  • Orders and trades
    • Query open orders & trades — enable.
    • Query closed orders & trades — enable.
    • Create & modify orders — enable.
    • Cancel & close orders — enable.
  • Data
    • Query ledger entries — enable.
    • Export data — leave disabled.

Danger

Do not enable Withdraw. HaasOnline never needs withdrawal permission to trade on your behalf. Enabling it means a leaked API key could drain your Kraken account — a trading-only key limits the blast radius to trades on your existing balances.

Below the permissions, configure the toggles:

  • WebSocket interface — turn On. By default the key is REST-only; HaasOnline uses Kraken's WebSocket feed for live market data, so this needs to be enabled.
  • IP address restriction — turn On and paste the IP address(es) into the Comma delimited list of IPv4 or IPv6 IP addresses or blocks field. See the IP note below.
  • Key expiration — optional. Sets a date after which the key automatically stops working. Useful if you want to force a periodic rotation.
  • Query start date / Query end date — optional. Restrict the historical range the key can query.
  • Custom nonce window — leave Off unless you hit nonce errors from networking lag.

Info

For IP address restriction:

  • If you are running an Enterprise license, use the IP address of your machine/server
  • If you are trading on HaasOnline Cloud, enter the IP address shown in the HaasOnline UI during exchange account setup

Click Generate key.

Verify with 2FA

Kraken prompts you to confirm the action with your authenticator app.

Kraken Pro "Verify it's you" 2FA dialog requesting the Sign-in 2FA code from your authenticator app.

Enter the 6-digit code from your authenticator app and click Enter.

Copy the keys

The API key created view opens with both credentials:

Kraken Pro API key created dialog showing the API key and Private key fields with a warning that they can't be viewed again.

Copy both values immediately:

  • API key — the public identifier.
  • Private key — used to sign requests.

Danger

Save both values before closing this dialog. Kraken does not show them again after you close it. If you lose either value, you'll have to delete the key and create a new one.

Click Close once both are saved.

Adding the API to HaasOnline TradeServer Cloud

Log in to TradeServer Cloud.

Click on the user menu icon in the top right and select Exchange Accounts.

HaasOnline TradeServer Exchange Accounts page with the user menu open and Exchange Accounts highlighted.

Click Add account.

HaasOnline TradeServer Exchange Accounts empty state with the Add account button highlighted.

Select Exchange Account.

HaasOnline TradeServer Select Account Type modal with Exchange Account highlighted.

From the list of supported exchanges, choose Kraken. The Kraken account setup panel opens.

HaasOnline TradeServer Cloud Kraken account setup panel showing IP addresses to whitelist, Account name, Public key, and Private key fields, with Obtaining the API and Test keys buttons.

At the top of the panel, the IP addresses to whitelist field shows the Cloud IPs you should paste into Kraken's IP address restriction when creating the key. Use the copy icon to grab them.

Enter an Account name, then paste the values from Kraken:

  • Public Key → the Kraken API key
  • Private Key → the Kraken Private key

Info

Check for stray spaces at the start and end of the API key and Private key after pasting — they're a common source of "invalid credentials" errors.

Once the fields are filled in, the TEST KEYS button becomes active. Click it. If the test passes, click Submit to add the account to the platform.