Flow Studio
Verify Verifiable Credential
The VCVerifyNode — validating a presented verifiable credential against its schema, checking issuer trust, and extracting claims for use in downstream nodes.
Node Configuration
{
"nodeType": "VCVerify",
"name": "verifyKybCredential",
"config": {
"presentation": "$output.requestKybCredential.presentation",
"expectedCredentialType": "KYBVerificationCredential",
"checkTrustRegistry": true,
"checkExpiry": true,
"checkRevocation": true,
"failOnInvalid": true
}
}
Verification Checks
| Check | What It Verifies |
|---|---|
| Signature | Cryptographic signature from issuer DID key — always performed |
| Trust Registry | Issuer DID is in the platform's trust registry for this credential type |
| Expiry | expirationDate has not passed |
| Revocation | Credential status endpoint checked for revocation (StatusList2021) |
| Schema | Credential claims match the expected credential type schema |
Node Output
{
"valid": true,
"credentialType": "KYBVerificationCredential",
"issuerDid": "did:web:kyb-registry.example.com",
"holderDid": "did:web:partner.example.com",
"issuedAt": "2026-01-15T00:00:00Z",
"expiresAt": "2027-01-15T00:00:00Z",
"claims": {
"companyName": "Acme Corp Ltd",
"registrationNumber": "12345678",
"country": "GB",
"verificationStatus": "verified"
},
"verifiedAt": "2026-05-25T11:35:00Z"
}
Using Verified Claims
// Access claims from verified credential:
$output.verifyKybCredential.claims.companyName
$output.verifyKybCredential.claims.country
// Use in condition:
"$output.verifyKybCredential.valid && $output.verifyKybCredential.claims.verificationStatus === 'verified'"
// Store in entity:
"kybVerifiedAt": "$output.verifyKybCredential.verifiedAt"
"kybIssuer": "$output.verifyKybCredential.issuerDid"