Provided UI Components

We provide ready-made, secure UI screens that you can either redirect users to or embed directly:

Start New Verification Screen

At the start, end users can either verify an existing proof or generate a new one.

In the verification process the user will go through 4 steps that will verify their Liveness and legal identity

Start verification screen

Now the user can start a new verification by following the provided steps.

First, the user can upload their contact information.

Facemacth

Liveness check

For an added layer of compliance users will be prompted to activate their camera and take a photo that image will be used for a facematch with the provided document in upcoming steps

Liveness Detection

Liveness check

Users activate their camera for facial detection to confirm they are real, preventing fraud and ensuring identity authenticity.

Document upload

Users upload their identification documents to create a secure proof of identity for KYC verification. OCR text extraction is available as an optional feature to streamline the process.

Generate proof

After the user uploads all required credentials, their request will be processed. Once the KYC is completed, the end user will receive an email containing their proof.

Reuse Proof Screen

Enter an Existing Proof ID

Check user ID

All UI components are hosted in the zkPass secure environment, ensuring that you don’t handle sensitive data directly. This significantly reduces your compliance and security responsibilities.

Next Steps for Developers

  • Begin with test API keys from User Dashboard to explore and evaluate different verification workflows.

  • Review pricing details based on the features and volume you plan to use here.

  • Monitor your verification proofs using the dashboard.

    Dashboard profile
  • Check your account balance through the dashboard.

    Dashboard proof
  • Switch to production API keys from User Dashboard when you are ready to launch.

Here is the code that test the state of the end-user:

Install zKYC
 const userID = new URL(window.location.href).searchParams.get("id");
        console.log("UserID:", userID);

        if (!userID) {
          setError("Missing user ID in URL");
          setLoading(false);
          return;
        }

        const res = await fetch(
          https://z-kyc-sdk-mocha.vercel.app/api/kyc/verifications/${userID},
          {
            method: "GET",
            headers: {
              "x-user-id": clientid,
              "x-api-key": key,
            },
          }
        );

        if (!res.ok) {
          throw new Error(HTTP error! Status: ${res.status});
        }

        const result = await res.json();
        console.log("Verification data:", result);