> ## Documentation Index
> Fetch the complete documentation index at: https://oblodai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Объект выплаты (Payout)

Объект выплаты описывает вывод средств на внешний адрес. Формируется при создании выплаты
([`POST /v1/payout`](/reference/payout-create)) и возвращается методами [`/info`](/reference/payout-info) и
[`/history`](/reference/payout-history).

***

## Пример объекта

```json theme={null}
{
  "uuid": "0c1f...e9",
  "order_id": "payout-1",
  "amount": "25",
  "currency": "USDT",
  "network": "tron",
  "address": "TXY...",
  "txid": "",
  "status": "process",
  "is_final": false,
  "approval_required": false,
  "source": "api",
  "created_at": "2026-07-10T12:00:00Z",
  "updated_at": "2026-07-10T12:00:00Z"
}
```

<ResponseField name="uuid" type="string">
  Идентификатор выплаты в Oblodai.
</ResponseField>

<ResponseField name="order_id" type="string">
  Ваш номер выплаты; ключ идемпотентности.
</ResponseField>

<ResponseField name="amount" type="string">
  Сумма выплаты в `currency`.
</ResponseField>

<ResponseField name="currency" type="string">
  Код валюты.
</ResponseField>

<ResponseField name="network" type="string">
  Сеть.
</ResponseField>

<ResponseField name="address" type="string">
  Адрес получателя.
</ResponseField>

<ResponseField name="txid" type="string">
  Хеш транзакции; пуст до отправки в сеть.
</ResponseField>

<ResponseField name="status" type="string">
  Укрупнённый статус. См. [таблицу](#статусы-выплаты).
</ResponseField>

<ResponseField name="is_final" type="bool">
  Терминальный статус (`paid`/`fail`/`cancel`).
</ResponseField>

<ResponseField name="approval_required" type="bool">
  Нужно ли ручное подтверждение. Для выплат по API‑ключу — `false`.
</ResponseField>

<ResponseField name="source" type="string">
  Метка происхождения: `api` или `manual`.
</ResponseField>

<ResponseField name="created_at" type="string">
  Время создания (ISO 8601).
</ResponseField>

<ResponseField name="updated_at" type="string">
  Время последнего изменения (ISO 8601).
</ResponseField>

<ResponseField name="convert" type="object">
  Только в ответе создания выплаты с `from_currency` — детали конвертации баланса:

  ```json theme={null}
  { "from_currency": "USDT", "to_currency": "TRX", "from_amount": "40.12", "rate": "0.062" }
  ```

  <Expandable title="поля convert">
    <ResponseField name="from_currency" type="string">
      Валюта, с которой конвертировали баланс.
    </ResponseField>

    <ResponseField name="to_currency" type="string">
      Валюта выплаты (равна `currency`).
    </ResponseField>

    <ResponseField name="from_amount" type="string">
      Списанная сумма в `from_currency`.
    </ResponseField>

    <ResponseField name="rate" type="string">
      Курс конвертации.
    </ResponseField>
  </Expandable>
</ResponseField>

***

## Статусы выплаты

Внутренний жизненный цикл — `pending → approved → (awaiting_cosign) → (broadcasting) → sent → confirmed` (либо `failed` /
`cancelled`). Но **в поле `status` ответов приходит укрупнённый (Heleket‑совместимый) статус**:

| Внутренний статус                  | `status` в ответе | Значение                                                                                                                            |
| ---------------------------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `pending`                          | `check`           | Создана, средства зарезервированы, ждёт одобрения.                                                                                  |
| `approved`, `broadcasting`, `sent` | `process`         | Одобрена / отправляется / отправлена, ждёт подтверждений.                                                                           |
| `confirmed`                        | `paid`            | Подтверждена в блокчейне — готово.                                                                                                  |
| `awaiting_cosign`                  | `awaiting_cosign` | Ждёт второй подписи (2‑of‑2). Приходит **как есть** — своего укрупнённого статуса нет. Только для мерчантов с обязательным co‑sign. |
| `failed`                           | `fail`            | Отклонена / отправка не удалась, резерв освобождён.                                                                                 |
| `cancelled`                        | `cancel`          | Отменена до отправки, резерв освобождён.                                                                                            |

Признак финальности — `is_final: true` (статусы `paid` / `fail` / `cancel`).

***

## Важное про одобрение

* **По API‑ключу выплата авто‑одобряется** (`approval_required: false`) и сразу уходит в отправку —
  без белых списков и периодов выдержки. Ответственность за адрес назначения на вашей стороне.
* Статус `pending` + `approval_required: true` возникает только у внутренних/кабинетных сценариев
  (например, возврат на адрес, отличный от адреса плательщика) и подтверждается через
  [`POST /v1/payout/approve`](/reference/payout-approve). Обычной интеграции по API‑ключу этот шаг не нужен.

***

## Связанные страницы

<CardGroup cols={2}>
  <Card title="POST /v1/payout" href="/reference/payout-create" icon="arrow-right" horizontal />

  <Card title="POST /v1/payout/info" href="/reference/payout-info" icon="arrow-right" horizontal />

  <Card title="Первая выплата" href="/guides/first-payout" icon="arrow-right" horizontal />
</CardGroup>
