Проблемы и FAQ
Ошибки API#
401 Unauthorized#
Токен не передан, просрочен, отозван или неверен.
- Откройте «Установка Partner JWT»: статус должен быть «Настроен» (видны последние 6 символов). Если «Не задан» — вставьте JWT заново и сохраните.
- В песочнице рядом с ответом видно режим: «без токена (анонимно)» означает,
что нет ни
data/oneclick.jwt, ниONECLICK_JWT. Переустановите JWT на странице установки. - Локально (только dev): проверьте
.env.localи перезапускnpm run dev. - Если токен «Настроен», но 401 остаётся — ключ отозван или просрочен. Выпустите новый в Partner Dashboard и снова сохраните его на странице установки, затем отзовите старый.
400 Bad Request на /v0/quote#
Ответ содержит поле message со списком конкретных претензий. Частые причины:
amountне в наименьших единицах (забыли умножить на10^decimals);recipient/refundToне соответствуют форматам своих сетей;deadlineв прошлом или слишком близко;- перепутаны
recipientType/refundType/depositType.
404 на /v0/status#
Deposit address not found — адрес не из котировки этого окружения, опечатка,
либо котировка была dry (в dry-режиме депозитный адрес не создаётся).
403 от прокси портала#
Это не ошибка 1Click: путь не входит в allowlist серверного прокси. Разрешены
только GET /v0/tokens, POST /v0/quote, GET /v0/status,
POST /v0/deposit/submit, GET /v0/any-input/withdrawals. Новые пути
добавляются в app/api/proxy/1click/[...path]/route.ts.
Ситуации со свопами#
Пользователь отправил депозит, статус долго PENDING_DEPOSIT#
- Сверьте: сумма переведена точно и на тот самый
depositAddress? - Если сеть требует memo (был
depositMemoв котировке) — memo указан? - Отправьте хеш транзакции через
POST /v0/deposit/submit— это ускоряет распознавание. - Депозит после
deadlineне будет обработан как своп.
Статус INCOMPLETE_DEPOSIT#
Поступила не вся сумма. Дошлите разницу на тот же адрес (до дедлайна) — либо дождитесь возврата.
Статус REFUNDED#
Своп не исполнился (например, цена ушла за пределы slippage) — средства
отправлены на refundTo. Из возврата может удерживаться refundFee.
Получено меньше, чем показывала котировка#
Котировка гарантирует minAmountOut (с учётом slippageTolerance), а не
точный amountOut. Кроме того, из суммы вычитается withdrawFee. Если
пользователь без JWT — добавлялась платформенная комиссия 0.2%.
FAQ#
Есть ли тестнет?
Нет. Официальная рекомендация — проверять реальные свопы маленькими суммами.
Для безопасных проверок используйте dry: true.
Можно ли выполнить запрос без токена? Да, это запасной путь: публичные проверки работают, но к котировкам добавляется комиссия 0.2%. Наш продакшен-портал работает с JWT (0%).
Где посмотреть старый своп, если депозитный адрес потерян? Через Explorer по хешу транзакции — см. «История и Explorer API».
Куда писать, если ничего не помогло? Каналы поддержки указаны в официальной документации.