KYC Template State Machine

[status]

Tracks the overall state of a KYC template from START through to Accepted/Rejected. Includes VASP signature checks, is a VASP verified, is a VASP API_URL available etc.

Whenever a VASP responds to an attestation with an initial KYC template, the KYC Template machine cycles through the following states.

Both oVASP and bVASP Veriscope applications are kept in sync and will show the same status at a given time for a given KYC template. An audit trail of how the states changed is shown in the Veriscope web-app. To view the states, go to the Backoffice > KYC Templates section, choose a template and scroll down to the 2nd table.
State Auto Checked Description

START

…​

…​

BE_TA_PUBLIC_KEY

Yes

Is beneficiary_ta_address verifiable?

BE_TA_SIGNATURE

Yes

Is beneficiary_ta_signature_hash verifiable?

BE_USER_PUBLIC_KEY

Yes

Is beneficiary_user_address verifiable?

BE_USER_SIGNATURE

Yes

Is beneficiary_user_signature_hash verifiable?

BE_CRYPTO_PROOF_VERIFIED

Yes

Is beneficiary_user_crypto_proof verifiable?

BE_TA_URLS

Yes

Is the trust anchor API_URL available?

BE_TA_VERIFIED

Yes

Is the trust anchor verified?

OR_TA_PUBLIC_KEY

Yes

Is sender_ta_address verifiable?

OR_TA_SIGNATURE

Yes

Is sender_ta_signature_hash verifiable?

OR_USER_PUBLIC_KEY

Yes

Is sender_user_address verifiable?

OR_USER_SIGNATURE

Yes

Is sender_user_signature_hash verifiable?

OR_TA_URLS

Yes

Is the trust anchor API_URL available?

OR_TA_VERIFIED

Yes

Is the trust anchor verified?

BE_KYC_UPDATE

No

…​

OR_KYC_UPDATE

No

…​

BE_KYC_UPDATE

No

…​

BE_KYC_UPDATE

No

…​

OR_KYC_ACCEPTED

No

…​

BE_KYC_REJECTED

No

…​

Implementation tips

  • oVASPs should ensure that the status is BE_TA_VERIFIED before responding with signature data

  • bVASPs should ensure that the status is OR_TA_VERIFIED before responding with encrypted IVMS data

Veriscope Web Application view

kyc template states