KYC Module

KYC verification is required for fiat settlement (bank transfers, mobile wallets). Powered by Sumsub.

KYC Flow

1. User requests KYC link
   → Backend creates Sumsub applicant
   → Returns verification URL

2. User completes identity verification on Sumsub
   → Submits documents, selfie, etc.

3. Sumsub sends webhook to Stableyard
   → POST /webhooks/kyc-update

4. Backend updates KYC status on account
   → approved: fiat settlement unlocked
   → rejected: user can retry

KYC Statuses

StatusDescription
noneNo KYC started
pendingVerification in progress at Sumsub
approvedVerified — fiat settlement enabled
rejectedVerification failed — user can retry

Account Response

The KYC status is always included in account responses:
{
  "kyc": {
    "isActive": false,
    "status": "none",
    "applicantId": null,
    "activatedAt": null
  }
}
When status is approved, isActive becomes true and fiat settlement options become available.