Create Payout
Sends money from an account or user balance to a saved payout method for that owner.
Authorizations
An Account API key, account-scoped JWT, App API key, or user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************.
Headers
A unique key that makes this request safe to retry. See Idempotent requests.
255"d9105228-4a08-46b1-8b91-42fed586d383"
Pins the request to a dated API version.
"2026-08-21"
Body
- Option 1
- Option 2
Account to pay out from, prefixed biz_. Provide exactly one of account_id or user_id.
"biz_xxxxxxxxxxxxxx"
The amount to pay out in the specified currency.
50
The saved payout method to deliver to (a potk_ identifier).
"potk_xxxxxxxxxxxxxx"
Set to true to continue when the destination bank could not confirm the payout method account holder's name, or false to have the payout refused in that case so the account holder can correct the name or link their bank first. Omitting the field skips the warning gate — a client that cannot show the warning keeps its pre-gate behavior.
true
The currency to pay out. Balances are held per currency and the payout draws only from the balance in this currency, so match the currency the funds arrived in — for example cad for an account funded by CAD transfers. Defaults to usd.
"usd"
Key-value data to attach to the payout, echoed on every read and in webhook payloads. At most 50 keys, key names up to 40 characters, string values up to 500 characters. Never store secrets or regulated personal data here — webhook bodies are retained for delivery inspection.
Free-form notes to attach to the payout, with a maximum of 255 characters. Omit or pass null for no notes.
255"Detailing supplies restock"
Whether the parent platform covers the payout fee instead of the account being paid out. Omit to use the platform's configured fee coverage policy; pass false to opt out of it. true is only accepted for accounts that belong to a platform, and requires the platform's policy to cover this payout method's category or a caller authorized to manage the platform's child account fees.
true
How fast the funds should arrive. instant is only accepted when the account and payout method are eligible; otherwise the payout is rejected.
standard, instant "standard"
User to pay out from, prefixed user_. Provide exactly one of account_id or user_id.
"user_xxxxxxxxxxxxxx"
Response
payout created
The payout amount in whole currency units, as a decimal string.
"50.0"
When the payout was created.
"2026-01-01T12:00:00.000Z"
Payout currency.
"usd"
The amount delivered in the destination currency, as a decimal string. Null until the payout settles; appears on the payout in GET /payouts once assigned.
Currency the funds are delivered in, taken from the payout method. On a stablecoin payout it follows the settlement payout minted alongside it — the GET /payouts row carrying this payout's id as payout_request_id — and is null only when no settlement payout exists.
Estimated time the funds become available in the destination account. Null until the payout settles.
"2026-01-01T12:00:00.000Z"
Exchange rate from the payout currency to the destination currency. Null until the payout settles; appears on the payout in GET /payouts once assigned.
Why the payout ended without paying, or why it reversed after settlement. Present on failed, canceled, denied, and reversed payouts; null otherwise.
The fee charged for the payout, in the payout currency, as a decimal string.
"2.5"
Who bore the payout fee: the account itself, or its parent platform.
self, platform "self"
Payout ID, prefixed wdrl_ — the id POST returns is the id GET /payouts lists. Conversion requests created before this version keep answering under their cofr_ id.
"wdrl_xxxxxxxxxxxxx"
Whop's markup on the provider fee, in the payout currency, as a decimal string. "0.0" when none applies.
"0.0"
Key-value data attached at creation and echoed on every read. At most 50 keys, key names up to 40 characters, string values up to 500 characters.
The planned net for the destination, in the payout currency: amount minus fee_amount minus markup_fee when fee_paid_by is self; equal to amount when the platform covers the fees. A payout that ends denied, canceled, or failed delivered nothing — most keep the planned figure and failure says where the funds are, but a canceled stablecoin payout can report the settled outcome instead: amount carries what stayed in the balance, fees are zero because none were charged, and net_amount is 0 because nothing was delivered.
"49.75"
Free-form notes attached by the payout creator, or null when none were provided. Maximum 255 characters.
255"Detailing supplies restock"
payout "payout"
Name of the entity processing the payout. Null until the payout settles.
"MassPay"
The saved payout method used. Requires payout:destination:read; null without it.
For a stablecoin payout, the id of the conversion request that funds it, prefixed cofr_; null on fiat payouts.
"cofr_xxxxxxxxxxxxx"
How the payout was created. automatic means a scheduled auto-payout; null on payouts created before source tracking or through internal tooling.
api, dashboard, automatic, null "api"
Payout delivery speed.
standard, instant "instant"
Current payout status, in the same vocabulary as GET /payouts.
requested, in_review, processing, completed, reversed, canceled, failed, denied "in_review"
The finest machine phase under status — for example awaiting_provider_acceptance vs in_transit under processing, or the stablecoin conversion phase under requested. Informational vocabulary: values can be added without a version bump; status is the versioned contract.
"pending_debit"
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.

