# Shufti Pro - KYC & AML Verification

## Available To

Free for the following exchange plans:

* **Cloud Plans:**
  * Enterprise
* **On-Premise Plans:**
  * Enterprise Unlimited

## What Is It?

The **Shufti Pro Plugin** is a KYC and AML verification solution integrated into HollaEx exchanges. Powered by [Shufti Pro](https://shuftipro.com), it provides a hosted, multi-language identity verification flow with support for ID, passport, driving licence, address checks, and selfie/video liveness.

The plugin generates a verification URL per user, redirects the user to Shufti Pro's hosted page, listens for status updates via a secure webhook (which is then re-verified against the Shufti Pro API to prevent spoofing), and updates the user's `id_data.status` status on the exchange. Admins can also manually verify or revoke a user's KYC status from the operator dashboard.

## Who Needs It?

This plugin is essential for any HollaEx exchange operator that:

* Needs to meet regulatory KYC/AML requirements.
* Wants to automate and streamline customer onboarding.
* Operates in regions where compliance is mandatory for trading, deposits, or withdrawals.
* Aims to reduce fraud while building trust and security with its user base.

## How to Use It?

You can simply install the plugin from the **Plugins** section inside the Operator Control. After installation, input your **Shufti Pro Client ID** and **Secret Key**.

#### 1. Get your Shufti Pro credentials

1. Log in to the [Shufti Pro Backoffice](https://backoffice.shuftipro.com).
2. Open **Profile → API Keys** (or **Developer Tools**) and copy your **Client ID** and **Secret Key**. They are used together as HTTP Basic auth on every API call (Client ID = username, Secret Key = password), and the Secret Key also signs incoming webhooks.

#### 2. Set up the webhook in Shufti Pro

The plugin exposes a webhook endpoint that Shufti Pro will call when a verification completes. The callback URL is set automatically per inquiry, but if you need to whitelist or pre-configure it, it is:

```
https://<your exchange url>/api/plugins/shufti/webhook
```

The plugin re-verifies every webhook against the Shufti Pro API before changing a user's status, so payloads cannot be spoofed.

#### 3. Configure the plugin

Open the plugin in the Operator Control and set the following fields:

| Field                          | Required | Default                            | Description                                                                                                         |
| ------------------------------ | -------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `url` (public)                 | yes      | `https://api.shuftipro.com/`       | Shufti Pro API base URL.                                                                                            |
| `language` (public)            | no       | `EN`                               | Default language for the hosted page (ISO 639-1, e.g. `EN`, `FR`, `ES`).                                            |
| `verification_mode` (public)   | no       | `any`                              | Hosted-page verification mode. Allowed: `any`, `image_only`, `video_only`.                                          |
| `supported_documents` (public) | no       | `id_card,passport,driving_license` | Comma-separated list of accepted document types (`id_card`, `passport`, `driving_license`, `credit_or_debit_card`). |
| `client_id`                    | **yes**  | —                                  | Shufti Pro Client ID (Basic Auth username).                                                                         |
| `secret_key`                   | **yes**  | —                                  | Shufti Pro Secret Key (Basic Auth password and webhook signature key).                                              |

Once configured, all verification requests and responses will be automatically managed between HollaEx and Shufti Pro.

***

## **Benefits for HollaEx Operators**

The Shufti Pro plugin lets exchange operators offer a polished, multi-language KYC experience without building any verification UI in-house. It supports a wide catalogue of document types across 200+ countries, gives you a choice between fast image-only verification and stricter video liveness, and keeps the user's on-chain status in lock-step with Shufti's authoritative result. The result is faster customer onboarding, lower fraud, and regulatory compliance with a single integration.


---

# 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.hollaex.com/plugins/use-plugins/shufti-pro-kyc-and-aml-verification.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.
