latestOpenAPI 3.1.02026-08-193894215.9 MB

23dfbe1a0d1f

Payouts

Create Payout

Sends money from an account or user balance to a saved payout method for that owner.

post/payouts

Headers

Idempotency-Keystring
Example:d9105228-4a08-46b1-8b91-42fed586d383

A unique key that makes this request safe to retry. See Idempotent requests.

Request body

OR

Example request

{
  "account_id": "biz_xxxxxxxxxxxxxx",
  "amount": 50,
  "currency": "usd",
  "payout_method_id": "potk_xxxxxxxxxxxxxx",
  "platform_covers_fees": true,
  "speed": "instant"
}

Response

payout created

amountnumber float required

The payout amount in whole currency units.

created_atstring date-time required

When the payout was created.

currencystring required

Payout currency.

destination_amountnumber float nullable required

The amount delivered in the destination currency, in whole currency units. Null until the payout settles; appears on the payout in GET /payouts once assigned.

destination_currencystring nullable required

Currency the funds are delivered in, taken from the payout method. null on stablecoin payout requests, which record no destination currency.

estimated_arrivalstring date-time nullable required

Estimated time the funds become available in the destination account. Null until the payout settles.

exchange_ratenumber float nullable required

Exchange rate from the payout currency to the destination currency. Null until the payout settles; appears on the payout in GET /payouts once assigned.

fee_amountnumber float required

The fee charged for the payout, in the payout currency.

idstring required

Payout ID.

notesstring nullable required

Free-form notes attached by the payout creator, or null when none were provided. Maximum 255 characters.

object'payout' required
payer_namestring nullable required

Name of the entity processing the payout. Null until the payout settles.

speed'standard' | 'instant' required

Payout delivery speed.

status'requested' | 'awaiting_payment' | 'in_transit' | 'completed' | 'failed' | 'canceled' | 'denied' required

Current payout status, in the same vocabulary as GET /payouts.

trace_codestring nullable required

ACH trace number the recipient's bank can use to locate this payout. Always null here — it is assigned when the payout is submitted to the bank, and appears on the payout in GET /payouts once it has been sent; payouts not sent over ACH never get one.

Example response

{
  "amount": 50,
  "created_at": "2026-01-01T12:00:00.000Z",
  "currency": "usd",
  "estimated_arrival": "2026-01-01T12:00:00.000Z",
  "fee_amount": 2.5,
  "id": "wdrl_xxxxxxxxxxxxxx",
  "notes": "Detailing supplies restock",
  "object": "payout",
  "payer_name": "MassPay",
  "payout_method": {
    "nickname": "Ops checking",
    "supported_payout_method": {
      "delivery_type": "bank_deposit",
      "icon_url": "https://whop-assets-example.s3.amazonaws.com/uploads/image/2026-01-01/ach-payout-icon",
      "payer_name": "ACH Bank Deposit"
    }
  },
  "speed": "instant",
  "status": "requested"
}