Быстрый старт: chains → currencies → quote → status
Официально: Quickstart · API Overview
Полный учебный цикл Relay на портале — пять шагов (как в песочнице в режиме «Обучение»). Пример из доков Relay: мост ETH Base → Arbitrum.
Внимание: исполнение steps из котировки двигает реальные средства.
Первый раз — минимальная сумма. У Relay есть testnet API;
учебные шаблоны портала ходят в mainnet https://api.relay.link.
Шаг 1. Сети — GET /chains#
curl -s https://api.relay.link/chains | jq '.chains[] | {id,name,disabled,tokenSupport}'
Через портал: провайдер Relay.link → шаг «Сети» (или шаблон
GET /chains). Нужны numeric id: Base = 8453, Arbitrum = 42161,
Ethereum = 1. Сети с disabled: true не используйте.
Native ETH обычно имеет адрес 0x0000000000000000000000000000000000000000.
Шаг 2. Валюты — POST /currencies/v2#
curl -s -X POST https://api.relay.link/currencies/v2 \
-H "Content-Type: application/json" \
-d '{"defaultList": true}'
Ответ: { chainId, address, symbol, decimals, vmType }. Сумма в quote —
в наименьших единицах (учитывайте decimals). Для фильтра по сети:
{ "chainIds": [8453], "defaultList": false }
Снимок majors на портале: Токены и сети.
Шаг 3. Котировка — POST /quote/v2#
curl -X POST "https://api.relay.link/quote/v2" \
-H "Content-Type: application/json" \
-d '{
"user": "YOUR_WALLET",
"recipient": "YOUR_WALLET",
"originChainId": 8453,
"destinationChainId": 42161,
"originCurrency": "0x0000000000000000000000000000000000000000",
"destinationCurrency": "0x0000000000000000000000000000000000000000",
"amount": "100000000000000",
"tradeType": "EXACT_INPUT"
}'
amount здесь = 0.0001 ETH (10^14 wei). tradeType: EXACT_INPUT |
EXACT_OUTPUT | EXPECTED_OUTPUT.
В ответе: steps[] (что подписать/отправить) и requestId.
Опасно для исполнения: сам POST не списывает средства, но шаги из ответа — да. В песочнице шаблон помечен
danger+ галочка подтверждения. Для превью смотритеindicativeQuoteв спецификации quote/v2.
Шаг 4. Исполнение steps (вне портала)#
Клиент обходит steps: для kind: "transaction" — sendTransaction; для
kind: "signature" — подпись. Подробно:
Understanding Step Execution.
Шаг 5. Статус — GET /intents/status/v3#
curl "https://api.relay.link/intents/status/v3?requestId=REQUEST_ID_FROM_QUOTE"
Типичный путь: waiting → pending → success (также refund / failure —
Refunds).
Бонус: appFees#
В теле quote добавьте appFees: [{ "recipient": "0x…", "fee": "100" }]
(fee в bps, 100 = 1%). Если задаёте referrer — нужен API-ключ
(аутентификация, страница /api-keys-install).
На портале#
- Песочница → Relay.link → режим Обучение.
- Шаги: Сети → Валюты → Котировка → Статус → Заработок (appFees).
- Режим Эксперт — raw JSON и свои шаблоны в localStorage.
- Прокси:
/api/proxy/relay/*(allowlist; ключ только на сервере).