> For the complete documentation index, see [llms.txt](https://docs.onramp.money/onramp-whitelabel-unlisted/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.onramp.money/onramp-whitelabel-unlisted/integration-overview/integration-guide.md).

# Integration Guide

WhiteLabel Integration Overview

&#x20;                                     ![](https://743926395-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL0JIdJd3oa8ZUWGcuIlN%2Fuploads%2F5KhDpgGuVkVF3oAb0TPO%2FEditor%20_%20Mermaid%20Chart-2025-04-03-100359.png?alt=media\&token=630dada5-7a27-4f5a-8327-3fd8ccdd33d4)

### KYC Process Overview

#### 1. Create Customer Profile&#x20;

* Use the [Create User (Get KYC URL)](/onramp-whitelabel-unlisted/whitelabel-user-data-endpoints/create-user-get-kyc-url.md) endpoint to register the customer in our system.&#x20;
* This will return a **widget URL**, which the user must access to complete OTP validation.
* If the user is already created, pass the `customerId` in the [Create User (Get KYC URL)](/onramp-whitelabel-unlisted/whitelabel-user-data-endpoints/create-user-get-kyc-url.md) endpoint to fetch the widget url again.

#### 2. Check User Status&#x20;

* Use the [Get KYC Status](/onramp-whitelabel-unlisted/whitelabel-user-data-endpoints/get-kyc-status.md) endpoint to track the user’s progress from OTP verification to KYC completion.
* User can complete OTP verification by logging in through the [Create User (Get KYC URL)](/onramp-whitelabel-unlisted/whitelabel-user-data-endpoints/create-user-get-kyc-url.md) link.
* The status will change from `LOGIN_REQUIRED` to `OTP_COMPLETED` upon successful OTP verification.
* [KYC Webhook](/onramp-whitelabel-unlisted/whitelabel-webhook-integration/kyc-webhook.md) will be sent for each state transition.

#### 3. Complete KYC Process

* The user can proceed with KYC verification directly via the [Create User (Get KYC URL)](/onramp-whitelabel-unlisted/whitelabel-user-data-endpoints/create-user-get-kyc-url.md) link or client can share the details via KYC sharing endpoint as per the use case.

***

### Sharing KYC Details (If Needed or when Not Using Onramp UI for KYC)

**Note:** This option is not available for **India** due to compliance rules.

#### 1. Check KYC Requirements&#x20;

* Call the [KYC Requirements](/onramp-whitelabel-unlisted/whitelabel-kyc-data-submission-endpoints/kyc-requirements.md) to fetch necessary details.

#### 2. Submit KYC Data (If Applicable)&#x20;

* If personal details (e.g., ID number) are required, submit them via the [KYC Submit Detail](/onramp-whitelabel-unlisted/whitelabel-kyc-data-submission-endpoints/kyc-submit-detail.md) endpoint.

#### 3. Upload Supporting Documents (If Applicable)&#x20;

* If documents are needed, upload them using the [KYC File Submit](/onramp-whitelabel-unlisted/whitelabel-kyc-data-submission-endpoints/kyc-file-submit.md) endpoint.

Once all data is submitted, you will receive an **IN\_REVIEW** webhook for that user. You can also check the status using the [Get KYC Status](/onramp-whitelabel-unlisted/whitelabel-user-data-endpoints/get-kyc-status.md) endpoint.

For a full list of KYC status transitions, refer to: [Get KYC Status](/onramp-whitelabel-unlisted/whitelabel-user-data-endpoints/get-kyc-status.md)

**Note:** If you plan to use the **kycSharing API** (for building your own UI), please confirm and share the list of countries you will be using it for.

***

### Transactions Endpoints

After completing KYC, clients can proceed with transactions. Client may also check the [User Limit](/onramp-whitelabel-unlisted/whitelabel-user-data-endpoints/user-limit.md)endpoint to verify transaction limits before initiating transactions.

#### Checking User Transaction Limits&#x20;

* Clients can use the [User Limit](/onramp-whitelabel-unlisted/whitelabel-user-data-endpoints/user-limit.md) endpoint to check the transaction limits for a smoother flow.
* This endpoint returns the current **onramp, offramp, and swap** monthly limits used by the user.
* It also indicates whether additional KYC verification (`isNextKycVerificationRequired`) is required.

#### Using WhiteLabel Onramp Endpoint&#x20;

For an onramp use case, follow these steps:

1. Fetch the **quote** using [Quote](/onramp-whitelabel-unlisted/whitelabel-onramp-endpoints/quote.md) endpoint.
2. Create a transaction using the [Create transaction](/onramp-whitelabel-unlisted/whitelabel-onramp-endpoints/create-transaction.md) endpoint.
3. Poll the [Bank Details](/onramp-whitelabel-unlisted/whitelabel-bank-endpoints/bank-details.md) endpoint to fetch fiat payment instructions to display to the user.
4. Once the user completes the payment, wait for a [ONRAMP Webhook](/onramp-whitelabel-unlisted/whitelabel-webhook-integration/onramp-webhook.md) **update** or poll the status using the  [Get transaction](/onramp-whitelabel-unlisted/whitelabel-onramp-endpoints/get-transaction.md) API.

#### Using WhiteLabel Offramp Endpoint

For an offramp use case, follow these steps:

1. Fetch the **quote** using [Quote](/onramp-whitelabel-unlisted/whitelabel-offramp-endpoints/quote.md) endpoint.
2. Create a **fiatAccountId** by passing bank account details using the [Add Fiat Account](/onramp-whitelabel-unlisted/whitelabel-bank-endpoints/add-fiat-account.md) API.\
   &#x20;Alternatively, use the widget by fetching the [Bank Widget Url](/onramp-whitelabel-unlisted/whitelabel-bank-endpoints/bank-widget-url.md)
   * Use the [List FiatAccounts](/onramp-whitelabel-unlisted/whitelabel-bank-endpoints/list-fiataccounts.md) API to list available fiat accounts.
3. Create a transaction using the **offramp** [Create transaction](/onramp-whitelabel-unlisted/whitelabel-offramp-endpoints/create-transaction.md) endpoint, passing the **toAmount**, **rate** from the quote, and **fiatAccountId** from the **addFiatAccount** API.&#x20;
4. Once the user completes the payment, wait for a [OFFRAMP Webhook](/onramp-whitelabel-unlisted/whitelabel-webhook-integration/offramp-webhook.md) **update** or poll the status using the  [Get transaction](/onramp-whitelabel-unlisted/whitelabel-offramp-endpoints/get-transaction.md) endpoint.

***

### WhiteLabel Support Endpoint

If a user encounters any issues at any point, client can raise a support ticket using the WhiteLabel support endpoints:

1. **Create a Support Ticket** - Use the **create ticket** endpoint to submit an issue. [Create Support Ticket](/onramp-whitelabel-unlisted/whitelabel-support-endpoints-in-progress/create-support-ticket.md)
2. **Fetch Ticket Status** - Retrieve the status of a specific support ticket using the [Get Support Ticket](/onramp-whitelabel-unlisted/whitelabel-support-endpoints-in-progress/get-support-ticket.md) endpoint.
3. **Fetch All Tickets** - To get a list of all support tickets, use the [Get all Support Tickets](/onramp-whitelabel-unlisted/whitelabel-support-endpoints-in-progress/get-all-support-tickets.md) endpoint.

***

### Setting Up Webhook URL&#x20;

Clients can set up a webhook (only POST URLs are allowed) to receive real-time notifications via the API, enabling instant updates on user/order status transitions.

For details on how to set or update your webhook URL, refer to: [Webhook Setup](/onramp-whitelabel-unlisted/whitelabel-webhook-integration/webhook-setup.md) and [Set/Update Webhook URL](/onramp-whitelabel-unlisted/whitelabel-webhook-integration/set-update-webhook-url.md)

***

### Notes

* **Webhooks are recommended** over API polling for real-time updates. However, you can use the **get status API** every **5-10 minutes** for better flow.
* **If you plan to use the kyc sharing API (for building your own KYC UI), please confirm and share the list of countries you will be using it for with onramp team.**
* **OTP validation is mandatory in our UI.**
* **If using onramp widget url for OTP validation only the, pass the closeAfterLogin as true in requestBody of** [Create User (Get KYC URL)](/onramp-whitelabel-unlisted/whitelabel-user-data-endpoints/create-user-get-kyc-url.md)
