Быстрый старт: chains → tokens → quote → status

Официально: Requesting a quote · Endpoint specs

Учебный цикл на портале — четыре шага в песочнице (провайдер LI.FI, режим «Обучение»).

Внимание: подпись transactionRequest из котировки двигает реальные средства. Первый раз — минимальная сумма.

Шаг 1. Сети — GET /v1/chains#

curl -s 'https://li.quest/v1/chains?chainTypes=EVM,SVM,UTXO,MVM,TVM' \
  | jq '.chains[] | {id,key,name}'

Без chainTypes API по умолчанию отдаёт только EVM. Нужны id или key для fromChain / toChain (например Ethereum 1 / eth, Arbitrum 42161 / arb, Base 8453 / bas).

Шаг 2. Токены — GET /v1/tokens#

curl -s 'https://li.quest/v1/tokens?chains=eth,bas,arb' | jq 'keys'

Ответ большой — не запрашивайте все сети сразу. Для каждого токена: address, decimals, symbol, chainId.

Шаг 3. Котировка — GET /v1/quote#

Пример: 1 USDC Ethereum → USDC Arbitrum (адреса из снимка majors):

curl -s -G 'https://li.quest/v1/quote' \
  --data-urlencode 'fromChain=1' \
  --data-urlencode 'toChain=42161' \
  --data-urlencode 'fromToken=0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' \
  --data-urlencode 'toToken=0xaf88d065e77c8cC2239327C5EDb3A432268e5831' \
  --data-urlencode 'fromAmount=1000000' \
  --data-urlencode 'fromAddress=YOUR_WALLET'

fromAmount — в наименьших единицах (1 USDC при 6 decimals = 1000000).

В ответе: estimate, transactionRequest (to / data / value / chainId).

Сам GET — расчёт; исполнение transactionRequest — реальный перевод. В песочнице шаблон помечен danger.

Шаг 4. Статус — GET /v1/status#

curl -s -G 'https://li.quest/v1/status' \
  --data-urlencode 'txHash=SOURCE_TX_HASH' \
  --data-urlencode 'fromChain=1'

txHash обязателен; fromChain ускоряет ответ. Статусы: NOT_FOUND, PENDING, DONE, FAILED (см. официальные доки).

На портале#

  1. Песочница → LI.FI → Обучение.
  2. Прокси: /api/proxy/lifi/* (allowlist: chains, tokens, quote, status).
  3. Ключ: /api-keys-install → вкладка LI.FI.