Work / Chitragupt / Wiki / Surfaces
kyc-status
Surfacecanonicalverified 2026-06-27
SURFACE.WEB.APP.KYC.STATUSKYC — status (pending / success / failed)
Summary
Terminal screen of the KYC flow with three states. Pending while UIDAI is processing (usually <30s). Success confirms PAN ↔ Aadhaar match and routes the user to Hire-a-CA. Failed shows the specific reason (most commonly name_mismatch) with retry + support contact.
Raw wireframe
- .context/designs/web/kyc/status.html
- .context/designs/mobile/kyc/status.html
Copy
State A · Pending
- H1: "Verifying with UIDAI…"
- Sub: "Most checks come back in under 30 seconds. If it takes longer, we'll email you the result."
- Status checks: PAN verified · NSDL ✓ · Aadhaar verifying · UIDAI (in progress)
State B · Success
- H1: "You're verified"
- Sub: "PAN and Aadhaar match. You can now hire a CA from the marketplace."
- Status checks: PAN match · Aadhaar match · Verified at {timestamp}
- Primary CTA: "Browse CAs →" (returns user to marketplace, resuming the original hire intent)
- Secondary: "Back to dashboard"
State C · Failed
- H1: "Couldn't verify"
- Sub: "{specific_reason}" — e.g. "The name on your PAN doesn't match the name on your Aadhaar. UIDAI returned: name_mismatch."
- Primary CTA: "Re-enter details" (back to kyc-verify)
- Secondary: "Contact support"
- Helper: "If the spelling really differs across cards, file a correction request with UIDAI (free) or NSDL (₹110). Both fix online in ~10 days."
Behaviour
- Pending state polls server every 2s; transitions to success or failed.
- Success: server writes
users/{uid}/kyc.status = "verified"+ timestamp. Read by hire-a-ca surfaces to skip the detour on next click. - Failed: server writes
users/{uid}/kyc.status = "failed"+kyc.last_failure_reason. Does NOT block other product features — KYC only gates marketplace hiring.
Flows that touch this surface
- hire-a-ca — exit point of KYC detour
Concepts referenced
Sources
- .context/designs/web/kyc/status.html
- .context/designs/mobile/kyc/status.html
Every project of mine is written down like this.
Read the résumé