Verifiable Credentials
Who is a Verifier?
The Verifier is a key entity within the AIR Credential ecosystem, responsible for verifying the authenticity of a user’s credential and determining whether it meets predefined conditions. Leveraging zero-knowledge proofs, the Verifier can validate credentials without accessing or exposing sensitive user data.
How does it work?
As a Verifier, your role is to verify the authenticity of user credentials and ensure they meet the required conditions. Follow these steps to integrate and operate the verification process.

Step 1: Set Up the Verification System
Access the Verifiable Widget SDK:
Download and integrate the Verifiable Widget SDK into your application environment.
Refer to the SDK documentation to connect it to your backend system.
Access the Verifier Dashboard:
Log in to the Verifier Dashboard to configure verification programs.
Step 2: Create a Verification Program
Select Network and Credential Schema:
In the Dashboard, configure the network.
Specify the schema of the credentials to be verified.
Define Verification Conditions:
Use the Define Query module to set up specific verification conditions, such as:
Attributes to verify (e.g., age, nationality).
Operators (e.g., Equals, Not Equals, Includes, Excludes).
Attribute values to match.
Specify the Issuer’s DID to ensure the credentials being verified originate from a trusted issuer. (if needed)
Review and Save the Program:
Provide a program name and review all configured details before saving.
Deploy the Program:
Deploy the verification program to the Chain. Once deployed, the program cannot be modified.
Step 3: Initiate Verification Requests
Request Credential Verification:
Use the Verifiable Widget SDK to send credential verification requests to users.
Fetch Encrypted Credentials:
The SDK retrieves the user's encrypted credentials from the Decentralized Storage using the user’s wallet address and program configuration.
Decrypt Threshold Keys:
Users approve the decryption process by authorizing the threshold key to the Verifier:
The SDK ensures the threshold key is securely signed and encrypted before storing it in the Decentralized Storage.
Step 4: Perform Verification
Decrypt Credential and Validate Conditions:
The SDK uses the user’s private key to decrypt the credential.
Verify the credential’s validity and expiration.
Generate Zero-Knowledge Proof (ZKP):
Based on the verification program’s queries, the SDK generates a ZKP.
On-Chain Verification:
Submit the ZKP to the on-chain smart contract.
The smart contract validates the ZKP and returns the verification result.
Step 5: Manage Verification Records
Access Verification Records:
Use the Verifier Dashboard to view all verification records, including:
Holder ID
Schema Name
Program Name and ID
Verification Time and Status
Query Details
Search and Filter Records:
Search by user identifier or credential ID to locate specific records.