# Kraken

Dfns support integrations with Kraken and Kraken Pro exchange accounts.  Users must have a Pro account in order to generate API keys to input into the Dfns Dashboard to configure the integration.

{% embed url="<https://www.youtube.com/watch?v=w63Ls5T0j0Q>" %}

## API Key Generation

Log into your Kraken account and go to the Kraken Pro homepage at <https://pro.kraken.com/app/home>.  From here, click **Settings** under the profile icon in the top right and then on `API` to reach this page: <https://pro.kraken.com/app/settings/api>.   Click **Create API Key** and generate a Read only key by selecting only the **Query** permission:&#x20;

<figure><img src="https://3953120539-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtnSPOZGQ2hBmgoVWX5H6%2Fuploads%2FDyY8Ciw1q7CDDTjgHnjJ%2FScreenshot%202024-09-11%20at%204.30.20%E2%80%AFPM.png?alt=media&#x26;token=64f1164a-ba58-4448-b8c5-f26d38c25232" alt=""><figcaption></figcaption></figure>

Click **Generate** `key`.  Log into your Dfns dashboard and click **Settings=>Exchanges=>New**. Copy the Public and Private API keys from Kraken into the corresponding fields.  Go back to Kraken and generate a second Write API key with the following minimum permissions:

<figure><img src="https://3953120539-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtnSPOZGQ2hBmgoVWX5H6%2Fuploads%2FDNFbSK8sXLsJCZ8uU8yz%2FScreenshot%202024-09-11%20at%204.33.54%E2%80%AFPM.png?alt=media&#x26;token=28f83a6c-c49b-4a8b-8f04-f6945007d9c2" alt=""><figcaption></figcaption></figure>

Copy the generated values into the Write API key fields in Dfns.  Optionally select 2FA if your Kraken account requires it.  Click **Create** and the integration setup is complete.&#x20;

## Whitelisting Withdrawal Addresses

Kraken enforces a **whitelist** policy for all withdrawal wallet addresses. This means that before withdrawing any assets to an external wallet, the wallet address must be added to a whitelist in your Kraken account.  Follow these steps to whitelist a wallet address using Kraken's standard interface:

1. **Log into your Kraken account.  Go to the main Kraken app (not Pro).**&#x20;
2. **Navigate to the “Transfer” tab:**
   * Once logged in, locate the **Transfer** tab, which is typically displayed on the left side of your dashboard.
3. **Access the “Withdrawals” section:**
   * From the Transfer tab, click on the **Withdrawals** sub-tab. This will display all available assets for withdrawal.
4. **Select Asset and Chain:**
   * In the Withdrawals section, choose the **asset** (e.g., Bitcoin, Ethereum, etc.) and the corresponding **blockchain** network (e.g., BTC, ETH) that you wish to withdraw.
5. **Manage Wallets:**
   * After selecting the asset and chain, click on the **Manage Address** link and then **Add New Withdrawal Address**. This will allow you to add a new wallet address to the whitelist for future withdrawals.
6. **Add a New Whitelist Entry:**
   * Enter the Dfns wallet address you wish to whitelist.
7. **Admin Confirmation:**
   * The added wallet address will require confirmation by the **account admin** before it becomes active. The account admin will receive a notification to confirm the newly added whitelist entry.
   * Until the wallet address is confirmed, it will not be available for withdrawals.

This whitelisting process adds an extra layer of security, ensuring that only authorized wallet addresses can receive withdrawals from your Kraken account.

<figure><img src="https://3953120539-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtnSPOZGQ2hBmgoVWX5H6%2Fuploads%2FahuYSwnQHRjn2BBTYMrX%2FScreenshot%202024-09-11%20at%204.38.53%E2%80%AFPM.png?alt=media&#x26;token=9301122d-ce7e-4f22-b38f-85d8bca77567" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-legacy.dfns.co/d/integrations/exchanges/kraken-setup.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
