Verilock implements the W3C Verifiable Credentials Data Model v2.0 standard with signed JWT format. Credentials are anchored to your organization’s Decentralized Identifier (DID).
Why Verifiable Credentials?
How It Works
1
Verification completes
A user completes identity verification through the standard Verilock flow and receives an approved decision.
2
Credential issuance
You issue a verifiable credential containing selected claims from the verification result. The credential is signed as a JWT with your organization’s DID.
3
User stores credential
The user receives the credential as a signed JWT. They can store it in a digital wallet (Verilock wallet, or any W3C-compatible wallet).
4
Selective disclosure
When presenting the credential, the user selectively discloses only the claims required — e.g., “over 18” without revealing their full date of birth.
5
Third-party verification
Any organization with a Verilock API key can verify the credential’s authenticity, check revocation status, and read only the disclosed claims.
Selective Disclosure
Credentials support selective disclosure, allowing holders to reveal only specific claims:API Endpoints
Issue a Credential
Issue a W3C Verifiable Credential from an approved verification session.string
required
ID of an approved verification session.
string
required
Type of credential:
IdentityCredential, AgeCredential, or AddressCredential.string[]
required
Claims to include. Available:
full_name, first_name, last_name, date_of_birth, nationality, document_type, document_number, expiry_date, address, gender, age_over_18, age_over_21, aml_clear, identity_verified.string
ISO 8601 expiration date. Default: 1 year from issuance.
Verify a Credential
Verify a presented credential JWT. Any organization with a valid API key can call this endpoint.string
required
The credential JWT to verify.
Get Credential in W3C Format
Retrieve the full W3C JSON-LD representation of a credential.Revoke a Credential
string
required
Revocation reason:
user_request, data_correction, fraud_detected, compliance.revoked: true.

