Skip to main content
GET
TypeScript

Authorizations

Authorization
string
header
required

An Account API key, an App API key, an account access token, an account-scoped user token, or a user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************. See Auth & API keys for how to get each one.

Headers

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-10-09-2"

Path Parameters

id
string
required

Payout ID, prefixed wdrl_ for a payout returned by GET /payouts or cofr_ for the payout request returned by POST /payouts.

Query Parameters

account_id
string

Optional owning account ID, prefixed biz_. The payout ID identifies its ledger. If supplied, this must match the owner and cannot be combined with user_id.

user_id
string

Optional owning user ID, prefixed user_. The payout ID identifies its ledger. If supplied, this must match the owner and cannot be combined with account_id.

Response

payout found

created_at
string<date-time>
required

When the payout was created.

Example:

"2026-07-29T18:22:00.000Z"

currency
string
required

Payout currency.

Example:

"usd"

destination_amount
string<decimal> | null
required

The amount delivered in the destination currency, as a decimal string. Assigned when the payout is processed, so it is null before then and on payouts without a recorded conversion.

Example:

"461.7"

destination_currency
string | null
required

Currency the funds are delivered in, taken from the payout method when the payout is created. 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.

Example:

"eur"

estimated_arrival
string<date-time> | null
required

Estimated time the funds become available in the destination account.

Example:

"2026-08-03T00:00:00.000Z"

exchange_rate
number<float> | null
required

Exchange rate from the payout currency to the destination currency. Assigned when the payout is processed, so it is null before then and on payouts without a recorded rate.

Example:

0.9234

failure
object | null
required

Why the payout ended without paying, or why it reversed after settlement. Present on failed, canceled, denied, and reversed payouts; null otherwise.

id
string
required

Payout ID, prefixed wdrl_ for a payout returned by GET /payouts or cofr_ for a payout request returned by POST /payouts.

Example:

"wdrl_xxxxxxxxxxxxx"

net_amount
string<decimal>
required

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.

Example:

"49.75"

notes
string | null
required

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

Maximum string length: 255
Example:

"Detailing supplies restock"

object
enum<string>
required
Available options:
payout
Example:

"payout"

payer_name
string | null
required

Name of the entity processing the payout.

Example:

"ACH Bank Deposit"

payout_method
object | null
required

Payout method display details. The nickname requires payout:destination:read on the owning ledger; otherwise it is null.

payout_request_id
string | null
required

Payout request ID, prefixed cofr_, returned by POST /payouts. For a request retrieved by its own cofr_ ID, this equals id. Returns null for payouts not created by POST /payouts.

Example:

"cofr_xxxxxxxxxxxxx"

speed
enum<string>
required

Payout delivery speed.

Available options:
standard,
instant
Example:

"standard"

status
enum<string>
required

Current payout status.

Available options:
requested,
in_review,
processing,
completed,
reversed,
canceled,
failed,
denied
Example:

"in_review"

status_detail
string
required

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.

Example:

"awaiting_provider_acceptance"

trace_code
string | null
required

ACH trace number the recipient's bank can use to locate this payout. Assigned when the payout is submitted to the bank, so it is null before then and on payouts not sent over ACH.

Example:

"021000021234567"

amount
string<decimal>

The payout amount in whole currency units, as a decimal string. Only returned to callers with payout:withdrawal:read on the owning ledger.

Example:

"500.0"

delayed
boolean

Whether an in-transit withdrawal is past its settlement window.

Example:

false

estimated_arrival_end
string<date-time> | null

End of the expected bank settlement window.

Example:

null

fee_amount
string<decimal>

The fee charged for the payout, in the payout currency, as a decimal string. Only returned to callers with payout:withdrawal:read on the owning ledger.

Example:

"0.25"

fee_paid_by
enum<string>

Who bore the payout fee: the account itself, or its parent platform. Only returned to callers with payout:withdrawal:read on the owning ledger.

Available options:
self,
platform
Example:

"self"

markup_fee
string<decimal>

Whop's markup on the provider fee, in the payout currency, as a decimal string. "0.0" when none applies. Only returned to callers with payout:withdrawal:read on the owning ledger.

Example:

"0.0"

metadata
object

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. Only returned to callers with payout:withdrawal:read on the owning ledger.

Example:
recipient_name
string | null

The recipient's first name and last initial, or null when no recipient name is available.

Example:

"Rishabh J."

sender_name
string | null

The sending business's display name, or a personal sender's first name and last initial.

Example:

"Whop Blueprints"

source
enum<string> | null

How the payout was created. automatic means a scheduled auto-payout; null on payouts created before source tracking or through internal tooling. Only returned to callers with payout:withdrawal:read on the owning ledger.

Available options:
api,
dashboard,
automatic,
null
Example:

"api"

statement_descriptor
string | null

Text that appears on the recipient's bank statement, or null if no descriptor was set. When set, 5-22 alphanumeric characters (A-Z, a-z, 0-9). Only returned to callers with payout:withdrawal:read on the owning ledger.

Required string length: 5 - 22
Example:

"MYCOMPANY"

timeline
object[]

Completed lifecycle events in chronological order. Present once the payout has a withdrawal record.