Своп токенов через Ston.fi API
Сделаешь своп Gram → jetton через Ston.fi: симуляция, расчёт slippage, сборка транзакции и отправка через TonConnect.
Своп через Ston.fi
Своп на Ston.fi — это три шага: симулировать маршрут через API, собрать параметры транзакции через SDK, отправить их кошельку (TonConnect). API api.ston.fi обслуживает только mainnet.
Gram → jUSDT: полный цикл
В React-компоненте:
Как это работает
simulateSwap() — off-chain расчёт: путь через пулы, ожидаемый выход, minAskUnits, метаданные router. Без этой симуляции ты не знаешь актуальный router.
slippageTolerance: "0.01" — допустимое проскальзывание 1%. API закладывает его в minAskUnits. Если к моменту исполнения цена ушла сильнее — контракт отклонит своп, а не отдаст худший курс.
dexFactory(routerInfo) — фабрика контрактов под версию router из ответа API. Не импортируй DEX.v2.Router с захардкоженным адресом для mainnet.
getSwapTonToJettonTxParams() — собирает to, value, body для сообщения кошельку. Gram идёт через pTON; имя метода и обёртки исторические.
sendTransaction() — кошелёк подписывает и шлёт сообщение. Между симуляцией и подписью цена может измениться — поэтому minAsk обязателен.
Другие направления
| Направление | Метод router |
|---|---|
| Gram → jetton | getSwapTonToJettonTxParams |
| jetton → jetton | getSwapJettonToJettonTxParams |
| jetton → Gram | getSwapJettonToTonTxParams |
Для jetton→jetton и jetton→Gram в simulateSwap укажи master-адрес offer-jetton вместо "ton". Те же offerUnits / minAskUnits из симуляции передавай в tx-параметры без изменений.
Частые ошибки
Считаешь minAsk сам и округляешь в большую сторону → используй simulation.minAskUnits как есть. Завышенный minAsk гарантирует revert.
Шлёшь своп через минуту после симуляции → резервы ушли, сделка отклонена по slippage. Симулируй непосредственно перед sendTransaction, показывай пользователю свежий quote.
Путаешь единицы → offerUnits в минимальных единицах блокчейна (toNano для Gram с 9 decimals). Для jUSDT (6 decimals) 1 USDT = 1000000, не toNano("1").
Что дальше
- DEX на TON: как устроены Ston.fi и DeDust — архитектура Router и pTON
- Добавление ликвидности в пул DeDust — другая сторона AMM: LP
- Мосты: перенос активов между TON и другими сетями — откуда берётся jetton до свопа
Материалы gramdocs.tech носят образовательный характер и не являются финансовой, юридической или инвестиционной рекомендацией. Работа с блокчейном TON и токеном Gram связана с рисками потери средств. Правовая информация