Config key: onboarding
Overview
The onboarding configuration controls the user onboarding flow after registration, including required steps, verification requirements, and tier-based access controls.
Configuration Options
Section Visibility
- hideSections - Array of onboarding section names to hide (array)
- Hides specific sections from the onboarding flow
- Default:
[]
Group-Based Onboarding Control
-
hideRegister - Array of group names to skip onboarding after registration (array)
- Users in these groups skip onboarding when they register
- Default:
[]
-
hideApp - Array of group names to skip onboarding entirely (array)
- Users in these groups skip onboarding both on registration and login
- Default:
[]
Onboarding Steps
Configure individual onboarding steps with requirements.
steps - Array of step objects defining the onboarding flow (array)
Each step contains:
- name - Step identifier (string)
- required - Whether step must be completed (boolean)
- skip - Whether step can be skipped (boolean)
Common step names:
welcome- Welcome screenkyc- Know Your Customer verificationaccount_setup- Account configurationverification- Identity verificationterms- Terms acceptance
Verification Requirements
verification - Verification options and requirements (object)
-
verification.email - Require email verification (boolean)
- Default:
true
- Default:
-
verification.mobile - Require mobile verification (boolean)
- Default:
true
- Default:
-
verification.documents - Array of required document types (array)
- Example:
["passport", "license", "utility_bill"] - Common document types:
passport- Passport documentlicense- Driver’s licensenational_id- National ID cardutility_bill- Utility bill for address proofbank_statement- Bank statement
- Default:
[]
- Example:
Transaction Limits
limits - Transaction limits by verification level (object)
-
limits.unverified - Limit for unverified users (string)
- Amount in base currency
- Example:
"100.00"
-
limits.basic - Limit for basic verification (string)
- Example:
"1000.00"
- Example:
-
limits.advanced - Limit for advanced verification (string)
- Example:
"10000.00"
- Example:
Documents
- documents.hide - Hide documents section in onboarding (boolean)
- Default:
false
- Default:
Configuration Example
{
"onboarding": {
"steps": [
{
"name": "welcome",
"required": true,
"skip": false
},
{
"name": "kyc",
"required": true,
"skip": false
},
{
"name": "account_setup",
"required": false,
"skip": true
}
],
"verification": {
"email": true,
"mobile": true,
"documents": ["passport", "license"]
},
"limits": {
"unverified": "100.00",
"basic": "1000.00",
"advanced": "10000.00"
},
"hideSections": [],
"hideRegister": [],
"hideApp": [],
"documents": {
"hide": false
}
}
}
Common Use Cases
Minimal Onboarding
Skip most steps for quick access:
{
"onboarding": {
"steps": [
{
"name": "welcome",
"required": false,
"skip": true
}
],
"verification": {
"email": false,
"mobile": false,
"documents": []
}
}
}
Strict KYC Onboarding
Require full verification:
{
"onboarding": {
"steps": [
{
"name": "welcome",
"required": true,
"skip": false
},
{
"name": "kyc",
"required": true,
"skip": false
}
],
"verification": {
"email": true,
"mobile": true,
"documents": ["passport", "utility_bill"]
},
"limits": {
"unverified": "0.00",
"basic": "500.00",
"advanced": "50000.00"
}
}
}
Group-Specific Onboarding
Skip onboarding for specific user groups:
{
"onboarding": {
"hideRegister": ["admin", "staff"],
"hideApp": ["system"],
"steps": [
{
"name": "kyc",
"required": true,
"skip": false
}
]
}
}
Best Practices
- Match requirements to use case - Consumer apps may need minimal onboarding, financial services need strict KYC
- Set appropriate limits - Balance security with user experience in transaction limits
- Use skip strategically - Allow skipping non-critical steps to reduce friction
- Consider regional requirements - Adjust document requirements based on regulatory obligations
- Test the full flow - Complete onboarding as a new user to verify the experience
- Group-based customization - Use group arrays to create different onboarding paths for different user types