Быстрый старт: swap за 4 шага
Официальная страница: Quickstart
Полный цикл свопа через 1Click состоит из четырёх запросов. Все их можно выполнить в песочнице портала — там уже есть готовые шаблоны с теми же номерами шагов.
Внимание: тестовой сети у 1Click нет. Первый реальный своп делайте на минимальной сумме.
Шаг 1. Получить список токенов — GET /v0/tokens#
Возвращает все поддерживаемые активы. Для каждого токена важны поля:
assetId— идентификатор актива (например,nep141:wrap.near), именно он подставляется в котировку;decimals— количество знаков: сумма в запросах указывается в наименьших единицах (например, 1 wNEAR =10^24, то есть1000000000000000000000000);blockchain,symbol,price— сеть, тикер и текущая цена в USD.
Шаг 2. Запросить котировку — POST /v0/quote#
Сначала всегда делайте dry-котировку ("dry": true) — это безопасный
предпросмотр: депозитный адрес не создаётся, своп не запускается.
Минимальный набор обязательных полей:
{
"dry": true,
"swapType": "EXACT_INPUT",
"slippageTolerance": 100,
"originAsset": "nep141:wrap.near",
"depositType": "ORIGIN_CHAIN",
"destinationAsset": "nep141:usdt.tether-token.near",
"amount": "1000000000000000000000000",
"refundTo": "YOUR_NEAR_ACCOUNT.near",
"refundType": "ORIGIN_CHAIN",
"recipient": "YOUR_NEAR_ACCOUNT.near",
"recipientType": "DESTINATION_CHAIN",
"deadline": "2030-01-01T00:00:00.000Z"
}
Пояснения:
| Поле | Что значит |
|---|---|
swapType: EXACT_INPUT | «Отдаю ровно столько, получу сколько выйдет». Есть и другие типы: EXACT_OUTPUT, FLEX_INPUT, ANY_INPUT |
slippageTolerance | Допустимое проскальзывание в базисных пунктах: 100 = 1% |
amount | Сумма в наименьших единицах исходного токена (строкой) |
recipient | Адрес получателя в сети токена назначения |
refundTo | Куда вернуть средства, если своп не исполнится |
deadline | ISO-время, после которого начинается возврат средств |
Когда результат dry-котировки устраивает — повторите запрос с "dry": false.
В ответе появится depositAddress (и иногда depositMemo). Сохраните
весь ответ, включая signature.
Шаг 3. Отправить депозит и (опционально) сообщить хеш — POST /v0/deposit/submit#
Переведите точную сумму amount исходного токена на depositAddress до
истечения deadline (если в котировке был depositMemo — обязательно укажите
memo при переводе). Сам перевод выполняется вашим кошельком, вне портала.
Чтобы ускорить обработку, можно сообщить 1Click хеш транзакции:
{
"txHash": "TX_HASH_OF_YOUR_DEPOSIT",
"depositAddress": "DEPOSIT_ADDRESS_FROM_QUOTE"
}
Этот шаг необязательный: 1Click и сам заметит депозит, просто чуть позже.
Шаг 4. Следить за статусом — GET /v0/status?depositAddress=...#
Опрашивайте статус по депозитному адресу (плюс depositMemo, если был):
| Статус | Значение |
|---|---|
PENDING_DEPOSIT | Ждём поступления депозита |
KNOWN_DEPOSIT_TX | Хеш депозита получен, ждём подтверждения |
INCOMPLETE_DEPOSIT | Поступила не вся сумма |
PROCESSING | Идёт обмен |
SUCCESS | Готово: средства отправлены получателю |
REFUNDED | Средства возвращены на refundTo |
FAILED | Ошибка — см. «Проблемы и FAQ» |
Куда дальше#
- Комиссии и заработок — как добавить свою комиссию
appFees. - Справочник API — все эндпоинты кратко.
- История и Explorer API — где смотреть прошедшие свопы.