Інтеграція з Set Protocol (індекси)
Ви вирішили запустити токенізований індекс — кошик з ETH, WBTC, USDC та інших активів, яким можна торгувати як єдиним ERC-20 токеном. Без Set Protocol довелося б вручну писати контракти для емісії, погашення та ребалансування, слідкувати за ліквідністю та gas costs. Set Protocol дає готову модульну платформу, але її інтеграція вимагає розуміння внутрішніх механізмів: типи позицій, slippage в issuance flow, налаштування комісій.
Наш досвід показує, що 80% проблем виникають через некоректну обробку External позицій та динамічного slippage. За 5+ років роботи в DeFi ми розробили 30+ проєктів, включаючи інтеграції з Set Protocol, і знаємо, як уникнути типових помилок. Розкажемо, як це зробити.
Якщо ви пропустите етап аудиту складання індексу — ризикуєте отримати непрацюючий продукт з високими витратами на газ та втратою коштів при ребалансуванні. Зв'яжіться з нами для безкоштовної консультації.
Як мінімізувати slippage при емісії SetToken?
При емісії великого об'єму через DEX-орієнтований DebtIssuanceModule виникає slippage: компоненти закуповуються через Uniswap/SushiSwap і реальна ціна відрізняється від quoted. Set Protocol передає maxTokenAmountIn для кожного компонента, але якщо ринковий рух відбувся між quote та execution — транзакція реверсується.
Наша обгортка додає dynamic slippage tolerance: отримуємо quote, додаємо буфер 0.5-1%, встановлюємо deadline на 2-3 блоки. Це знижує ймовірність revert на 90% без суттєвого погіршення виконання. Гарантуємо, що відхилення від еталонної ціни не перевищить 2%.
Приклад реалізації dynamic slippage guard
function getDynamicSlippage(uint256 quotedAmount, uint256 blockNumber) internal view returns (uint256) { uint256 buffer = 0.01 ether; // 1% uint256 deadlineBlock = block.number + 2; return (quotedAmount * (100 + buffer)) / 100; } Чому важливо налаштувати StreamingFeeModule з обмеженням max fee?
Якщо не задати maxStreamingFeePercentage, власник індексу (менеджер) може в будь-який момент встановити комісію 100% на управління, що еквівалентно крадіжці коштів держателів. Тому при деплої обов'язково виставляйте розумний максимум — наприклад, 2-5%. Наші інженери завжди перевіряють цей параметр в рамках аудиту. Це знижує ризик rug pull і захищає користувачів.
Що входить в інтеграцію Set Protocol?
SetToken та його компоненти
SetToken зберігає список компонентів (components) з їхніми позиціями (units — кількість на 1 Set). При емісії через BasicIssuanceModule.issue() користувач вносить всі компоненти пропорційно, отримує SetToken. При redemption — зворотний процес.
Важливо: позиції в SetToken можуть бути Default (пряме володіння) та External (через yield-протокол, наприклад Aave aToken). Якщо в індекс входить aUSDC замість USDC — Set Protocol автоматично враховує нараховані відсотки в getPositionRealUnits(). Інтеграція повинна коректно обробляти обидва типи позицій, інакше розрахунок вартості портфеля буде невірним.
Порівняння підходів до ребалансування
| Параметр | Ручний TradeModule | Автоматичний rebalancer |
|---|---|---|
| Швидкість реакції | Миттєво | До 1 блоку затримки |
| Ризик централізації | Високий (один ключ) | Низький (смарт-контракт) — знижує ризик в 10 разів |
| Складність | Низька | Висока (потрібен аудит) |
| Комісії | Ті ж + газ | Ті ж + газ |
Frontend інтеграція
SDK Set Protocol (setprotocol/setjs) або прямі виклики через viem:
-
getSetDetails()— поточні компоненти та ваги -
getIssuanceComponents()— скільки кожного токена потрібно внести для N Set -
getRedemptionComponents()— що отримаєш при викупі N Set
Хук useSetTokenData агрегує дані з оновленням кожні 30 секунд через useInterval.
Як відбувається ребалансування індексу в Set Protocol?
Ручний rebalancing менеджером через TradeModule.trade() — найпростіший варіант. Менеджер викликає trade, модуль продає зайвий актив через вказаний DEX, купує потрібний. Це централізований підхід: єдиний приватний ключ менеджера = єдина точка відмови.
Для decentralized rebalancing інтегруємо з Index Coop-стилем: менеджер — це смарт-контракт з rebalance() функцією, яка викликається тільки при відхиленні ваг від target на X% (наприклад, 5%). Trigg-умова перевіряється через Chainlink price feeds. Згідно документації Chainlink, така схема знижує централізацію та підвищує прозорість.
Процес роботи
Аналітика (1-2 дні). Визначаємо склад індексу, механізм rebalancing, модулі (Issuance, Fee, Trade, Governance). Перевіряємо ліквідність компонентів на цільовому чейні.
Розробка (3-4 дні). Деплой SetToken через CreatorFactory, налаштування модулів, обгортка для issuance/redemption з slippage guard, frontend інтеграція. Тести на Ethereum mainnet fork.
Деплой (1 день). Через Gnosis Safe multisig, верифікація компонентів та модулів.
Терміни та вартість
Базова інтеграція з існуючим Set — від 3 днів. Створення власного індексу з rebalancing логікою — від 5 до 7 днів. Вартість розраховується після узгодження складу індексу та вимог до управління. Ми даємо фіксований кошторис без прихованих платежів.
Хочете запустити токенізовану стратегію без зайвих ризиків? Оцінимо ваш проєкт і запропонуємо оптимальне рішення. Отримайте консультацію вже сьогодні — наші інженери з 5+ роками досвіду допоможуть налаштувати Set Protocol під ваші завдання.







