Skip to main content

MetaMap - Automatic KYC

The mati plugin lets your users verify their identity through a MetaMap (formerly Mati) flow from the Verification page on your exchange. It is an opt-in alternative to HollaEx's built-in Automatic KYC: it replaces that flow, and you use and pay for your own MetaMap account.

What you need​

  • The Enterprise plan on HollaEx Cloud.
  • Your own MetaMap account, with a client ID, a client secret, a verification flow and a webhook secret.
  • No other KYC plugin. Only one KYC plugin can be installed at a time, so remove automatic-kyc (or any other KYC plugin) first.

Set it up​

  1. Get your MetaMap details. In the MetaMap dashboard, copy your client ID and client secret, the ID of the verification flow you want users to go through, and your webhook secret.

  2. Install the plugin. Go to Operator Controls → Exchange → Plugins, find mati under Available to install and click Install.

  3. Configure it. Open the plugin with Configure, fill in the settings and save.

    SettingWhat it does
    client_idYour MetaMap client ID. From MetaMap. Required.
    client_secretYour MetaMap client secret. Secret, from MetaMap. Required.
    flow_idThe MetaMap flow users go through. Required.
    webhook_secretThe secret MetaMap signs its webhooks with. Secret, from MetaMap. Required.
    manual_reviewOn (default): users MetaMap verifies stay pending until an admin approves them. Off: they are verified straight away.
  4. Add the webhook in MetaMap. In the MetaMap dashboard, set the webhook URL to your exchange's API address followed by /plugins/mati/notification. Use this address, with your exchange's API domain in place of <your-api-domain>:

    https://<your-api-domain>/plugins/mati/notification

    Your API domain depends on how your exchange is set up, for example api.yourexchange.com or yourexchange.com/api. See Base URLs to check yours, or open a ticket.

  5. Test it. Sign in to your exchange as a test user, open Verification and complete a MetaMap check.

What your users see​

On the Verification page, users click the MetaMap button and complete the MetaMap verification flow. The page then shows that the check is being processed, approved or failed. Users get an email when their documents are received, and when they are approved or rejected.

How it works​

  • MetaMap tells your exchange about each step through the webhook. Webhooks without a valid signature are refused.
  • When MetaMap finishes a verification:
    • Verified: the user stays pending for your review if manual_review is on, and admins get an email. With manual_review off, the user is verified.
    • Rejected: the user is rejected.
    • Needs review: the user stays pending.
  • If you change a verification's result in the MetaMap dashboard later, the exchange follows it. Approving a user in MetaMap verifies them on your exchange, even with manual_review on. When MetaMap marks a verification as needing review, admins get an email to review it in the MetaMap dashboard.
  • A verification that expires after the user started it rejects the user, so they can try again.
  • Once a user is verified, they stay verified whatever MetaMap sends later.
  • Verified users are not moved to a higher tier by this plugin. Use tiers, or a tier upgrade plugin, to decide what verified users can do.
  • Admins can view the documents and verify or revoke a user from Operator Controls, for example in Operations → Review Queue → ID Verification.

Troubleshooting​

  • Users finish MetaMap but their status never changes. Check the webhook URL in MetaMap and that webhook_secret matches MetaMap's webhook secret exactly. Webhooks with a wrong or missing signature are refused.
  • A user is stuck as pending. With manual_review on, every user MetaMap verifies waits for an admin. Approve or reject them in the Review Queue.

Need help? Open a ticket from your HollaEx dashboard.