Skip to main content

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.

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 endpoint to determine what’s needed for a specific user.

Upload flow

1

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.
2

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.
3

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.
4

Initiate KYC

Call POST /api/user/kyc-initiate to submit the user’s information for verification. Monitor the result via the KYC status webhook.

Creating a funding account

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

Create the account

Call POST /api/user/funding/account with the user_id and external_company_id. The payer must use EUR.
2

Get bank details

Call GET /api/user/funding/account to retrieve the virtual bank account details (IBAN, etc.) to share with the payer.