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",
"department": "Engineering"
}
}
}
Key Technical Components
- DID Resolution (
did:ethr:avalanche): All Identifiers (iss,sub) resolve via the Ethereum DID method deployed on the Avalanche C-Chain. - 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. - 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.