Skip to main content
POST
TypeScript

Authorizations

Authorization
string
header
required

An Account 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

Idempotency-Key
string

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

Maximum string length: 255
Example:

"d9105228-4a08-46b1-8b91-42fed586d383"

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-10-15-1"

Body

application/json
supported_payout_method_id
string
required

The supported payout method to save (a podst_ identifier from a previous listing).

Example:

"podst_xxxxxxxxxxxxxx"

account_id
string

The account to add the payout method for, prefixed biz_. Provide this or user_id.

Example:

"biz_xxxxxxxxxxxxxx"

destination_currency
string
default:usd

Currency the supported payout method delivers payouts in.

Example:

"usd"

fields
object

The supported payout method's required field values, keyed by field id — list them with GET /payouts/supported_methods?supported_payout_method_id=.... Field ids are stable fld_ identifiers you may hardcode; they never change for a given field. A Basis Theory token id may be passed in place of a raw value. For a U.S. bank routing-number field, a raw nine-digit value must also pass the ABA checksum. A validation failure returns the method's full required_fields schema alongside the error. Required whenever the account details are supplied directly.

Example:
is_default
boolean
default:false

Whether to make this the account's default payout method.

Example:

false

nickname
string

A label for the payout method, unique per destination.

Example:

"Ops checking"

The token your return_url received after a Log in with PayPal session started with POST /payouts/paypal_link_sessions. Use it for a PayPal supported payout method instead of fields. Sending fields or plaid_public_token alongside it is rejected, and nickname is ignored because Whop names the method after the PayPal email. The PayPal holder's name must match the name on the account's payout setup. An account PayPal reports as unverified, or with an unconfirmed email, is saved and flagged on the method's log rather than refused. Single use; expires 15 minutes after the login.

Example:

"pplt_mYWzcqskZuBf2-JTpooLjo5hl5HdE2P68o90dgJjWGQ"

recipient
object

Creates a recipient payout account linked to the funding ledger as a non-default account, then saves the bank method on it. No Whop user, company, or recipient ledger is created. A valid recipient email is required. Recipient methods cannot be default or recurring methods and cannot use Plaid.

user_id
string

The user to add the payout method for, prefixed user_. Provide this or account_id.

Example:

"user_xxxxxxxxxxxxxx"

Response

payout method created

account_reference
string | null
required

Masked identifier for the destination.

Example:

"••••0472"

created_at
string<date-time>
required
Example:

"2026-01-01T12:00:00.000Z"

destination_currency
string
required
Example:

"usd"

estimated_arrival
object | null
required

Null on create. List payout methods to retrieve arrival estimates.

Example:

null

fee_structure
object | null
required

Null on create. List payout methods to retrieve the configured fee terms.

Example:

null

id
string
required

Payout method ID, usable as payout_method_id on POST /payouts.

Example:

"potk_xxxxxxxxxxxxxx"

institution_name
string | null
required
Example:

"Frost Bank"

is_default
boolean
required
Example:

false

last_paid_out_at
string<date-time> | null
required

When the most recent completed payout was delivered to this method, as an ISO 8601 timestamp. null when nothing has been paid out to it yet.

Example:

null

nickname
string | null
required

User-defined label for the payout method.

Example:

"Ops checking"

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

"payout_method"

payer_name
string | null
required
Example:

"ACH Bank Deposit"

quote
object | null
required

Always null on create.

Example:

null

status
enum<string>
required

Always created on create — no payout has used the method yet.

Available options:
created,
active,
broken
Example:

"created"

status_reason
string | null
required

Always null on create.

Example:

null

supported_payout_method
object | null
required
unavailable_reason
enum<string> | null
required

Why this method is unavailable: destination_retired means the payout provider stopped offering the destination. Whop may automatically remap an eligible method that was not linked through Plaid to a compatible replacement; otherwise, the account owner must re-add it. null means no unavailability reason is known.

Available options:
destination_retired,
null
Example:

"destination_retired"

bank_verification_state
enum<string> | null

Lifecycle trust state: checking (verification still running), verified (bank confirmed ownership or a payout already completed to it), no_data (verification unavailable or bank returned no ownership data), warning (bank could not confirm the destination's owner), broken (payouts failed with a permanent account error), null (never checked).

Available options:
checking,
verified,
no_data,
warning,
broken,
null
Example:

"checking"

is_clone
boolean

Whether this method is a copy of one saved on another of the payer's accounts.

Example:

false

linked_via_plaid
boolean

Whether the payer added this method by signing in to their bank rather than typing account details.

Example:

false

needs_plaid_reconnect
boolean

Whether the bank sign-in behind this method has expired and must be redone before it counts as linked.

Example:

false

recipient
object

The recipient of a third-party payout method. Present only for recipient payout methods.