KYC Settings
Configure identity verification + which features require it.
Want the feature overview?
See KYC for the customer flow, status pills, admin review process, and privacy/GDPR notes.
Where
Wallet → Settings → KYC.

Step-by-step Setup
1. Enable
Master toggle. When OFF, the KYC view + modal aren't accessible. Customers see all features unrestricted.
Recommended: ON if you allow withdrawals or large transfers.
2. Max documents per user
Range 1-5. How many files a customer can upload per submission.
| Use case | Suggested |
|---|---|
| Single ID | 1 |
| ID + address proof | 2 |
| Full KYC packet | 3-5 |
3. Allowed file types
MIME whitelist. Default: image/jpeg, image/png, image/webp, application/pdf.
Don't add application/octet-stream or executable types.
4. Max file size (MB)
Per-file cap. Default 5. Mobile photos can be large; allow at least 5. Don't exceed 20 to keep upload reliable.
5. Document type list
Dropdown options shown in the form. Default:
Passport
National ID
Driving Licence
Voter ID
Aadhaar
Edit this list to match your region's standard documents:
| Region | Typical list |
|---|---|
| India | Aadhaar, PAN, Passport, Driving Licence, Voter ID |
| US | Driver Licence, State ID, Passport, SSN card |
| EU | Passport, National ID, Driving Licence |
| Singapore | NRIC, Passport, Driving Licence |
6. Requirement description
Rich text shown above the form on the KYC view. Tells customers what to upload.
Example:
Upload one government-issued photo ID:
- Passport (photo page)
- Driving licence (front + back)
- National ID
Documents must be:
- Clear and in colour
- Not edited or cropped
- Issued in your name
- Not expired
7. Required features
Tick which features need approved KYC. Server-side authoritative — UI gate is belt-and-braces.
| Feature | When to gate |
|---|---|
| Withdrawal | Highly recommended. Money leaving the platform |
| Transfer | Recommended. P2P payments are fraud-attractive |
| Wallet usage (checkout) | Optional. Strict stores only |
| Refund request | Optional. Customer-side refund-to-wallet |
| QR pay | Recommended for the scan side |
8. Per-action gates (advanced)
Belt-and-braces redundant guards:
| Toggle | Effect |
|---|---|
| Gate withdrawal | Extra KYC check on withdrawal POST |
| Gate transfer | Extra KYC check on transfer AJAX |
| Gate fund_request | Extra KYC check on refund-request submission |
Leave default OFF. The Required features list is sufficient.
9. Reviewer email
Who gets the "new KYC submitted" notification. Default: site admin email.
For multi-admin stores, use a shared inbox so any admin can review.
10. Save
Click Save changes.
Verify
As a test customer (not KYC-approved):
- Visit
/my-account/my_wallet/→ KYC pill shows "VERIFY KYC" - Click pill → modal opens with the form
- Upload a JPEG → submit
- Pill flips to "KYC UNDER REVIEW"
- Reviewer email arrives
As admin:
- Wallet → KYC Reviews → row visible
- Click row → side drawer with the document inline
- Approve → customer email fires
- Customer reload → pill flips to "✓ KYC VERIFIED"
Recommended Stack
| Goal | Settings |
|---|---|
| Light store | Enable ON, Required features: Withdrawal only, Max docs 1 |
| Strict store | Enable ON, Required features: Withdrawal, Transfer, QR pay, Max docs 2 |
| Regulated region | Above + Wallet usage gated, full document list |
Troubleshooting
| Problem | Fix |
|---|---|
| Modal doesn't open | JS error in console; check theme conflicts on <dialog> polyfill |
| Upload rejects file | MIME or size cap hit |
| Customer feature still locked after admin approve | Stale cache — clear via Status Tools |
| Re-submission overwrites old docs | Expected — single row per user, replaces on submit |
