KYC & KYB Verification
Identity verification for investors, issuers & corporate entities via Sumsub
Provider
Sumsub (sandbox + production)KYCKYBAMLEvery user who holds, trades, or issues security tokens must be verified. The verification type depends on the user's role and whether they act as an individual or a corporate entity.
Individual Investor
Natural person investing personal funds
KYC— ID document + selfie + liveness
KYB not required
AML screening— PEP + sanctions
Sumsub Level:
alef-individual-kycCorporate Investor
Company or fund investing on behalf of entity
KYC— for authorized representative
KYB— trade license + UBO verification
AML screening— entity + all UBOs
Sumsub Levels:
alef-individual-kyc + alef-corporate-investor-kybIssuer (Always Corporate)
Company listing security tokens on the exchange
KYC— for CEO / primary contact + each director
KYB (stricter)— articles of association + financials + cap table
UBO chain— all 25%+ owners identified + KYC'd
AML screening— entity + all UBOs + directors
Sumsub Levels:
alef-individual-kyc + alef-issuer-kybAdmin / Staff
Platform operators and support personnel
No Sumsub verification
Internal HR background check
Accounts created by admin (not self-registration)
Out of scope for Sumsub — handled internally
ERC-3643 requires every token holder to be registered in the on-chain IdentityRegistry. KYC/KYB approval is a prerequisite for on-chain identity registration. No verification = no tokens.
Verification status gates what users can do on the platform. Unverified users have read-only access.
| Action | No KYC | KYC Only | KYC + KYB |
|---|---|---|---|
| Browse marketplace / view tokens | |||
| View portfolio dashboard | |||
| Place buy/sell orders | |||
| Participate in primary offering | |||
| Deposit / withdraw fiat | |||
| Receive dividend payouts | |||
| List a token (issuer) | |||
| Create offering round (issuer) | |||
| Corporate actions (issuer) |
Sumsub handles document verification, liveness checks, and AML screening. The platform orchestrates the flow and receives results via webhooks.
KYC Flow (Individual)
Frontend (Next.js) platform-api:8081 Sumsub
| | |
|-- POST /kyc/submit --------->| |
| (personal details) |-- POST /applicants ------>|
| | (externalUserId=UUID) |
| |<-- applicantId -----------|
| | |
|<-- { applicantId } ----------| |
| | |
|-- GET /kyc/sumsub-token ---->| |
| |-- POST /accessTokens ---->|
| |<-- sdkToken --------------|
|<-- { token } ---------------| |
| | |
|== Mount Sumsub WebSDK ======================================|
| User scans ID document | |
| User takes selfie | |
| Liveness check | |
|== Widget completes =========================================|
| | |
| | (Sumsub AI + human |
| | review: 1-5 min) |
| | |
| |<-- POST /webhooks/sumsub -|
| | { reviewResult: GREEN } |
| | |
| |-- UPDATE kyc_applications |
| | status = 'approved' |
| |-- UPDATE users |
| | kyc_status = 'approved' |
| | accreditation = tier |
| | fatca_status = check |
| | |
|-- GET /kyc/me -------------->| |
|<-- { status: "approved" } ---| |KYB Flow (Issuer / Corporate Investor)
Frontend (Next.js) platform-api:8081 Sumsub
| | |
| (KYC completed first) | |
| | |
|-- POST /kyb/submit --------->| |
| (company details, docs) |-- POST /applicants ------>|
| | type: "company" |
| | info: { companyName, |
| | regNumber, country } |
| |<-- companyApplicantId ----|
| | |
| |-- POST /applicants/ |
| | {id}/info/beneficiaries |
| | (UBO list: name, %, |
| | role, nationality) |
| |<-- beneficiary sub-apps --|
| | |
|<-- { companyApplicantId } ---| |
| | |
|== Mount Sumsub WebSDK (company mode) =======================|
| Upload: trade license | |
| Upload: articles of assoc | |
| Upload: board resolution | |
| Upload: financial stmts | |
| (issuers only: cap table) | |
|== Widget completes =========================================|
| | |
| | Each UBO receives |
| | KYC verification link |
| | (email from Sumsub) |
| | |
| |<-- webhooks per UBO ------|
| |<-- company review --------|
| | { reviewResult: GREEN } |
| | |
| |-- UPDATE businesses |
| | kyb_status = 'approved' |
| | |KYC must be completed before KYB. The authorized representative's KYC verification is a prerequisite for initiating the company verification process.