> ## Documentation Index
> Fetch the complete documentation index at: https://developer.bitwage.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Private label

> Integrate the Bitwage Individual product into your application without the Bitwage UI.

The Private Label implementation allows you to embed Bitwage's "Individual"
product into your application. Your users interact entirely with your UI while
Bitwage handles payment processing behind the scenes.

## How it works

1. **Create a user** via the API with the `worker` product type.
2. **Complete KYC** by uploading identity documents through the API.
3. **Set up a payer** representing the employer or client.
4. **Create distributions** specifying how the user receives payments.
5. **Generate a funding account** to get banking details for the payer (EUR
   payers only via the Partner API).

The Private Label flow is handled entirely through the Partner API and
supports **EUR payers only**. USD payers and USD funding accounts are not
supported.

## KYC requirements

For the Bitwage Individual product, completing KYC requires:

* An image of the **front and back** of an accepted identity document
* A **selfie** of the user with that ID
* At least one **payer** created for the user

### Accepted document types

The required document types depend on the user's country and the payer
currency. Use the [Get required document types](/api-reference/user-documents/get-required-document-types)
endpoint to determine what's needed for a specific user.

### Upload flow

<Steps>
  <Step title="Get required document types">
    Call `GET /api/user/document/types` with the `user_id` and
    `external_company_id` to get the list of required documents.
  </Step>

  <Step title="Upload identity documents">
    Call `POST /api/user/document/upload` for each required document. For
    documents that require a backside, upload both `front` and `back` images.
  </Step>

  <Step title="Upload tax ID (if required)">
    If a tax ID is required, call `POST /api/user/document/upload` with `doc_type:
          "tax_id"` and the `tax_id` and `tax_id_type` fields.
  </Step>

  <Step title="Initiate KYC">
    Call `POST /api/user/kyc-initiate` to submit the user's information for
    verification. Monitor the result via the
    [KYC status webhook](/guides/webhooks#user-kyc-status-update).
  </Step>
</Steps>

## Creating a funding account

After KYC is approved, create a funding account so the user can receive
payments from their EUR payer.

<Steps>
  <Step title="Create the account">
    Call `POST /api/user/funding/account` with the `user_id` and
    `external_company_id`. The payer must use EUR.
  </Step>

  <Step title="Get bank details">
    Call `GET /api/user/funding/account` to retrieve the virtual bank account
    details (IBAN, etc.) to share with the payer.
  </Step>
</Steps>
