---
title: "Create Payout"
method: POST
path: "/payouts"
tags: ["Payouts"]
---

# Create Payout

`POST /payouts`

Sends money from an account's or user's balance to one of its saved payout methods.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `account_id` string — The account to pay out from (a biz_ identifier). Provide this or user_id.
  - `amount` number, float, required — The amount to pay out in the specified currency.
  - `currency` string — 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`.
  - `idempotency_key` string, nullable — A unique key that makes retries safe. Retrying with the same key returns the original payout instead of paying out twice. Also accepted as the `Idempotency-Key` header.
  - `payout_method_id` string, required — The saved payout method to deliver to (a potk_ identifier).
  - `platform_covers_fees` boolean — 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.
  - `speed` 'standard' | 'instant' — How fast the funds should arrive. `instant` is only accepted when the account and payout method are eligible; otherwise the payout is rejected.
  - `user_id` string — The user to pay out from (a user_ identifier). Provide this or account_id.

## Response `201`

payout created

- object
  - `amount` number, float, required — The payout amount in whole currency units.
  - `created_at` string, date-time, required — When the payout was created.
  - `currency` string, required — Payout currency.
  - `estimated_arrival` string, date-time, nullable, required — Estimated time the funds become available in the destination account. Null until the payout settles.
  - `fee_amount` number, float, required — The fee charged for the payout, in the payout currency.
  - `id` string, required — Payout ID.
  - `object` 'payout', required
  - `payer_name` string, nullable, required — Name of the entity processing the payout. Null until the payout settles.
  - `payout_method` object, nullable, required — The saved payout method used. Requires payout:destination:read; null without it.
    - `nickname` string, nullable, required — Saved payout method nickname.
    - `supported_payout_method` object, nullable, required — Supported payout method display details.
      - `icon_url` string, nullable, required — Supported payout method icon URL.
      - `payer_name` string, nullable, required — Supported payout method display name.
  - `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.

## Other responses

- `400` — Invalid Parameters
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Resource not found

---

[API](https://skmtc.net/whop/apis/whop-api.md) · [All operations](https://skmtc.net/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/whop/whop-api/versions/db0883548bc5/schema)
