Інтеграція з Paraswap

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Інтеграція з Paraswap
Середній
~2-3 дні
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    902
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1122
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    859

Інтеграція з Paraswap

DEX-агрегатори вирішують одну задачу: знайти найкращий маршрут обміну токенів серед десятків джерел ліквідності. Paraswap охоплює Uniswap, Curve, Balancer, Aave, DODO та ще кілька десятків протоколів на 10+ мережах. Для приложення, якому потрібні свопи — це готова інфраструктура маршрутизації без необхідності реалізувати її самому.

Як влаштований Paraswap API

Paraswap надає два еndpoint: /prices для отримання котировки та оптимального маршруту, та /transactions для побудови транзакції по маршруту з котировки. Двохкроковий підхід обґрунтований: котировка дійсна обмежений час, транзакція будується у момент виконання.

// Крок 1: отримати маршрут
const priceRoute = await axios.get(
  `https://apiv5.paraswap.io/prices/?srcToken=${srcToken}&destToken=${destToken}&amount=${amount}&network=1`
)

// Крок 2: побудувати транзакцію
const txData = await axios.post(
  'https://apiv5.paraswap.io/transactions/1',
  {
    srcToken, destToken, srcAmount, destAmount,
    priceRoute: priceRoute.data.priceRoute,
    userAddress: wallet.address,
    slippage: 100, // 1% у базисних пунктах
  }
)

Важливий нюанс: Paraswap v5 API працює без API-ключа для базового використання, але при високому навантаженню додає rate limiting. Для production-інтеграції з частими запитами — партнерський ключ через форму на сайті.

Одобрення токенів: частої ошибки

Approve потрібен не для router контракту Paraswap напрямку, а для TokenTransferProxy — окремого контракту, що керує переводами. Адреса різниться по мережам. Якщо approve виданий неправильній адресі — кожен swap буде ревертитися з TRANSFER_FROM_FAILED.

Адреси TokenTransferProxy доступні через https://apiv5.paraswap.io/adapters/contracts?network={chainId}. Краще отримувати їх динамічно при ініціалізації, не hardcodити.

Paraswap SDK як альтернатива прямому API

@paraswap/sdk надає типізований клієнт:

import { ParaSwap } from '@paraswap/sdk'
import { ethers } from 'ethers'

const paraswap = new ParaSwap({ chainId: 1, web3Provider: provider })

const priceRoute = await paraswap.getRate({
  srcToken: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', // USDC
  destToken: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', // WETH
  amount: '1000000000', // 1000 USDC
  side: SwapSide.SELL,
})

SDK абстрагує управління адресами контрактів та форматування, але додає залежність. Для простих інтеграцій достатньо прямих HTTP-запитів.

Обробка slippage та failed транзакцій

Paraswap передає minDestAmount у транзакцію на основі параметра slippage. Якщо ринок зрушився більше — транзакція ревертується з INSUFFICIENT_DEST_AMOUNT. Нормальна поведінка, що захищає від MEV.

У приложенні потрібно передбачити retry логіку: при revert через slippage — заново запросити котировку та пересчитати транзакцію. При failure gas estimation — збільшити газ на 20% та повторити.

Орієнтири за часом

Базова інтеграція Paraswap (fetch quote + build tx + execute) — 2-3 дні. З повноцінною обробкою ошибок, retry логікою та UI для вибору slippage — до 1 тижня.

Вартість розраховується індивідуально.