Portal Community

Node Configuration

{
  "nodeType": "VCRequest",
  "name": "requestKybCredential",
  "config": {
    "holderDid": "$output.resolvePartner.did",
    "credentialType": "KYBVerificationCredential",
    "presentationDefinitionId": "kyb-full-verification-v1",
    "senderDidCredentialId": 88,
    "timeoutMinutes": 1440,
    "onTimeout": "error"
  }
}

How It Works

The VCRequestNode uses HIL-style suspension:

  1. Sends a DIDComm present-proof/request-presentation message to the holder's DID
  2. Suspends the current execution and records a correlation ID
  3. When the holder responds with a present-proof/presentation message, the DIDComm receive endpoint matches the correlation ID and resumes the execution
  4. The presented credential is passed as node output

Node Output

{
  "holderDid": "did:web:partner.example.com",
  "credentialType": "KYBVerificationCredential",
  "presentation": {
    "type": ["VerifiablePresentation"],
    "verifiableCredential": [
      {
        "type": ["VerifiableCredential", "KYBVerificationCredential"],
        "issuer": "did:web:kyb-registry.example.com",
        "issuanceDate": "2026-01-15T00:00:00Z",
        "expirationDate": "2027-01-15T00:00:00Z",
        "credentialSubject": {
          "id": "did:web:partner.example.com",
          "companyName": "Acme Corp Ltd",
          "registrationNumber": "12345678",
          "country": "GB",
          "verificationStatus": "verified"
        }
      }
    ]
  },
  "receivedAt": "2026-05-25T11:30:00Z"
}
Timeout handling: Set timeoutMinutes to a realistic window (1440 = 24 hours is common for partner onboarding flows). If the holder doesn't respond in time, the timeout port routes to a "follow-up" path — send a reminder DIDComm message and restart the wait.