Skip to main content

Verifiable Credential Schemas

(Note: The legacy Hyperledger Indy schema definitions and heavy JSON-LD structures have been deprecated in favor of a pure OID4VCI (OpenID for Verifiable Credential Issuance) specification).

OID4VCI Schema Configuration (Issuer Metadata)

Sentra ID operates on a modern OID4VCI architecture. Instead of relying solely on rigid, on-chain JSON-LD contexts, schemas are defined within the Issuer's OIDC metadata (credentials_supported). This allows for dynamic rendering and flexible claim structures.

Below is the configuration structure of a Sentra VC Schema defined within the Issuer application:

{
"id": "schema_emp_001",
"name": "Employee Credential",
"description": "Standard enterprise employee identity credential.",
"type": "id",
"vc_type": "EmployeeCredential",
"version": "1.0.0",
"tenantId": "sentra-corp",
"active": true,
"revocable": true,
"scope": "employee_auth",
"display": {
"logo": "https://cdn.bitgrit.net/sentra/logo.svg",
"color": "#6B3FA0"
},
"claims": [
{ "name": "name", "type": "string", "required": true },
{ "name": "email", "type": "string", "required": true },
{ "name": "department", "type": "string", "required": true },
{ "name": "wallet-id", "type": "string", "required": false }
]
}

JWT-based Verifiable Credential (jwt_vc_json)

During the OID4VCI issuance flow, Sentra Wallet requests and receives the credential as a signed JWT (jwt_vc_json). The payload within the JWT closely follows the core W3C structure but leverages pure OIDC standard claims for maximum mobile wallet compatibility.

{
"iss": "did:ethr:avalanche:0x123abc456def7890",
"sub": "did:ethr:avalanche:0x098fed765cba3210",
"jti": "urn:uuid:3978344f-8596-4c3a-a978-8fcaba3903c5",
"nbf": 1704137004,
"exp": 1735759404,
"vc": {
"type": ["VerifiableCredential", "EmployeeCredential"],
"credentialSubject": {
"name": "John Doe",
"email": "[email protected]",
"department": "Engineering"
}
}
}

Key Technical Components

  1. DID Resolution (did:ethr:avalanche): All Identifiers (iss, sub) resolve via the Ethereum DID method deployed on the Avalanche C-Chain.
  2. Revocation Checks: A verifier application reads the jti (JWT ID) of the credential and queries the Avalanche Revocation Registry smart contract to ensure the credential has not been flagged as revoked by the issuer.
  3. Proof Verification: Sentra Wallet and Verifiers validate the cryptographic signature attached to the JWT header utilizing standard OIDC cryptographic algorithms (e.g., ES256K, EdDSA), fetching the public key via the Issuer's DID document.