1Click / NEAR Intents

Проблемы и FAQ

Ошибки API#

401 Unauthorized#

Токен не передан, просрочен или неверен.

  • Проверьте, что ONECLICK_JWT заполнен в .env.local и dev-сервер перезапущен после изменения файла.
  • В песочнице рядом с ответом видно режим: «без токена (анонимно)» означает, что сервер не нашёл переменную окружения.
  • Если токен точно установлен — возможно, он отозван; перевыпустите в 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%.

Где посмотреть старый своп, если депозитный адрес потерян? Через Explorer по хешу транзакции — см. «История и Explorer API».

Куда писать, если ничего не помогло? Каналы поддержки указаны в официальной документации.