# V7.12.0 - Fireblocks Integration

**Released Date - 23 May 2024**

We are thrilled to announce the integration of Fireblocks Vault with our CRM, a digital asset provider trusted by some of the world's leading banks and institutions. Fireblocks empowers brokers to seamlessly manage cryptocurrency deposits and withdrawals with enhanced protection. By leveraging Fireblocks' enterprise-grade infrastructure, you can ensure both the safety and efficiency of your clients' crypto transactions. Keep reading to learn more!

## <mark style="color:red;">Summary</mark>

1. **New Crypto Payment Method:** Discover new opportunities and enhance your client experience with our ready-to-use crypto payment gateway. Simplify cryptocurrency transactions and expand payment options for your clients, allowing you to accept payments globally and instantly with ease.
2. **Secure Vault Structure:** Safeguard client assets through Fireblocks' vault structure, which segregates funds into dedicated vault accounts, strengthening security and audit protocols for all transactions. Enjoy the convenience of cryptocurrency without sacrificing safety or reliability.
3. **Security Checklist**: Enhance the security of your funds by adhering to the recommended security checklist, which includes mandatory two-factor authentication (2FA) and multi-level approval processes, providing extra layers of protection.&#x20;

### <mark style="color:red;">1)   Marketplace Installation & Permission Settings</mark>

To begin offering Fireblocks, follow these steps to install it via the CRM marketplace:

1. Navigate to the CRM marketplace.

   <figure><img src="/files/TAKC9fxl6lIbF1Ytarue" alt=""><figcaption></figcaption></figure>
2. Search for "Fireblocks" and click on "Install."

   <figure><img src="/files/s9iwwXZnWB2pqlbJ8yft" alt="" width="392"><figcaption></figcaption></figure>
3. You will be redirected to the details page where you can learn about the functionalities. Click "Install" to proceed with the installation.

   <figure><img src="/files/QCG9pFvXD6NkfcFGS5rB" alt=""><figcaption></figcaption></figure>

Once Fireblocks is installed on your CRM, ensure to enable the following permissions:

1. Read Fireblocks Settings: Allows viewing of settings for Fireblocks.
2. Create Fireblocks Settings: Enables creation and configuration of settings for Fireblocks.
3. Update Fireblocks Settings: Facilitates updating and amending the configuration for Fireblocks.
4. Delete Fireblocks Settings: Grants the ability to delete Fireblocks settings as needed.

<figure><img src="/files/poutk7yfq9tVRh0Z2dqk" alt=""><figcaption></figcaption></figure>

### <mark style="color:red;">2)   Register for a Fireblocks Account</mark>

Next, to register for a Fireblocks account, follow these steps:

1. Navigate to [Fireblocks official website](https://www.fireblocks.com). &#x20;
2. Click "Request Demo".&#x20;

   <figure><img src="/files/ukC25jqDsFA7MA5Z05es" alt=""><figcaption></figcaption></figure>
3. The Fireblocks team will reach out to you to setup your account.&#x20;

### <mark style="color:red;">3)   Retrieving API Credentials from Fireblocks</mark>

Once you have created your Fireblocks account, follow these steps to retrieve the API credentials:

{% tabs %}
{% tab title="Step 1" %}

1. Login to your Fireblocks account.&#x20;
2. Click "Settings".&#x20;

   <figure><img src="/files/QmNMVp21U1j1PwafFuPx" alt=""><figcaption></figcaption></figure>
3. Navigate to "Users" tab and click "Add user".&#x20;

   <figure><img src="/files/4fZ7uSvGXja24nI5Zwyl" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 2" %}

1. Click "API user".&#x20;
2. Fill in the Name.&#x20;
3. Select "Editor" for the Role.&#x20;
4. Click "Automatic CSR".&#x20;
5. Download the private key.&#x20;

   <figure><img src="/files/IW95NZF0kfOiaY1ARSqe" alt="" width="464"><figcaption></figcaption></figure>
6. Once you have downloaded the private key. Click "Add user".&#x20;

   <figure><img src="/files/smUakecZOW46roa6ZODZ" alt="" width="458"><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 3" %}

1. Once you have added a user, you can retrieve the API key by clicking onto the key icon.&#x20;

   <figure><img src="/files/n1EKWtVeSJkgY2THjpNZ" alt=""><figcaption></figcaption></figure>
2. Store the API key securely for future reference.&#x20;
3. Retrieve the Webhook public key via this [link](https://developers.fireblocks.com/reference/webhooks-notifications-1#webhook-public-key) and store the API key for future reference as well.&#x20;
   {% endtab %}
   {% endtabs %}

### <mark style="color:red;">4)   Create Vault Account via Fireblocks</mark>

To create a vault account, follow these steps:&#x20;

{% tabs %}
{% tab title="Step 1" %}

1. Login to your Fireblocks account.&#x20;
2. Navigate to "Accounts".&#x20;
3. Click "Create vault account".&#x20;

   <figure><img src="/files/OwEXg7EN7kVQOAtBLfZ2" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 2" %}

1. Fill in Account Name.&#x20;
2. Click "Create".&#x20;

   <figure><img src="/files/hMZTGfGFAfOTHZ3wN1Ny" alt="" width="432"><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 3" %}

1. After creating the vault account, you'll be redirected to setup wallets for the account.&#x20;
2. Click "Create wallet" to setup wallets for the various asset classes.&#x20;

   <figure><img src="/files/gAj1YzWpth3j1qDcfggf" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 4" %}

1. Select the asset.&#x20;
2. Click "Create wallet".&#x20;

   <figure><img src="/files/5SBusx4P6tSyFYpZaW4g" alt="" width="335"><figcaption></figcaption></figure>
3. Each vault account can hold 1 wallet per asset. &#x20;
   {% endtab %}
   {% endtabs %}

### <mark style="color:red;">5)   Connect Fireblocks to CRM</mark>&#x20;

To connect your Fireblocks account to the CRM, follow these steps:&#x20;

{% tabs %}
{% tab title="Step 1" %}

1. Navigate to PSP Settings > Fireblocks Settings.&#x20;
2. Click "Create".&#x20;

   <figure><img src="/files/GhwRRSwcUIOwDB3ONM3E" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 2" %}

1. Fill in the respective fields.&#x20;
2. To enable Fireblocks as a withdrawal method, you will need to select the appropriate Withdraw Vault Account. &#x20;
3. Click "Save".&#x20;

   <figure><img src="/files/GFowZQ1lRc0OQwiak1TO" alt="" width="563"><figcaption></figcaption></figure>

{% endtab %}
{% endtabs %}

### <mark style="color:red;">6)   Inputting Callback Address into Fireblocks</mark>

You will need to input the CRM callback address into your Fireblocks account. To do so, follow these steps:&#x20;

{% tabs %}
{% tab title="Step 1" %}

1. Once you have created the Fireblocks settings, you can retrieve the callback address by clicking the "View" icon.&#x20;

   <figure><img src="/files/qBtAAQ10H2uYJApbxEfZ" alt=""><figcaption></figcaption></figure>
2. You will be able to see the callback address here.&#x20;

   <figure><img src="/files/03paofy6aAFHtZhLPb7t" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 2" %}

1. Login to your Fireblocks account.&#x20;
2. Click "Settings" and navigate to "General" tab.&#x20;

   <figure><img src="/files/xQd9oQ8fzwnB97cScwmY" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 3" %}

1. Click "Manage webhooks" and input the callback address.&#x20;

   <figure><img src="/files/VETts8J9pM73i19u9AEb" alt="" width="563"><figcaption></figcaption></figure>
2. Click "Save".&#x20;
   {% endtab %}
   {% endtabs %}

### <mark style="color:red;">7)   Fireblocks Security Measures</mark>

To enhance the security of your funds, we've introduced security measures for utilizing Fireblocks as a deposit and withdrawal channel. While these measures are optional, we highly recommend their implementation, which includes:

1. [**Two-Factor Authentication (2FA) Verification**](#a-2fa-verification): Clients are required to input a 2FA code before proceeding with any transactions.
2. [**Multi-Level Approval for Withdrawals**](#b-multi-level-approval): Each withdrawal request undergoes two levels of mandatory approval. This additional verification layer ensures that only authorized and legitimate requests are processed, mitigating the risk of unauthorized withdrawals.

You'll have visibility into the necessary actions to enhance the security of your funding processes.

<figure><img src="/files/fUiIzFOYy4ZZkh2sMeKN" alt=""><figcaption></figcaption></figure>

#### A)   2FA Verification

To enable 2FA Verification, follow these steps:&#x20;

{% tabs %}
{% tab title="Step 1" %}

1. Click on "GO NOW".&#x20;

   <figure><img src="/files/tP3Ft74sjfG39HTEI2QU" alt=""><figcaption></figcaption></figure>
2. You will be redirected to Security Settings.&#x20;

   <figure><img src="/files/83XzDdS7fXSFqYiRbdWK" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 2" %}

1. Click the "Edit" icon.&#x20;

   <figure><img src="/files/B2eOqKAQYRDUTcsGKELH" alt=""><figcaption></figcaption></figure>
2. Turn on Mandatory 2FA.&#x20;
3. Click the "Save" icon.&#x20;

   <figure><img src="/files/OYb2H5DryF9Edaqel4ZB" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 3" %}
The security checklist for 2FA will be marked as completed.&#x20;

<figure><img src="/files/Jmu8i5kTgZwTQUnTe5KC" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

#### B)   Multi Level Approval

To setup Multi-Level Approval, follow these steps:&#x20;

{% tabs %}
{% tab title="Step 1" %}

1. Click on "GO NOW".&#x20;

   <figure><img src="/files/vtfhQL505ypv76Ph8NTw" alt=""><figcaption></figcaption></figure>
2. You will be redirected to the CRM Marketplace.&#x20;
3. Locate "Multi-level Approval" and click "Install".&#x20;

   <figure><img src="/files/nkFQLfPEDcDMVQAPufyg" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 2" %}

1. You'll be redirected to the details page.&#x20;
2. Click "Install" to proceed with the installation.&#x20;

   <figure><img src="/files/lKQinkLM338MfaoAK7Sj" alt=""><figcaption></figcaption></figure>
3. The security checklist for installation of Multi-level Approval will be marked as completed.&#x20;

   <figure><img src="/files/551rQVPE3CzpDnyV1Nqt" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 3" %}

1. To proceed with the configuration of Multi-Level Approval for withdrawals, click "GO NOW".&#x20;

   <figure><img src="/files/1c5EtlVKokhzTNTJH0Co" alt=""><figcaption></figcaption></figure>
2. You will be redirected to Approval Settings > Process Settings.&#x20;
3. Locate "Withdrawal" and click the "Edit" icon.&#x20;

   <figure><img src="/files/WHzW4yFTR9ryxlkN1I77" alt="" width="563"><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 4" %}

1. It is recommended to have at least 2 levels of approvers:&#x20;
   * First Level: Deduct Level of Approval. Upon approval, the withdrawal amount will be deducted from the trading account or wallet.&#x20;
   * Second Level: Payout Level of Approval. Upon approval, the withdrawal request will be sent to Fireblocks and the funds will be paid out to your client.&#x20;
2. You will need to add a second level by clicking the "+" icon.&#x20;

   <figure><img src="/files/Vg9ZwpbW1wKGUGZfksKh" alt="" width="151"><figcaption></figcaption></figure>
3. Upon adding the second level of approver, the first level will automatically be assigned both the "Deduct" and "Payout" approval.&#x20;

   <figure><img src="/files/TQQVca9VO69HfU1LAcYP" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 5" %}

1. Set "Payout Level" to be on the second level of approval by clicking the "Payout" icon.&#x20;

   <figure><img src="/files/AbsnGPWNrdQKjXSxNoQX" alt="" width="255"><figcaption></figcaption></figure>
2. Assign the respective parties for each level of approval.&#x20;

   <figure><img src="/files/cHDhpgp8uvs9s0PMgt0X" alt="" width="391"><figcaption></figcaption></figure>
3. Click "Publish".&#x20;

   <figure><img src="/files/331hoWwpECrEESQiYzud" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 6" %}
The security checklist for setting up multi-step approval will be marked as completed.&#x20;

<figure><img src="/files/cCnx779Y9ubNxvflYQsY" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### <mark style="color:red;">8)   View, Edit & Delete Fireblocks Settings</mark>

You will be able to perform the following actions on your Fireblocks Settings:&#x20;

<details>

<summary>View Settings</summary>

To view Fireblocks settings, follow these steps:&#x20;

1. Locate the specific Fireblocks setting you wish to view.&#x20;
2. Click on the "View" icon.&#x20;

   <figure><img src="/files/bhtYiL5QX5tXoQ9eBV6M" alt=""><figcaption></figcaption></figure>
3. You will be able to see all the configured settings.&#x20;

   <figure><img src="/files/Yx99lrqdbqAruWJmRC32" alt="" width="534"><figcaption></figcaption></figure>

</details>

<details>

<summary>Edit Settings</summary>

To edit Fireblocks settings, follow these steps:&#x20;

1. Locate the Fireblocks settings you want to edit.&#x20;
2. Click on the "Edit" icon.&#x20;

   <figure><img src="/files/oIpa5rm6T6NfVOwkv41h" alt=""><figcaption></figcaption></figure>
3. Make the necessary amendments.&#x20;
4. Click on "Save" to save the updated settings.&#x20;

   <figure><img src="/files/VjGFbA1JMQkU3uSob1hj" alt="" width="375"><figcaption></figcaption></figure>

</details>

<details>

<summary>Delete Settings</summary>

To delete Fireblocks settings, follow these steps:&#x20;

1. Locate the Fireblocks settings you want to delete.&#x20;
2. Click on the "Delete" icon. <br>

   <figure><img src="/files/yyBuc5F98G2cqH9A7L4D" alt=""><figcaption></figcaption></figure>
3. A confirmation popup notice will appear.&#x20;
4. Click "Confirm" to proceed with the deletion. <br>

   <figure><img src="/files/Npwn1YzWnX6bp4z8nwaV" alt="" width="248"><figcaption></figcaption></figure>
5. Please note that if the Fireblocks setting is being used by an existing deposit method, you will not be able to delete it.&#x20;

</details>

### <mark style="color:red;">9)   Setting Up Fireblocks as a Payment Method</mark>

To setup Fireblocks as a payment method for your clients, follow these steps:&#x20;

{% tabs %}
{% tab title="Step 1" %}

1. Navigate to Transaction Settings > Deposit Settings within your CRM.
2. Click on the "Create" button to create a new payment method.

   <figure><img src="/files/SnXbsTD5dstVAKXrogR0" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 2" %}

1. Select the Fireblocks setting you have configured under "Fireblocks Settings" as the platform for the deposit method.
2. Fill in the respective fields.&#x20;
   * Select the client groups for which this deposit method will be allowed.&#x20;
   * Provide a name for the deposit method.&#x20;

     <figure><img src="/files/NzoxfgHGjoEPTogPQCaN" alt=""><figcaption></figcaption></figure>
   * Select the supported currencies that your clients can use for deposits.&#x20;
   * Fill in the details for each currency, including: &#x20;
     1. Minimum Deposit: Set the minimum deposit amount for the currency.
     2. Maximum Deposit: Set the maximum deposit amount for the currency.&#x20;
     3. Fee: Enter the fee amount associated with the deposit.
     4. Maximum Fee: Specify the maximum fee applicable for the deposit.&#x20;
   * Configure the required deposit fields as per your preferences.&#x20;
3. Click on the Save button to save the deposit method configuration.

   <figure><img src="/files/i5k9UN6UTCchz4NcTWlx" alt="" width="375"><figcaption></figcaption></figure>

{% endtab %}
{% endtabs %}

### <mark style="color:red;">10)   Client Deposit via Fireblocks</mark>

To deposit funds via Fireblocks, your clients can follow these steps:&#x20;

{% tabs %}
{% tab title="Step 1" %}
Navigate to the "Funds" section in their account and click on "Deposit".<br>

<figure><img src="/files/Ru49pmnuvTczVO9hvWpz" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Step 2" %}

1. Select "Fireblocks" as the deposit method.&#x20;
2. Select the "Payment Currency".&#x20;
3. Fill in the account to deposit funds into and the payment amount.&#x20;
4. Click "Next".&#x20;

   <figure><img src="/files/vCaN2ObalE4wACMjR04V" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 3" %}

1. If your client does not have an existing vault account, the CRM will automatically create one on Fireblocks, using the client's CRM ID as the account name.
2. A dedicated wallet address will be displayed. Your client can proceed to transfer the funds to this wallet.
3. Once the transfer is complete, click "Payment Completed".

   <figure><img src="/files/dUGEWsQbbUf8HGfZZNdG" alt="" width="305"><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 4" %}

1. Deposit via Fireblocks will need to be done within a 2 hours timeframe. Otherwise, the deposit request will be cancelled automatically.&#x20;
2. Once payment is completed, a deposit request will be sent to you, and it will be either manually or automatically approved based on the approval settings configured by you.
3. In the Approvals page of your CRM, you can easily monitor all deposits made via Fireblocks. The payment status will be reflected as follows:

   * Success: This indicates that the callback for the deposit was successful, confirming a completed transaction.
   * Failed: This status signifies that the callback for the deposit failed, indicating an unsuccessful transaction.
   * Pending: If the callback for the deposit has not been received yet, the status will be shown as Pending, indicating that the transaction is still being processed.

   <figure><img src="/files/iGFenHOnM3gJKCUlse6t" alt="" width="375"><figcaption></figcaption></figure>

{% endtab %}
{% endtabs %}

### <mark style="color:red;">11)   Setting Up Fireblocks as a Withdrawal Method</mark>

To setup Fireblocks as a withdrawal method for your clients, follow these steps:&#x20;

{% tabs %}
{% tab title="Step 1" %}

1. Navigate to Transaction Settings > Withdrawal Settings.&#x20;
2. Under Withdrawal Method Settings, click "Create".&#x20;

   <figure><img src="/files/EavYx7MytUUoBldnINC6" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 2" %}
Fill in the respective fields:&#x20;

1. Select "Fireblocks" as the Platform.&#x20;
2. Fill in the name of the withdrawal method.&#x20;
3. Select the Client Groups the withdrawal method will be made available to.&#x20;
4. Select the currencies.&#x20;
5. Fill in the minimum withdrawal, maximum withdrawal, fee and maximum fee amount for reach currency. &#x20;
6. Configure the withdrawal fields. Wallet address is a default mandatory field that cannot be edited or deleted.&#x20;

Click "Save".&#x20;

<figure><img src="/files/S2jxZzowN9QaQ7KLdaKk" alt="" width="341"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### <mark style="color:red;">12)   Client Withdraw via Fireblocks</mark>

To withdraw funds via Fireblocks, your clients can follow these steps:&#x20;

{% tabs %}
{% tab title="Step 1" %}

1. Navigate to Funds.&#x20;
2. Click "Withdraw".&#x20;

   <figure><img src="/files/35vXaxiPDbJcanOqJi0f" alt=""><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 2" %}

1. Fill in the respective fields on the withdrawal form.&#x20;
   * Fireblocks will whitelist your client's wallet address.&#x20;
   * Each client canonly have one wallet address per asset.&#x20;
   * For first-time withdrawals via Fireblocks, clients will need to provide their wallet address, which will then be automatically whitelisted and assigned in Fireblocks.&#x20;
   * For subsequent withdrawals, the whitelisted wallet address for the asset will be automatically filled in.&#x20;
2. Click "Submit".&#x20;

   <figure><img src="/files/VApVNsGriapk7QDOjHW4" alt="" width="563"><figcaption></figcaption></figure>

{% endtab %}

{% tab title="Step 3" %}

1. Your client will be redirected to the transaction history page where they can view the status of their request.&#x20;

   <figure><img src="/files/ln1oJRfpC5Flcukkb9is" alt=""><figcaption></figcaption></figure>
2. The withdrawal request will be sent to you for review.
   * If you have not set up multi-level approval, upon your approval, the funds will be deducted from the client's trading account or wallet, and the funds from your withdrawal vault account will be sent to the client's wallet address.
   * If you have set up multi-level approval according to the security checklist, upon first-level approval, the funds will be deducted from the client's trading account or wallet. The funding status will reflect "Withdrawn".&#x20;

     <figure><img src="/files/OLBCIoLbpdtsSOgFMd86" alt="" width="375"><figcaption></figcaption></figure>
   * Upon second-level approval, the funds from your withdrawal vault account will be sent to the client's wallet address.
     {% endtab %}
     {% endtabs %}


---

# 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://reference-guide.gitbook.io/crm-version-release-notes/v7.12.0-fireblocks-integration.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.
