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

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

Терминальные статусы: settled, failed, refunded, expired, cancelled. После них статус не меняется.
Через публичный API вы увидите заявку начиная с queued или pending_approval. Статус quoted используется платформой для котировок и операторских сценариев и обычно не встречается у заявок, созданных через API.

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

Если у оператора включён порог второго подтверждения, путь начинается с pending_approval:
Cross-chain обмен (instant-swap) при отказе провайдера может завершиться возвратом исходного актива:

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

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

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

При status: "failed" причина приходит в поле failReason (человекочитаемая строка). Частые случаи:
Чтобы повторить неудачную конвертацию, создайте новую заявку через POST /v1/public/conversions — платформа возьмёт свежую котировку. Используйте новый X-Idempotency-Key, иначе вернётся прежняя завершившаяся заявка.
Часть отказов отсекается ещё на этапе создания, до постановки в очередь: неисполнимая котировка, недостаточный баланс hot-кошелька или сумма ниже минимума возвращаются синхронно ошибкой VALIDATION_FAILED (HTTP 422), а не статусом failed. Подробнее — Ошибки.

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