---
updatedAt: 2026-06-23T06:00:58.000Z
agentTools:
  projectIndex: https://docs.wert.io/llms.txt
---

# Troubleshooting KYC Verification Issues

## 🆔 Identity Verification (KYC)

To unlock higher purchase limits or meet regulatory requirements, users may be prompted to verify their identity. Most submissions are reviewed within a few minutes.

<br />

<br />

### ✅ Checklist for Verification Success

Users go through two levels of verification depending on their purchase limits. Expand each one for requirements.

<Accordion title="Light KYC (LKYC) - basic details">
  LKYC requires three fields: full name, date of birth, and email.

  * **Full name:** Use a real name - not "Test User" or anything placeholder. A few things to keep in mind:
    * Must be at least two words with a space (e.g. John Smith)
    * English characters only - if the user's name is in Chinese, Japanese, Korean, Turkish, or any other non-Latin script, they should enter an English equivalent
    * Single-word entries will be rejected

  | Language | ❌ Original script | ✅ English equivalent |
  | :------- | :---------------- | :------------------- |
  | Chinese  | 王伟                | Wang Wei             |
  | Japanese | 田中太郎              | Tanaka Taro          |
  | Korean   | 김민준               | Kim Minjun           |
  | Turkish  | Ahmet Çelik       | Ahmet Celik          |
  | Arabic   | محمد علي          | Mohamed Ali          |
  | Russian  | Иван Петров       | Ivan Petrov          |
  | Thai     | สมชาย ใจดี        | Somchai Jaidee       |
  | Hindi    | राहुल शर्मा       | Rahul Sharma         |

  * **Date of birth:** Use the user's real date of birth. This matters because if they want to upgrade to Full KYC later, the details need to match their ID document.

  * **Email:** A common provider works best - Gmail, Yahoo, Hotmail, iCloud, and similar. Custom domain emails are more likely to be filtered or cause verification issues.
</Accordion>

<Accordion title="Full KYC (FKYC) - identity documents">
  To give users the best chance of passing first time, make sure their documents meet these requirements:

  1. **Government-Issued ID:** A valid, unexpired passport, driver's licence, or national ID card. Images must be fully legible, high-resolution, and uncropped.
  2. **Selfie Liveness Check:** A real-time camera scan to confirm identity.
     * *Note for U.S. residents:* Only a valid driver's licence and the liveness check are required. Proof of address is waived.
  3. **Proof of Address (non-U.S. only):** A full document scan (cropped screenshots are rejected) issued within the last 3 months, showing the user's full name and residential address.

  | 🟢 Accepted Address Documents                               | 🔴 Not Accepted                                 |
  | :---------------------------------------------------------- | :---------------------------------------------- |
  | Utility bills (gas, water, electricity, internet, landline) | Mobile phone bills                              |
  | Bank or credit card statements (PDF format)                 | Statements from neobanks                        |
  | Tax returns or council tax assessments                      | Medical/insurance statements or retail receipts |
</Accordion>

***

<br />

### 🕚 Troubleshooting Verification Blocks

To check a user's current verification status programmatically, you can retrieve the `lkyc_status` and `fkyc_status` fields via the <Anchor label="Users API" target="_blank" href="https://docs.wert.io/docs/data-api#get-users">Users API</Anchor>. This is useful for confirming whether a pending or rejected status is reflected on your end before troubleshooting further.

<Accordion title="Why is the application still 'Pending'?">
  If it's been more than a few minutes, the submission has likely been flagged for a manual review — usually because something needs a closer look.

  > ⚠️ **Important:** Please notify the user not to create a second account to skip the wait. Duplicate accounts trigger the kyc to fail or automatically be prompted to proceed to FKYC.
</Accordion>

<Accordion title="Why was the application 'Rejected'?">
  * **Non-document KYC rejected:** The user will receive an email asking them to step up to document KYC (submitting a copy of their ID).
  * **Document KYC declined:** The user will receive an automated email explaining what fell outside compliance requirements.
  * **How to resubmit:** The user must fully remove the rejected file before uploading a new one. Stacking the same file or retrying a failed upload multiple times triggers spam filters and extends the review delay.
</Accordion>

***

<br />

### 🕵️‍♀️ Finding the Exact Rejection Reason

The rejection reason isn't available via the orders API, but you can retrieve it programmatically from the `reject_type` field in the `verify_failed` webhook event. Webhook failure events can also be reviewed directly in your [partner dashboard](https://partner.wert.io/webhooks). Here's what each value means:

<Tabs>
  <Tab title="Light KYC (basic verification)">
    | `reject_type` value               | What it means                                                                                                       |
    | :-------------------------------- | :------------------------------------------------------------------------------------------------------------------ |
    | `LKYC_FAILED_GENERAL`             | Verification failed for an unspecified reason. Contact Wert support with the user's details so we can look into it. |
    | `LKYC_FAILED_AGE`                 | User does not meet the minimum age requirement.                                                                     |
    | `LKYC_FAILED_UNSUPPORTED_COUNTRY` | The user's country is not supported.                                                                                |
    | `LKYC_FAILED_UNSUPPORTED_STATE`   | The user's state or region is not supported.                                                                        |
    | `LKYC_FAILED_DUPLICATE`           | A verified account already exists for this user. Escalate to Wert support.                                          |
  </Tab>

  <Tab title="Full KYC (document-based)">
    | `reject_type` value               | What it means                                                                                           |
    | :-------------------------------- | :------------------------------------------------------------------------------------------------------ |
    | `FKYC_FAILED_GENERAL`             | Verification failed for an unspecified reason. Contact Wert support with the user's details to proceed. |
    | `FKYC_FAILED_AGE`                 | User does not meet the minimum age requirement.                                                         |
    | `FKYC_FAILED_UNSUPPORTED_COUNTRY` | The country on the user's ID is not supported by Wert.                                                  |
    | `FKYC_FAILED_UNSUPPORTED_STATE`   | The user's state or region is not supported (relevant for U.S. users).                                  |
    | `FKYC_FAILED_SPAM`                | Multiple failed attempts detected. Please Contact Wert support with the user's details to proceed.      |
    | `FKYC_FAILED_DUPLICATE`           | A verified account already exists for this user. Escalate to Wert support.                              |
  </Tab>
</Tabs>

***

## 📬 Still Stuck?

If this guide doesn't get them unblocked, reach out through any of these:

* 🤝 **Partner Chat:** Your dedicated partner channel.
* 💬 **Live Chat:** Bottom-right corner of [this page](https://support.wert.io/en/).
* 📧 **Email:** <support@wert.io>