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

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

СтатусТерминальныйЗначение
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. После них статус не меняется.
Через публичный API вы увидите заявку начиная с queued или pending_approval. Статус quoted используется платформой для котировок и операторских сценариев и обычно не встречается у заявок, созданных через API.

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

queued → executing → confirming → settled
Если у оператора включён порог второго подтверждения, путь начинается с pending_approval:
pending_approval → queued → executing → confirming → settled
Cross-chain обмен (instant-swap) при отказе провайдера может завершиться возвратом исходного актива:
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транзакция свопа отклонена сетьюповторить с актуальной котировкой
Чтобы повторить неудачную конвертацию, создайте новую заявку через POST /v1/public/conversions — платформа возьмёт свежую котировку. Используйте новый X-Idempotency-Key, иначе вернётся прежняя завершившаяся заявка.
Часть отказов отсекается ещё на этапе создания, до постановки в очередь: неисполнимая котировка, недостаточный баланс hot-кошелька или сумма ниже минимума возвращаются синхронно ошибкой VALIDATION_FAILED (HTTP 422), а не статусом failed. Подробнее — Ошибки.

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