Skip to main content
To enroll a sub-merchant on your platform, you need to create a Company object for each sub-merchant. This Company object represents the sub-merchant’s account and enables them to accept payments and receive payouts through your platform.

Getting started

Before you can enroll sub-merchants, you need to set up your platform account:
  1. Sign up for a platform account: Create a Company account at whop.com/dashboard
  2. Generate a Company API key: Go to your developer settings page and generate a Company API key
  3. Use the API key for authentication: This API key is how you authenticate with the Whop API and control your sub-merchant accounts
The Company API key provides the necessary permissions to create and manage sub-merchants (companies) under your platform account.

Example

Here’s an example of how to create a Company for a sub-merchant:
import Whop from "@whop/sdk";

const client = new Whop({
  apiKey: "My API Key",
});

const company = await client.companies.create({
  email: "merchant@example.com",
  parent_company_id: "biz_xxxxxxxxxxxxx",
  title: "Acme Merchant Store",
  metadata: {
    internal_user_id: "user_12345",
    seller_tier: "gold",
  },
});

console.log(company.id);
In this example:
  • email is the sub-merchant’s email address. This is used to identify the sub-merchant and send them important notifications about their account.
  • parent_company_id is your platform’s company ID (the parent company)
  • title is the display name for the sub-merchant account. This is required.
  • metadata contains custom key-value pairs:
    • internal_user_id: Your platform’s internal identifier for this sub-merchant
    • seller_tier: A classification or tier level for the sub-merchant (e.g., “bronze”, “silver”, “gold”)
  • The response includes a company.id that you can use to reference this sub-merchant in future API calls
The email address should belong to the sub-merchant (business or individual) who will be managing the account. This person will receive account setup and payment notifications.

Custom metadata

You can attach custom metadata to companies when creating them. Metadata allows you to store additional information about each sub-merchant as key-value pairs. This is useful for:
  • Storing your internal user or merchant identifiers
  • Tracking sub-merchant tiers or classifications
  • Linking to your platform’s database records
Metadata is stored on the Company object and can be retrieved later for reporting, filtering, or integration purposes.

API Reference

Create Company API

See the full API reference for creating companies and all available parameters

Next steps

After creating a Company for a sub-merchant: