Потеря капитала из-за неправильной реализации barrier-продукта — одна из типичных проблем при запуске структурированных нот на блокчейне. Мы столкнулись с этим, когда клиент хотел выпустить продукт с continuous barrier мониторингом, но не учёл, что Chainlink обновляет цену только раз в час. В итоге пришлось перепроектировать механизм на дискретные барьеры, что спасло запуск, но стоило недели переработок.
Structured products — финансовые инструменты с заранее определённым профилем риск/доходность. В TradFi это нота с защитой капитала, привязанная к индексу, или autocallable с барьером. На блокчейне та же механика реализуется через смарт-контракты, что добавляет programmable payouts, прозрачность и composability — но и принципиально новые технические риски.
Протокол Ribbon Finance (vault-style структурированные продукты на основе опционов) стал образцом того, как это делается правильно: вся механика on-chain, settlement через Opyn oTokens, риски явно описаны в коде. При этом даже Ribbon сталкивался с проблемами ценообразования и liquidity при экстремальной волатильности. Наш опыт показывает, что тщательное stress-тестирование и консервативные оценки — ключ к успеху.
Как разрабатываются structured products на блокчейне?
Механика principal protection
Классический structured product: 90% капитала идёт в «безрисковый» инструмент (защита принципала), 10% — в опцион на upside. На блокчейне безрискового актива нет, но есть приближения:
- Lending в Aave/Compound по ставке 4-8% APY в USDC
- Liquidity provision в Curve стейблкоин-пулах (1-3% APY)
- Tokenized treasury bills (USDY от Ondo, BUIDL от BlackRock) на поддерживаемых чейнах
Контракт вычисляет split при депозите: сколько нужно вложить в yield-инструмент сейчас, чтобы к maturity иметь 100% от initial deposit. Остаток идёт в опционную стратегию.
Математика: для 12-месячного продукта при Aave yield 6% principal portion = deposit / 1.06. При депозите $10,000 — $9,434 в Aave, $566 на опционную составляющую.
Проблема: yield rate в Aave не фиксирован. За 12 месяцев он может упасть до 1%, и контракт не соберёт достаточно для защиты принципала. Решение — либо фиксировать yield через interest rate swap (есть on-chain через Pendle), либо консервативная оценка с буфером.
Почему barrier-продукты сложнее на блокчейне?
Barrier product — более сложный:
если цена НЕ касается barrier за всё время → payoff = principal + coupon если цена касается barrier → payoff = principal * (finalPrice / initialPrice) On-chain continuous barrier monitoring невозможен без oracle с высокой частотой обновлений. Chainlink обновляет цену каждые 0.5% отклонения или раз в час — это не continuous. Решение: discrete barriers (проверка раз в день/неделю по снапшоту оракула) или European knock-in/knock-out (проверка только в expiry).
Autocallable — самый сложный:
- Каждый период (месяц/квартал) проверяется условие autocall
- Если выполнено — продукт погашается досрочно с coupon
- Если нет — продолжается
Для on-chain реализации нужен keeper (Chainlink Automation или Gelato) для автоматической проверки условий в каждый observation date. Missed observation = некорректное поведение продукта.
Settlement и интеграция с деривативами
Для опционной составляющей: Opyn oToken стандарт (ERC-20 токен, представляющий право на выплату при istrike), Lyra positions, или собственные контракты.
Основной риск — counterparty риск при settlement. Если опционный протокол взламывают в момент, когда ваш structured product держит в нём значительную позицию — принципал под угрозой. Диверсификация между несколькими опционными протоколами или использование только battle-tested решений снижает этот риск.
Токенизация и lifecycle управление
Каждый выпуск (серия) продукта — отдельный token ID в ERC-1155. Это позволяет:
- Торговать на secondary market
- Использовать как collateral в других DeFi-протоколах
- Отслеживать исторические выпуски в одном контракте
tokenId кодирует параметры выпуска: series | strike | maturity. При mint фиксируется snapshot цены underlying через оракул — это initial price для расчёта return.
Vault architecture
По образцу Ribbon Finance — каждый продукт это vault:
StructuredProductFactory └── ProductVault (per series) ├── DepositModule ├── StrategyModule (yield + options) ├── SettlementModule └── WithdrawModule Funds lock period — критический параметр. На время действия продукта средства заблокированы в контракте. Emergency exit механизм через multisig с timelock — для крайних случаев (взлом underlying protocol).
Ценообразование и NAV
NAV для структурного продукта складывается из:
- Текущая стоимость yield позиции (Aave aToken по current rate)
- Текущая стоимость опционной позиции (Black-Scholes mark-to-market)
- Минус accumulated fees
On-chain NAV расчёт с Black-Scholes требует fixed-point математики и актуальной волатильности из оракула. Альтернатива — off-chain NAV расчёт с on-chain верификацией через Merkle proof (как это делает Backed Finance для токенизированных ценных бумаг).
Сравнение типов продуктов
| Тип продукта | Защита капитала | Механика выплат | Сложность разработки | Сроки аудита |
|---|---|---|---|---|
| Capital protected note | Да (full) | Участие в upside с защитой | Низкая | 4-6 недель |
| Barrier product | Да (partial) | Купонный доход, возможен knock-in | Средняя | 6-8 недель |
| Autocallable | Нет (рыночный) | Досрочный выкуп с купоном | Высокая | 8-12 недель |
Чек-лист типичных ошибок
- Неправильный расчёт principal portion без учёта изменения yield
- Использование continuous barrier без понимания лимитов oracle
- Отсутствие keeper-инфраструктуры для autocallable
- Игнорирование counterparty риска при settlement
Что входит в работу
- Документация: математическая модель payoff, stress-тесты, спецификация контрактов
- Смарт-контракты: реализация vault, модулей, интеграций
- Тестирование: unit-тесты (Foundry), fork-тесты с реальными протоколами, fuzzing (Echidna)
- Аудит: код ревью, отчёт, рекомендации по исправлениям
- Деплой: настройка multisig, timelock, развертывание на целевой сети
- Обучение: документация для команды, поддержка при запуске
Процесс разработки
Финансовое проектирование (1 неделя). Математика payoff, stress-тестирование в Python (Monte Carlo симуляция для разных сценариев). Убеждаемся, что principal protection работает при realistically bad scenarios.
Архитектура контрактов (3-5 дней). Vault структура, интеграции с yield и опционными протоколами, keeper механика.
Разработка (4-6 недель). Foundry + тесты на все payoff сценарии. Fork-тесты с реальными интеграциями Aave, Chainlink.
Аудит (4-8 недель). Финансовые контракты требуют тщательного аудита. Особое внимание — settlement математика и oracle dependencies.
Ориентиры по срокам
Простой capital protected vault (yield + covered call) — 6-8 недель разработки. Многосерийный продукт с autocallable механикой и secondary market торговлей — 2-3 месяца. Интеграции с несколькими yield и деривативными протоколами увеличивают сроки и объём аудита.
Мы разрабатываем структурированные продукты более 5 лет, реализовали более 10 проектов для DeFi-команд. Ribbon Finance и Opyn — лишь примеры; мы адаптируем архитектуру под ваш стек. Оценим ваш проект: напишите нам, и мы предложим roadmap и бюджет.







