Разработка крипто-индексного фонда
Индексный фонд на блокчейне — это смарт-контракт, который держит корзину активов и автоматически ребалансирует её при отклонении от целевых весов. Пользователь депонирует ETH или USDC, получает токен фонда (share token), и его позиция пассивно отслеживает доходность корзины. Протоколы вроде Index Coop (DPI, MVI) и Enzyme Finance уже обработали миллиарды долларов по этой модели. Разработка собственного индексного фонда — это выбор стратегии, модели ребалансировки и архитектуры контрактов.
Ключевые архитектурные решения
Модель share token: ERC-4626 vs кастомная
ERC-4626 (Tokenized Vault Standard) — стандарт для «хранилищ» активов, принятый в 2022-м. Определяет deposit, mint, withdraw, redeem с единым интерфейсом. Использование ERC-4626 даёт бесплатную интеграцию с агрегаторами (Yearn, DeFi Llama Yield), кошельками и другими протоколами.
Ограничение: ERC-4626 предполагает один underlying asset. Для мультиактивного фонда нужна надстройка: пользователь депонирует USDC (единый entry token), контракт конвертирует в корзину через DEX, share token представляет долю в корзине. Стандарт можно расширить, но тогда теряется часть совместимости.
Мы используем ERC-4626-совместимый vault с USDC как accounting unit и кастомной логикой ребалансировки — лучший баланс совместимости и гибкости.
Оракулы и pricing
Правильный расчёт NAV (Net Asset Value) фонда критичен — это основа для корректного исчисления shares при входе и выходе. Ошибка в цене = арбитраж за счёт других участников фонда.
Chainlink Price Feeds — основной источник. Для каждого актива в корзине нужен надёжный feed. Проверяем: latestRoundData() → updatedAt, если timestamp старше heartbeat + buffer — цена устаревшая, депозиты/выводы блокируем (circuit breaker). Chainlink aggregators имеют heartbeat 1 час для major пар и 24 часа для minor.
Fallback oracle. Для активов без Chainlink feed — Uniswap v3 TWAP с окном 30 минут. TWAP устойчив к flash loan манипуляциям, но реагирует с задержкой на реальные движения цены. Для активной торговли это проблема, для индексного фонда — приемлемый трейдофф.
Oracle manipulation вектор. Если фонд использует spot цену Uniswap как основной оракул, атакующий может через flash loan искусственно завысить цену актива в момент депозита и получить больше shares, чем заслуживает. Именно поэтому TWAP обязателен, а spot price — никогда не основной оракул для NAV.
Ребалансировка — самая сложная часть
Фонд отслеживает целевые веса (например: BTC 40%, ETH 30%, SOL 15%, LINK 15%). Когда реальные веса отклоняются от целевых более чем на threshold (обычно 5%) — нужна ребалансировка.
On-chain автоматическая ребалансировка. Контракт сам инициирует свапы через DEX агрегатор (1inch, Paraswap). Плюс: полная децентрализация. Минус: газ за ребалансировку платит либо протокол (из комиссий), либо триггерит keeper (Chainlink Automation, Gelato). При высоком газе ребалансировка убыточна для малых фондов.
Off-chain keeper + on-chain execution. Keeper следит за отклонением весов, когда порог превышен — отправляет транзакцию. Более гибко: можно оптимизировать маршрут, учесть текущие gas prices, батчить несколько операций.
Стоимость ребалансировки. Для фонда на $10M ребалансировка на 5% = $500K swap. При 0.3% fee DEX и 0.1% slippage — это $2000 потерь на одну ребалансировку. С Chainlink Automation trigger + Flashbots bundle на mainnet добавляется ещё $50-200 газа. Управление частотой ребалансировки и threshold — экономическая задача, не только техническая.
Staking и yield на активах фонда
Продвинутые фонды не просто держат активы — они их работают: ETH стейкается в Lido (stETH), stablecoins идут в Aave/Compound, BTC — через wBTC в Curve. Это усложняет расчёт NAV (нужно учитывать начисленные проценты) и ребалансировку (нужно учитывать lockup периоды), но даёт дополнительную доходность.
Управление и governance
Fee structure. Стандарт индустрии: management fee 0.5-2% годовых (начисляется непрерывно через dilution shares) + entry/exit fee 0.1-0.5%. Всё on-chain, прозрачно.
Composition changes. Кто решает, какие активы входят в индекс? Варианты: multisig committee, token-weighted governance (DAO), алгоритмический rebalancing по market cap. Для старта — multisig с планом перехода на DAO.
Emergency pause. При обнаружении критической уязвимости или аномальном движении оракулов — возможность паузы депозитов и выводов. Реализуем через OpenZeppelin Pausable с timelock на unpause.
Процесс работы
Дизайн стратегии (1 неделя). Состав корзины, веса, стратегия ребалансировки, fee structure, модель yield на активах. Финансовое моделирование доходности и стоимости операций.
Smart contracts (3-4 недели). Vault ERC-4626, oracle aggregator, rebalancer, fee manager. Foundry тесты включают: fork-тесты с реальными Chainlink feeds, fuzz-тесты инвариантов (totalAssets = сумма активов * цены), симуляция ребалансировки.
Keeper инфраструктура (1 неделя). Chainlink Automation job или Gelato resolver для автоматического триггера ребалансировки.
Frontend (2 недели). Dashboard фонда: текущий NAV, состав корзины, исторический перформанс, форма депозита/вывода.
Аудит. Обязателен перед публичным запуском. Особое внимание аудиторов: oracle manipulation, reentrancy в vault, корректность расчёта shares.
Ориентиры по срокам
Базовый индексный фонд без yield стратегий — 6-8 недель. Продвинутая версия с yield optimization и DAO governance — 3-4 месяца. Аудит не включён в срок разработки.







