Skip to main content
Your app can use the whop API to easily pay users and companies throughout the platform. This allows your app to implement flexible and custom revenue sharing, user rewards or payouts solutions. A transfer of balance is represented by the Transfer resource in the API.
1

Choose your origin

By default, your app can pay out of it’s owning company balance. For this step the origin of the transfer should be set to the company id that owns the app.You can find this in the URL when looking at your app dashboard (looks like biz_XXXXXXXXX)For advanced use cases, apps can also transfer balance from the accounts of other companies that the app is installed in. To do this you must request the payout:transfer_funds permission using the permission system.
2

Choose your destination

The destination id can be any valid user, company or ledger account id. These will look like user_xxxxxx, biz_xxxxxx or ldgr_xxxxxx respectively.
3

Make the transfer

Once you have your origin and destination, use the SDK or API to create a transfer. The funds will be transferred immediately.
const transfer = await client.transfers.create({
  amount: 6.9,
  currency: 'usd',
  destination_id: 'user_xxxxx',
  origin_id: 'biz_xxxxx',
  notes: 'Revenue share from MyApp',
});
When creating a transfer we recommend that you include an idempotence_key in the request body. An idempotence key will prevent 2 API calls with the same idempotence_key value from transferring money twice.For example, when implementing revenue sharing for every received payment, it is wise to derive the idempotence_key from the payment ID, meaning you will never share revenue from the same payment twice.Idempotence keys are scoped to your app.

Withdrawing whop balance

Whop pays out in over 241+ territories with every payout method imaginable! Users can get paid via ACH (bank deposit), Crypto, Venmo, CashApp and more. Recipients of your funds are able to withdraw them after completing KYC. Learn more here