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

# Статусы конвертаций

> Жизненный цикл свопа: от очереди до зачисления стейбла

Поле `status` объекта конвертации проходит по фиксированному набору состояний. Через публичный API
заявка создаётся в `queued` (или `pending_approval`) и далее движется к одному из терминальных
статусов. Опрашивайте [`GET /v1/public/conversions/{uuid}`](/conversions/overview), пока не получите
терминальный статус.

## Полный список статусов

| Статус             | Терминальный | Значение                                                                                   |
| ------------------ | ------------ | ------------------------------------------------------------------------------------------ |
| `quoted`           | нет          | котировка зафиксирована, заявка ещё не поставлена в очередь (внутренний/операторский этап) |
| `pending_approval` | нет          | ожидает второго подтверждения оператора (крупная сумма или принудительное одобрение)       |
| `queued`           | нет          | принята и стоит в очереди на исполнение                                                    |
| `executing`        | нет          | исполняется (on-chain approve/swap для DEX или создание ордера у провайдера)               |
| `confirming`       | нет          | отправлено в сеть или провайдеру, ждём подтверждения                                       |
| `settled`          | да           | успех — целевой стейбл получен                                                             |
| `failed`           | да           | ошибка — причина в поле `failReason`                                                       |
| `refunded`         | да           | средства возвращены в исходном активе (актуально для cross-chain instant-swap)             |
| `expired`          | да           | котировка истекла до начала исполнения                                                     |
| `cancelled`        | да           | отменено оператором (только до начала исполнения)                                          |

Терминальные статусы: `settled`, `failed`, `refunded`, `expired`, `cancelled`. После них статус не
меняется.

<Note>
  Через публичный API вы увидите заявку начиная с `queued` или `pending_approval`. Статус `quoted`
  используется платформой для котировок и операторских сценариев и обычно не встречается у заявок,
  созданных через API.
</Note>

## Типичный путь

```text theme={null}
queued → executing → confirming → settled
```

Если у оператора включён порог второго подтверждения, путь начинается с `pending_approval`:

```text theme={null}
pending_approval → queued → executing → confirming → settled
```

Cross-chain обмен (instant-swap) при отказе провайдера может завершиться возвратом исходного актива:

```text theme={null}
queued → executing → confirming → refunded
```

## Поля курсов и сумм

* `quotedRate` / `quotedAmountOut` — курс и ожидаемый выход на момент создания заявки (то, что было в
  котировке).
* `executedRate` / `executedAmountOut` — фактический курс и реально полученная сумма после исполнения.
  Заполняются при `settled`; до этого `null`. Могут немного отличаться от котировки из-за движения
  рынка в пределах `minAmountOut`.
* `minAmountOut` — минимум, который гарантированно будет получен; ниже него своп не исполнится (защита
  от проскальзывания).
* `settledAt` — момент успешного завершения; `null`, пока статус не `settled`.

## Ошибки (`status: "failed"`)

При `status: "failed"` причина приходит в поле `failReason` (человекочитаемая строка). Частые случаи:

| Признак в `failReason` | Что произошло                                                                | Что делать                                                                 |
| ---------------------- | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| `not_executable`       | у оператора не настроен рабочий драйвер или ключ провайдера, нет ликвидности | дождаться настройки провайдера, затем повторить                            |
| `slippage_exceeded`    | рынок ушёл сильнее допустимого проскальзывания                               | повторить с новой котировкой, при необходимости увеличить `maxSlippageBps` |
| `swap_reverted`        | транзакция свопа отклонена сетью                                             | повторить с актуальной котировкой                                          |

<Tip>
  Чтобы повторить неудачную конвертацию, создайте новую заявку через
  [`POST /v1/public/conversions`](/conversions/overview) — платформа возьмёт свежую котировку.
  Используйте новый `X-Idempotency-Key`, иначе вернётся прежняя завершившаяся заявка.
</Tip>

<Note>
  Часть отказов отсекается ещё на этапе создания, до постановки в очередь: неисполнимая котировка,
  недостаточный баланс hot-кошелька или сумма ниже минимума возвращаются синхронно ошибкой
  `VALIDATION_FAILED` (HTTP 422), а не статусом `failed`. Подробнее — [Ошибки](/errors).
</Note>

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

* [Конвертации — обзор](/conversions/overview) — поток quote → create → poll, поля и примеры.
* [Ошибки](/errors) — справочник кодов и формат ответа.
