Reliance Onboarding
Please treat this article with caution—it's here to demonstrate a flow that's currently being developed. Endpoint and field names might change or be removed as things evolve.
The Reliance Onboarding model offers a controlled alternative KYC intake path. Eligible partners act as the primary identity verification provider, transmitting pre-verified PII, CDD data, and verification metadata to BVNK via API.
- Individual onboarding
- Partner-managed business onboarding
During the standard flow, customers are supposed to provide their documents, which BVNK later sends for verification to a designated entity.
The new Reliance model changes this approach in the following way:
- You conduct identity verification on your side in accordance with the agreed standards and provide the required verification outcomes to BVNK. No ID documents, selfies, or proofs of address are uploaded at this stage, but all submitted information is subject to validation.
- You still have to provide customer data, such as name, date of birth, PEP status, and so on, via API.
To onboard a customer within the Reliance model, do the following:
-
Prepare and sign agreements with your customer as described in the guide.
-
Create an Individual customer by sending the
POST /api/platform/v1/customersrequest with their personal and compliance data.
{
"type": "INDIVIDUAL",
"individual": {
"description": "Tier 1 customer",
"firstName": "John",
"lastName": "Dole",
"dateOfBirth": "1990-05-12",
"nationality": "GB", // Required for EU
"birthCountryCode": "GB", // Required for EU
"emailAddress": "john.dole@example.com",
"address": {
"addressLine1": "123 Main St",
"city": "New York",
"postalCode": "10001",
"stateCode": "NY",
"countryCode": "US"
},
"taxIdentification": { // Required for US residents
"number": "123-45-6789",
"taxResidenceCountryCode": "US"
},
"cdd": {
"employmentStatus": "SALARIED",
"sourceOfFunds": "CRYPTO_TRADING",
"pepStatus": "NOT_PEP",
"intendedUseOfAccount": "INVESTMENTS",
"expectedMonthlyVolume": { // Required for EU
"amount": "500.01",
"currency": "EUR"
},
"estimatedYearlyIncome": "INCOME_0_TO_50K", // Required for US residents
"employmentIndustrySector": "AGRICULTURE_FORESTRY_FISHING_HUNTING" // Required for US residents
},
"reliance": {
"identityDocumentMetadata": {
"type": "PASSPORT",
"subType": "FRONT_SIDE",
"number": "AB1234567",
"issueDate": "2020-12-31",
"expiryDate": "2030-12-31",
"issuingCountryCode": "GB",
"kycTimestamp": "2025-11-20T15:30:45.123Z"
},
"biometricLiveness": { // Required for EU
"livenessTimestamp": "2025-11-20T15:30:45.123Z"
},
"addressVerification": {
"type": "DOC"
},
"attestation": {
"riskScore": "LOW",
"eddCompleted": true
}
}
},
"signedAgreementSessionReference": "78eedde1-2402-4a59-8bbd-ccecb6d612d1"
}
For the detailed descriptions and examples of each field, see the endpoint in the API Reference and the Create a customer via API guide.
Make sure to include the following parameters in the payload to submit metadata for the proofing documents you have already verified, including document ID, type, and timestamps.
Data requirements differ for EU and US entities. Make sure to provide the correct data for the corresponding region.
| Parameter | Description |
|---|---|
identityDocumentMetadata | Details of the ID document you verified (Type, Number, Expiry, Issuing Country). Not required for US residents when a Social Security number is provided. |
identityDocumentMetadata.expiryDate | Expiration date of the provided document. Mandatory for all document types, except ID_CARD and OTHER. |
biometricLiveness | Mandatory for EU entities. Timestamp for biometric or liveness checks performed on your side. |
addressVerification | The method you used to verify the residential address. Values: * DOC: verified by a document * NON_DOC: verified via a database or registry |
riskScore | Your internal risk rating for this customer per Personally Identifiable Information (PII). Allowed values: * LOW * MEDIUM * HIGH |
eddCompleted | Flag to indicate that you have already performed Enhanced Due Diligence (EDD). BVNK doesn't verify customer attestations within this flow, so make sure you have completed the EDD. Allowed values: * True * False |
In the successful response, you receive the status 200 OK, which means the customer is created. The customer status is set to PENDING, indicating that the required data has already been provided and that BVNK can run internal checks.
Any attempt to follow the standard onboarding flow by sending the POST /platform/v1/customers/{customerReference}/documents request will be rejected.
After you submit the customer's data, the API returns a status indicating the result of the onboarding request:
| Status | Description | Action Required |
|---|---|---|
VERIFIED | The customer application is approved. | None. Onboarding is automatically finalised. |
PENDING | The customer application is under manual review. | Monitor the status via webhooks. |
EDD_REQUIRED | BVNK requires further checks. | An internal case is raised for manual review. Monitor the status via webhooks. |
You can monitor the customer's verification status via the following endpoints:
- API: Retrieve current customer's onboarding status by sending the
GET /platform/v1/customers/{customerReference}request. - Portal: Track progress and statuses directly through the BVNK Portal.
- Webhooks: Set up webhooks to receive automated status change notifications.