Вбудований своп токенів для мобільного криптогаманця
Зачем мобільному гаманцю вбудований своп?
Уявіть: користувач хоче обміняти 100 USDT на ETH у вашому мобільному гаманці. Він вводить суму, натискає «Обміняти» і чекає. Якщо котирування застаріло, slippage надто малий або approve не пройшов — транзакція ревертиться, газ витрачено даремно. Користувач втрачає час і гроші. Наші інженери будують вбудований своп токенів так, щоб таких ситуацій не виникало — від вибору надійного джерела котирувань до надійного трекінгу. Кожен етап ми відпрацювали на десятках проєктів, і тепер ви можете використовувати ці рішення.
У цьому матеріалі — що конкретно ми робимо: як отримуємо котирування з 1inch та Uniswap, розраховуємо мінімальний вихід, реалізуємо точний approve та показуємо статус транзакції. Отримайте консультацію, щоб обговорити деталі вашого проєкту.
Яке джерело котирувань обрати?
1inch Aggregation Protocol API — найпопулярніший варіант для мультичейн гаманців. GET-запит /v5.2/{chainId}/quote?src={tokenIn}&dst={tokenOut}&amount={amount} повертає toAmount, estimatedGas та маршрут. Підтримує 10+ мереж.
Uniswap V3 QuoterV2 — onchain-котирування через eth_call. Підходить, якщо гаманець працює тільки з однією мережею і не хоче залежати від зовнішніх API.
0x API — хороша альтернатива для Ethereum та Polygon, надає /swap/v1/quote.
| Джерело | Переваги | Недоліки | Ідеально для |
|---|---|---|---|
| 1inch | Мультичейн, агрегація багатьох DEX | Залежність від API, можливі затримки | Мультичейн-гаманців |
| Uniswap V3 Quoter | Onchain, максимальна децентралізація | Тільки Uniswap V3 | Однієї мережі (Ethereum) |
| 0x | Хороший для ETH, Polygon | Менше підтримуваних мереж | EVM-гаманців |
Найвищий вихід на угоду дає агрегація — 1inch в середньому на 15% ефективніше одного пулу Uniswap. Котирування застарівають швидко — ми оновлюємо їх кожні 15–30 секунд і показуємо таймер зворотного відліку. Після закінчення таймера запитується нове котирування. Для довідки: документація 1inch API.
Як захиститися від прослизання?
Slippage — максимальне відхилення від котирування. Ми розраховуємо amountOutMinimum = quotedAmount * (1 - slippage/100). Якщо фактичний output менший — транзакція ревертиться.
// Android — розрахунок amountOutMinimum val slippageBips = 50 // 0.5% у basis points val amountOutMinimum = quotedAmountOut.multiply(BigInteger.valueOf(10000 - slippageBips)) .divide(BigInteger.valueOf(10000)) Користувач бачить повідомлення: «Мінімум отримаєте X.XX TOKEN». Це чесно і знижує претензії при високій волатильності. Для стейблкоїн-пар (USDC → USDT) достатньо 0.1%, для мем-токенів з низькою ліквідністю — до 5–10% з явним попередженням. Замовте демо-доступ, щоб побачити роботу механізму slippage наживо.
| Тип пари | Рекомендований slippage | Ризик реверту |
|---|---|---|
| Стейблкоїн (USDC→USDT) | 0.1% | Низький |
| Ефір/стейбл (ETH→USDC) | 0.5% | Середній |
| Мем-токен (SHIB→USDT) | 5–10% | Високий |
Точний approve vs max approve
ERC-20 вимагає approve(spenderAddress, amount) перед свопом. Якщо allowance вже достатній — пропускаємо. Ми перевіряємо allowance через ERC20.allowance(ownerAddress, spenderAddress).
Два підходи: точна сума (approve на amountIn) та max approve (uint256.max). Точний approve безпечніший: нещодавні випадки злому роутерів показали, що користувачі з max approve втрачали кошти. Ми рекомендуємо точний approve з опцією «запам’ятати дозвіл» для досвідчених юзерів. Точний approve у 100 разів безпечніший за max approve при компрометації роутера. Ви можете зв'язатися з нами для аудиту вашого поточного рішення.
Як відстежити транзакцію?
Після відправлення транзакції показуємо статус pending з txHash. Polling eth_getTransactionReceipt кожні 5 секунд. При статусі 0x0 (revert) декодуємо revertReason з receipt або виконуємо eth_call з тими ж параметрами. Всю історію свопів зберігаємо локально: токен A → B, суми, txHash, timestamp, статус. Користувач бачить минулі операції без інтернету.
Процес інтеграції
- Аналіз вимог та вибір агрегатора (1 день)
- Інтеграція quote API (1–2 дні)
- Реалізація approve + swap flow (1–2 дні)
- UI-компоненти: вибір токенів, slippage slider, таймер (1 день)
- Трекінг та історія транзакцій (1 день)
- Тестування на testnet + mainnet (2 дні)
Що входить у результат
- Інтеграція з 1inch / Uniswap / 0x (на вибір)
- Документація flow approve-swap
- UI-компоненти вибору токенів та налаштування slippage
- Трекінг транзакцій та локальне зберігання історії
- Інструкція з тестування на testnet
Терміни та вартість
Терміни: від 5 днів для одного блокчейну, до 10 днів для мультичейн. Вартість розраховується індивідуально після аудиту вашого проєкту. Зв'яжіться з нами — ми оцінимо задачу за один робочий день.
Ми маємо 5+ років досвіду в розробці мобільних гаманців та DeFi-рішень. Гарантуємо відповідність App Store Review Guidelines та безпеку коштів користувачів. Замовте консультацію, щоб обговорити деталі.







