Документация/1Click / NEAR Intents

Аутентификация: Partner JWT

Официальная страница: API Keys

Суть в двух предложениях#

Запросы с партнёрским JWT идут без платформенной комиссии (0%) — вы платите только сетевой газ и спред маркет-мейкеров. Это основной режим нашего продакшен-портала.

Запросы без токена тоже работают: это запасной (fallback) путь. К каждому свопу добавляется платформенная комиссия 0.2% (20 базисных пунктов). Для продакшена анонимный режим не используем.

Основной путь: дашборд → страница установки#

  1. Зайдите в Partner Dashboard.
  2. Создайте или скопируйте JWT типа Distribution Channel.
  3. Откройте на портале «Установка API-ключей», войдите паролем гейта и вставьте токен. Он записывается в data/oneclick.jwt (права 0600) и сразу доступен прокси.

Пошаговый интерфейс дашборда — в разделе «Partner Dashboard: руководство». Короткий чеклист — «Продакшен: JWT-чеклист».

Как токен используется#

Токен передаётся в заголовке X-API-Key каждого запроса (также принимается формат Authorization: Bearer):

curl -X POST https://1click.chaindefuser.com/v0/quote \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_JWT" \
  -d '{ ... }'

Здесь YOUR_JWT — плейсхолдер. Реальный токен в примерах и шаблонах не пишется никогда.

Как это устроено в портале#

Вам не нужно вставлять токен в запросы вручную. Прокси читает JWT в таком порядке:

  1. непустой файл data/oneclick.jwt (то, что пишет страница установки);
  2. иначе переменная окружения ONECLICK_JWT.

В интерфейсе рядом с ответом видно режим: «JWT с сервера» или «без токена (анонимно)». Браузер токен не получает ни при каких условиях (см. «Безопасность и секреты»).

Локальная разработка (исключение)#

На своей машине, без Docker, можно положить токен в .env.local:

ONECLICK_JWT=вставьте_токен_сюда

Перезапустите npm run dev. Это удобно для разработки; продакшен-портал так не настраиваем — только /api-keys-install.

User-Session токены (справочно)#

Партнёрский JWT авторизует вашу интеграцию, но не даёт доступа к конфиденциальным данным конечных пользователей (приватные балансы, история Confidential Intents). Для этого существует отдельный механизм User-Session токенов через /v0/auth/authenticate (подпись кошельком пользователя). Для текущих задач портала он не используется; подробности — в официальной документации.