Skip to main content
Version: CP v. 2

KYC status values

A KYC order moves through these statuses. The status endpoints return them in upper case. status.updated webhooks carry the same values in lower case.

StatusMeaning
PENDINGThe QR code / link was created. The user hasn't accepted the request yet.
INITIATINGThe user accepted the request in CorePass. The on-chain initiate transaction is being submitted.
INITIATEDThe initiate transaction succeeded. The user's app is sending the data.
CONFIRMINGThe Connector received and checked the data, and the on-chain confirm transaction (which settles the payment to the user) is being submitted. The data.transferred webhook is sent at this point.
CONFIRMEDThe confirm transaction succeeded. The order is complete.
FAILEDThe order failed. See failureReason.
PENDING ──▢ INITIATING ──▢ INITIATED ──▢ CONFIRMING ──▢ CONFIRMED
β”‚ β”‚ β”‚
└───────────────┴──────────────┴──▢ FAILED

Failure reasons​

When the status is FAILED, the status endpoints return one of these in failureReason:

failureReasonMeaning
INVALID_CONFIRM_DATAThe data received from the user's app didn't match what is recorded on-chain.
FAILED_TO_MINEDAn on-chain transaction for the order failed.
PENDING_FOR_LONG_TIMEThe order stayed in a pending state for too long.
UNKNOWNAny other failure.
tip

Base your business logic on the data.transferred webhook and on the terminal statuses CONFIRMED / FAILED. Use the intermediate statuses for progress indicators and troubleshooting.