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

# Create Payout

`POST /payouts`

Creates a payout from a stablecoin account to a saved payout method. The account's funds move from its stablecoin balance to an external bank account, wallet, or crypto address. Accounts that pay out from a fiat balance use POST /withdrawals. Requires the payouts API to be enabled for the account; contact support to enable it. The payout settles asynchronously; poll GET /payouts for the entry whose payout_request_id matches this payout's id.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `account_id` string, required — The account to pay out from (a biz_ identifier).
  - `amount` number, float, required — The amount to pay out in the specified currency.
  - `currency` string — The payout currency. Defaults to usd.
  - `payout_method_id` string, required — The saved payout method to deliver to (a potk_ identifier).

## 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_token` object, nullable, required — The saved payout method used. Requires payout:destination:read; null without it.
    - `nickname` string, nullable, required — Saved payout method nickname.
    - `payout_destination` object, nullable, required — Payout destination display details.
      - `icon_url` string, nullable, required — Payout destination icon URL.
      - `payer_name` string, nullable, required — Payout destination display name.
  - `speed` 'standard' | 'instant', required — Payout delivery speed.
  - `status` 'requested' | 'in_transit' | 'denied' | 'completed' | 'failed' | 'canceled', required — Current payout status, in the same vocabulary as GET /payouts.

## Other responses

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

## Changes

- **2026-07-26** `60bbb4a6ffbc` — 2 warning, 1 info
  - removed the request property `idempotency_key`
  - added the new `denied` enum value to the `status` response property for the response status `201`
  - added the new optional `header` request parameter `Idempotency-Key`

[Change history](https://skmtc.dev/whop/apis/whop-api/changes/payouts/post.md)

---

[API](https://skmtc.dev/whop/apis/whop-api.md) · [All operations](https://skmtc.dev/whop/apis/whop-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/whop/whop-api/revisions/60bbb4a6ffbc/schema)
