Skip to main content
This walkthrough onboards one merchant from start to finish. All calls use a Bearer JWT (see Authentication) against the sandbox base URL https://kyc.sbx.moduluslabs.io. Onboarding does not send webhooks - you poll for the result.
1

Create the merchant account

POST /v2/onboard/signup with the contact and user details. The response returns the account id.
See Create Account for every field.
2

Upload KYC documents

POST /v2/onboard/{id}/files as multipart/form-data, one part per required document.
See Upload Onboarding Files for the accepted document types.
3

Submit the application

POST /v2/onboard with the business profile. Requirements depend on businessType (see Enums). The application starts at status NEW.
See Onboard Merchant for the full request.
4

Poll for the result

GET /v2/onboard/{onboardingReferenceNumber}/status until the status is APPROVED or DECLINED.
5

Resubmit if declined

If DECLINED, correct the profile and PUT /v2/onboard/{onboardingReferenceNumber}. The status returns to PENDING for re-review. See Update Onboarding Data.
Amounts, wallet flags, and the required fields differ by business type. Check Enums before you build the submit payload.

Next Steps

Authentication

Generate the Bearer JWT

Enums

Business types, payment modes, and required fields

Onboard Merchant API

Full submit request and response

Errors

HTTP status ranges and retry rules