> For the complete documentation index, see [llms.txt](https://docs.hollaex.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hollaex.com/plugins/use-plugins/shufti-pro-kyc-and-aml-verification.md).

# 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.
