Skip to main content
KYC Providers collect, verify, and share user identity information with authorized Opencharge Network entities. This API enables:
  • User consent - Granular permission grants for sharing KYC data
  • Verification status - Check what KYC items a user has verified
  • Secure data sharing - Signed KYC data that can be cryptographically verified

How It Works

Grant Types

KYC providers support granular permissions that users can individually grant or deny:
GrantDescription
nameFull legal name
emailEmail address
phonePhone number
date_of_birthDate of birth
nationalityCountry of citizenship
addressPhysical address
id_cardGovernment-issued ID card
passportPassport document
driver_licenseDriver’s license
proof_of_addressUtility bill, bank statement
livenessSelfie/liveness verification
amlAML screening result

Verification Statuses

When checking KYC status via /kyc/validate, each item returns one of:
StatusMeaning
verifiedUser provided and KYC provider verified this item
pendingVerification in progress
missingUser has not provided this item
restrictedUser denied permission for this item

Endpoints

EndpointMethodDescription
/metadata.jsonGETPublic metadata for service discovery
/capabilitiesGETPartner-specific capabilities
/kyc/grant/{ocid}GETUI for users to grant KYC access
/kyc/validatePOSTCheck user’s KYC status
/kyc/dataPOSTRetrieve signed KYC data

Security

All KYC data responses are signed by the provider’s private key. Recipients can verify the signature using the provider’s public key from /metadata.json. This ensures data integrity and proves the KYC provider attested to the information. Document images are served via secure, time-limited URLs that expire shortly after issuance.