> ## Documentation Index
> Fetch the complete documentation index at: https://wallet-docs.iexexchanger.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Calculate payout breakdown (1.4.0, без создания)

> Раскладка выплаты ДО создания: комиссия обменника, сетевая комиссия по приоритету, сколько получит адресат, сколько спишется, USD-оценки, проверки (минимум, лимиты сайта, достаточность hot-баланса). Ничего не создаёт и не резервирует.



## OpenAPI

````yaml /openapi-public.json post /v1/public/payouts/calculate
openapi: 3.0.0
info:
  title: Wallet Platform — Public API
  description: >-
    API для интеграции CMS обменника: создание депозитов и выплат, отслеживание
    статусов, справочники активов и сетей.


    ## Аутентификация

    Каждый запрос подписывается HMAC-SHA256. Обязательные заголовки:

    - `X-Api-Id` — публичный идентификатор ключа (выдаётся в админке).

    - `X-Api-Key` — публичный ключ.

    - `X-Timestamp` — Unix-секунды; сервер принимает ±300 сек от своего времени.

    - `X-Signature` — `HMAC_SHA256_Hex( X-Timestamp + "." + raw_body, api_secret
    )`. Для GET тело пустое.

    - `X-Idempotency-Key` — опционально (UUID). Гарантирует, что повторный POST
    не создаст дубликат.


    Дополнительно: IP-вызывающего должен быть в whitelist сайта (настраивается в
    админке). Секрет (`api_secret`) показывается один раз при создании ключа и
    хранится только у вас.


    ## Формат ответа

    Все ответы — единый envelope: `{ "ok": true, "data": ... }` при успехе либо
    `{ "ok": false, "error": { "code": "...", "message": "..." } }` при ошибке.


    ## Идемпотентность

    Создание депозита/выплаты идемпотентно по вашему `order_id` (уникален в
    рамках сайта и актива) и/или по `X-Idempotency-Key`. Повторный вызов с тем
    же ключом вернёт исходный объект, а не создаст новый.


    ## Webhooks (исходящие)

    При смене статуса платформа шлёт POST на ваш `callback_url`. Заголовки:
    `X-Event-Type`, `X-Event-Id` (uuid, идемпотентность на вашей стороне),
    `X-Timestamp`, `X-Signature` = `HMAC_SHA256_Hex(raw_body, callback_secret)`.
    Проверяйте подпись перед обработкой.

    События: `deposit.tx_detected`, `deposit.finalized`, `deposit.failed`,
    `deposit.refunded`, `payout.broadcasted`, `payout.confirmed`,
    `payout.failed`.

    Доставка считается успешной при HTTP 2xx за 10 секунд. Ретраи: 30s, 2m, 10m,
    1h, 6h, 24h (до 8 попыток).
  version: '1'
  contact: {}
servers: []
security:
  - X-Api-Id: []
    X-Api-Key: []
    hmac: []
    X-Timestamp: []
tags: []
paths:
  /v1/public/payouts/calculate:
    post:
      tags:
        - public · payouts
      summary: Calculate payout breakdown (1.4.0, без создания)
      description: >-
        Раскладка выплаты ДО создания: комиссия обменника, сетевая комиссия по
        приоритету, сколько получит адресат, сколько спишется, USD-оценки,
        проверки (минимум, лимиты сайта, достаточность hot-баланса). Ничего не
        создаёт и не резервирует.
      operationId: PayoutPublicController_calculate
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayoutCalculateDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicPayoutCalculationDto'
      security:
        - hmac: []
components:
  schemas:
    PayoutCalculateDto:
      type: object
      properties:
        assetCode:
          type: string
          example: USDT_TRC20
        destinationAddress:
          type: string
          example: TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t
          description: Адрес получателя (уточняет оценку сетевой комиссии).
        amount:
          type: string
          example: '50.00'
        priority:
          type: string
          enum:
            - economy
            - recommended
            - high
          default: recommended
        isSubtract:
          type: boolean
          default: false
          description: >-
            true — комиссии вычитаются из `amount` (получатель получает меньше,
            списывается ровно amount); false — получатель получает ровно amount,
            комиссии сверху.
      required:
        - assetCode
        - amount
    PublicPayoutCalculationDto:
      type: object
      properties:
        assetCode:
          type: string
          example: USDT_TRC20
        network:
          type: string
          example: TRON
        priority:
          type: string
          enum:
            - economy
            - recommended
            - high
        isSubtract:
          type: boolean
        amount:
          type: string
          example: '100.000000'
        serviceFee:
          type: object
          example:
            percent: '0.5'
            amount: '0.500000'
            amountUsd: '0.50'
        networkFee:
          type: object
          example:
            amount: '13.5'
            assetCode: TRX
            amountUsd: '1.62'
            estimatedConfirmationSeconds: 60
            error: null
        recipientReceives:
          type: string
          example: '100.000000'
        totalDebit:
          type: string
          example: '100.500000'
        amountUsd:
          type: string
          nullable: true
        rateUsd:
          type: string
          nullable: true
        minPayout:
          type: string
          example: '1.000000'
        checks:
          type: object
          example:
            payoutEnabled: true
            aboveMinimum: true
            withinLimits:
              ok: true
              code: null
              message: null
            sufficientBalance: true
            availableBalance: '1530.500000'
      required:
        - assetCode
        - network
        - priority
        - isSubtract
        - amount
        - serviceFee
        - networkFee
        - recipientReceives
        - totalDebit
        - amountUsd
        - rateUsd
        - minPayout
        - checks
  securitySchemes:
    X-Api-Id:
      type: apiKey
      in: header
      name: X-Api-Id
      description: Публичный идентификатор API-ключа
    X-Api-Key:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Публичный API-ключ
    hmac:
      type: apiKey
      in: header
      name: X-Signature
      description: HMAC-SHA256-Hex(timestamp + "." + raw_body, api_secret)
    X-Timestamp:
      type: apiKey
      in: header
      name: X-Timestamp
      description: Unix-секунды, ±300с

````