> ## 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.

# POST /v1/payout/calculate

Предрасчёт выплаты — комиссия и итоговые суммы **без** создания выплаты.

**URL:** `https://api.oblodai.com/v1/payout/calculate` · **Аутентификация:** обязательна.

<Note>
  Примеры используют хелпер `call()` и переменные `$SECRET`/`$PUBLIC_ID` — их определение см. в
  [Как подписать запрос](/guides/signing-requests). Проще не писать подпись руками, а взять
  [SDK](/sdk/overview).
</Note>

Полезно, чтобы показать пользователю итоговую сумму до подтверждения или проверить, покрывает ли
баланс выплату с учётом комиссии.

***

## Параметры запроса

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

<ParamField body="currency" type="string" required>
  Код валюты.
</ParamField>

<ParamField body="network" type="string">
  Сеть (обязательна для монет с несколькими сетями).
</ParamField>

<ParamField body="is_subtract" type="bool">
  `true`: комиссия **сверх** суммы (списывается с баланса). `false`: комиссия **из** суммы (получатель получает меньше).
</ParamField>

***

## Пример запроса

<CodeGroup>
  ```bash cURL theme={null}
  BODY='{"amount":"25","currency":"USDT","network":"tron","is_subtract":false}'
  TS=$(date +%s)
  SIG=$(printf '%s\n%s\n%s\n%s' "$TS" 'POST' '/v1/payout/calculate' "$BODY" \
    | openssl dgst -sha256 -hmac "$SECRET" -hex | sed 's/^.* //')
  curl -s https://api.oblodai.com/v1/payout/calculate \
    -X POST -H 'Content-Type: application/json' \
    -H "X-Public-Id: $PUBLIC_ID" -H "X-Timestamp: $TS" -H "X-Signature: $SIG" \
    -d "$BODY"
  ```

  ```python Python theme={null}
  call("/v1/payout/calculate", {"amount": "25", "currency": "USDT",
                                "network": "tron", "is_subtract": False})
  ```

  ```js Node.js theme={null}
  await call("/v1/payout/calculate", { amount: "25", currency: "USDT",
                                       network: "tron", is_subtract: false });
  ```
</CodeGroup>

***

## Пример ответа

```json theme={null}
{
  "state": 0,
  "result": {
    "amount": "25",
    "currency": "USDT",
    "network": "tron",
    "commission": "1.1",
    "merchant_amount": "25",
    "to_amount": "23.9"
  }
}
```

<ResponseField name="commission" type="string">
  **Сетевая** комиссия (газ сети). Это **не** комиссия платформы Oblodai — платформенная удерживается при приёме платежа, а не здесь.
</ResponseField>

<ResponseField name="merchant_amount" type="string">
  Сколько уйдёт с баланса.
</ResponseField>

<ResponseField name="to_amount" type="string">
  Сколько получит адрес назначения.
</ResponseField>

***

## Коды ошибок

| Код                           | Значение                       |
| ----------------------------- | ------------------------------ |
| `400 payout.unknown_currency` | Неизвестная валюта.            |
| `400 payout.bad_amount`       | Некорректная сумма.            |
| `400 payout.amount_below_fee` | Сумма меньше сетевой комиссии. |

***

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

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

  <Card title="Кто платит сетевую комиссию" href="/reference/payout-fee-config" icon="arrow-right" horizontal />
</CardGroup>
