Design Crypto KYC System

Medium40 min
1 / 30
understanding8 min read

Problem Statement: Crypto KYC and Identity Verification

Problem Statement: Crypto KYC and Identity Verification — crypto KYC interview depth

Problem Statement: Crypto KYC and Identity Verification

Design a Chainalysis-adjacent compliance stack with Jumio/Onfido-class identity verification for crypto exchanges and wallets: capture documents, score risk, screen sanctions, issue tier credentials, and prove every decision to regulators. This section focuses on problem during the understanding phase.

Mechanism

  • Retail and institutional users submit government ID, selfie, and proof-of-address before trading or withdrawing
  • Orchestrator routes cases to Jumio/Onfido-class vendors with fallback when SLA breaches
  • Risk engine assigns tier (basic, enhanced, EDD) that gates fiat ramps and withdrawal limits
  • Immutable audit trail links every decision to vendor payload hash and analyst action

Quantified anchors

  • Target: 2M verified users, 40k new onboarding sessions/day
  • p99 case decision < 90s for auto-approved low-risk retail

Failure drills (problem)

  • Treating vendor webhook as source of truth without internal case state machine
  • Storing passport images in application logs

Staff+ extensions

  • Tie controls to FinCEN MSB / EU MiCA audit evidence and SOC2 CC6/CC7
  • Document failover drills for vendor degradation and region loss

Invariants for crypto KYC

  • Case invariant: internal case service is CP; vendor dashboards are projections only
  • PII invariant: documents live in encrypted object store; APIs return references not raw images
  • Tier invariant: exchanges enforce limits from signed credentials, never from vendor emails

Interview checkpoints

  • Separate KYC platform from exchange matching in one sentence
  • Name actors: applicant, compliance analyst, vendor, downstream product (exchange/wallet)

Depth note A.1: Retail and institutional users submit government ID, selfie, and proof-of-address before trading or withdrawing — measured by Target: 2M verified users, 40k new onboarding sessions/day while executing problem for crypto KYC.

Depth note B.2: Orchestrator routes cases to Jumio/Onfido-class vendors with fallback when SLA breaches — measured by p99 case decision < 90s for auto-approved low-risk retail while executing problem for crypto KYC.

Depth note C.3: Risk engine assigns tier (basic, enhanced, EDD) that gates fiat ramps and withdrawal limits — measured by Target: 2M verified users, 40k new onboarding sessions/day while executing problem for crypto KYC.

Depth note D.4: Immutable audit trail links every decision to vendor payload hash and analyst action — measured by p99 case decision < 90s for auto-approved low-risk retail while executing problem for crypto KYC.

Depth note E.5: Retail and institutional users submit government ID, selfie, and proof-of-address before trading or withdrawing — measured by Target: 2M verified users, 40k new onboarding sessions/day while executing problem for crypto KYC.

Depth note F.6: Orchestrator routes cases to Jumio/Onfido-class vendors with fallback when SLA breaches — measured by p99 case decision < 90s for auto-approved low-risk retail while executing problem for crypto KYC.

javaOne Dark Pro
1public final class problemPolicyGate {
2 public boolean allow(KycCase c, RiskPolicy p) {
3 return c.riskScore() < p.autoApproveMax()
4 && !c.sanctionsHit() && c.vendorStatus() == VendorStatus.CLEAR;
5 }
6}
pythonOne Dark Pro
1@dataclass(frozen=True)
2class problemMovement:
3 tenant_id: str
4 case_id: str
5 idempotency_key: str
6 jurisdiction: str
typescriptOne Dark Pro
1export function kycIdempotencyKey(tenant: string, clientRef: string): string {
2 return `kyc:${tenant}:${clientRef}`;
3}

Why interviewers care

Crypto KYC System interviews reward crisp scope, explicit trade-offs, and failure stories—not generic microservice diagrams.

Interview checkpoint

Name one failure story for Problem Statement: Crypto KYC and Identity Verification that proves you understand real outages, not happy-path diagrams.

Key Highlights

  • Retail and institutional users submit government ID, selfie, and proof-of-address before trading or withdrawing.
  • Orchestrator routes cases to Jumio/Onfido-class vendors with fallback when SLA breaches
  • Risk engine assigns tier (basic, enhanced, EDD) that gates fiat ramps and withdrawal limits
  • Immutable audit trail links every decision to vendor payload hash and analyst action
Interview signal
Problem Statement: Crypto KYC and Identity Verification: cite case CP, vendor orchestration, and tier credential invariants.
KYC pitfall
Do not store PII in logs or conflate exchange matching with problem.

Section Rescue Kit

Buzzwords to use:

Case SnapshotCredential JWT

Safe statements:

  • "If Problem Statement: Crypto KYC and Identity Verification gets fuzzy, I'll redraw case state machine and PII vault boundary."
  • "I'll clarify jurisdiction and vendor scope before picking sync vs async UX."
Design Crypto KYC System - System Design | WinJob | WinJob