# Verify KYC

Source: https://docs.settlemint.com/docs/operators/compliance/verify-kyc
Issue on-chain KYC verifications for users, with the approved-KYC-profile prerequisite and a fix for the "No approved KYC profile" block.



KYC verifications attest that an enrolled user has passed the organisation's identity review and can satisfy the asset's compliance checks. Issue the verification only after the trusted issuer setup, identity registry enrolment, and documentation review are complete.

## Prerequisites [#prerequisites]

* **Verification Issuer** role
* Must be configured as trusted issuer for KYC topics (see [Configure Trusted Issuers](/docs/operators/compliance/configure-trusted-issuers))
* User must be enrolled in identity registry
* The user must have an **approved KYC profile** before you can issue a KYC verification. A KYC verification carries the hash of the user's approved profile, so the console cannot issue one until that profile exists. See [Before you can issue a KYC verification](#before-you-can-issue-a-kyc-verification).
* Completed KYC documentation review

## About KYC verifications [#about-kyc-verifications]

KYC verifications are on-chain attestations that confirm:

* User identity has been verified
* Documentation meets compliance standards
* User is eligible for asset transactions
* Verification is issued by a trusted entity

### When KYC is required [#when-kyc-is-required]

KYC verification is **not automatically required** for all users. It becomes necessary when:

**Global requirement:** The platform's Identity verification compliance module is configured to require KYC verification for all asset transactions. This is recommended as a default security measure.

**Per-asset requirement:** Individual assets can enable the Identity verification compliance module with KYC as a required verification topic, even if not required globally.

**No requirement:** Some use cases may not require KYC verification at all, depending on the asset type and regulatory context.

For complete information about verification topics and framework, see [Compliance Overview](/docs/operators/compliance/overview).

## Before you can issue a KYC verification [#before-you-can-issue-a-kyc-verification]

A KYC verification attests to the user's **approved KYC profile**, so the console can only issue one after that profile exists. If you open the issue-verification form for a KYC topic and the user has no approved profile, the form shows a **No approved KYC profile** message and the **Continue** button stays disabled. The verification hash cannot be calculated without an approved profile, so issuance is blocked until one is in place.

This is the most common reason a KYC verification cannot be issued for a registered user. Clear it by completing the KYC profile path first:

1. **The user submits their KYC profile.** The user opens their account profile, completes their identity details and any required documents, and selects **Submit for review**. See [Provide KYC data](/docs/operators/user-management/provide-kyc-data).
2. **An Identity Manager approves the submission.** A reviewer opens the user's KYC version and selects **Approve**, which makes that version the approved profile. See [Manage KYC data](/docs/operators/compliance/manage-kyc-data).
3. **Issue the KYC verification.** With an approved profile in place, return to the issue-verification flow below. The **No approved KYC profile** message clears and you can complete issuance.

A user can be enrolled in the identity registry and still have no approved KYC profile. Registry enrolment links the wallet to an on-chain identity; the approved profile is a separate step the user and a reviewer complete together.

## Issuing KYC verifications [#issuing-kyc-verifications]

<Steps>
  <Step>
    ### Access user verifications [#access-user-verifications]

    Navigate to **Participants** > **Users*&#x2A; and select a user you want to verify. On the user detail page, find the &#x2A;*"Identity and verifications"** tile and click **Manage verifications**.

    ![Manage verifications view](/docs/compliance/manage-verifications.webp)
  </Step>

  <Step>
    ### Issue verification [#issue-verification]

    Click **Issue verification** and select the verification topic you want to issue (KYC, Accredited Investor, AML, or other topics based on your trusted issuer status).
  </Step>

  <Step>
    ### Complete verification process [#complete-verification-process]

    Click **Continue** to proceed, review the verification summary, then click **Issue verification**. Enter your PIN when prompted and wait for transaction confirmation.
  </Step>

  <Step>
    ### Verify completion [#verify-completion]

    After transaction confirmation, the verification appears in the user's verification list with a **green shield** indicating you were a trusted issuer for this topic. The user can now receive assets requiring this verification.

    ![Verified user with KYC verification](/docs/compliance/user-verified.webp)
  </Step>
</Steps>

## Managing verifications [#managing-verifications]

### View existing verifications [#view-existing-verifications]

To see all verifications for a user:

1. Access user profile in Compliance > Users
2. View verification summary on profile
3. Click **Manage verifications** for details

## Best practices [#best-practices]

### Verification standards [#verification-standards]

* Follow your written KYC policy consistently
* Maintain evidence of verification decisions
* Document verification rationale for audit
* Use consistent verification data formats

### Data privacy [#data-privacy]

* Store minimal personal data on-chain
* Use hashes for sensitive information references
* Maintain secure off-chain document storage
* Follow applicable data protection regulations

### Verification quality [#verification-quality]

* Verify document authenticity
* Cross-check information sources
* Monitor for suspicious patterns
* Maintain verification standards

## Integration with compliance [#integration-with-compliance]

* Identity verification module validates verifications
* Transfer restrictions enforce verification requirements
* Compliance reporting tracks verification status

## Troubleshooting [#troubleshooting]

| Issue                                                | Solution                                                                                                                                                                                                                                         |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| "No approved KYC profile" message, Continue disabled | The user has no approved KYC profile yet, so the verification hash cannot be calculated. Complete the approved-profile path in [Before you can issue a KYC verification](#before-you-can-issue-a-kyc-verification), then issue the verification. |
| Cannot see Add verification button                   | • Verify you have Verification Issuer role<br />• Check you're configured as trusted issuer for KYC topics<br />• Ensure user is enrolled in registry                                                                                            |
| Verification not showing as trusted                  | • Confirm you're a trusted issuer for the topic<br />• Verify transaction completed successfully<br />• Check verification data format                                                                                                           |
| User still cannot receive assets                     | • Ensure correct verification topic was issued<br />• Check verification hasn't expired<br />• Verify token's specific compliance requirements                                                                                                   |
| Transaction fails when issuing                       | • Check wallet has sufficient gas<br />• Verify your trusted issuer status<br />• Ensure valid verification data format                                                                                                                          |

## Related guides [#related-guides]

* [Provide KYC Data](/docs/operators/user-management/provide-kyc-data) - How users complete their KYC profile
* [Manage KYC Data](/docs/operators/compliance/manage-kyc-data) - Review and approve KYC submissions before verification
* [Register User](/docs/operators/user-management/register-user) - Register users before verification
* [Configure Trusted Issuers](/docs/operators/compliance/configure-trusted-issuers) - Set up verification permissions
* [Compliance Overview](/docs/operators/compliance/overview) - Complete compliance reference
* [Create Asset](/docs/operators/asset-creation/create-asset) - Set Asset compliance requirements
