DeFi vault — это смарт-контрактная оболочка, которая принимает актив пользователя, выдаёт ему долю в виде shares и затем по заранее заданным правилам размещает капитал в одной или нескольких доходных стратегиях. В простом варианте vault может держать один актив и отправлять его в lending-протокол. В более сложном — распределять деньги между несколькими рынками, собирать rewards, менять их на базовый актив, реинвестировать, удерживать часть средств в idle-резерве и выбирать, из какой стратегии сначала освобождать капитал при выводе. Пользователь видит одну позицию, но за ней может стоять целая цепочка контрактов и внешних протоколов.
Главное преимущество vault — автоматизация повторяющихся операций. Пользователю не нужно вручную harvest-ить награды, считать оптимальный момент реинвестирования, переключать капитал между несколькими источниками дохода или постоянно поддерживать одинаковую структуру стратегии. Но автоматизация не уничтожает риск, а упаковывает его. Вместо нескольких видимых действий появляется один токенизированный claim на систему, внутри которой действуют strategy contracts, price feeds, lending markets, liquidity pools, bridges, keepers, роли управления и правила accounting. Поэтому оценивать vault только по APY — примерно то же самое, что оценивать сложный фонд по одной строке доходности.
Для начала полезно отделить vault от обычного кошелька. Vault не хранит приватные ключи пользователя и не является «сейфом» в бытовом смысле. После депозита активы переходят под контроль смарт-контракта и используются согласно его коду. Взамен пользователь получает shares — долю в экономической стоимости хранилища. Если стратегия приносит прибыль, стоимость одной доли может расти; если стратегия фиксирует убыток, цена доли может снизиться. Количество shares и их redeemable value — два разных показателя, и именно это различие лежит в основе большинства vault-моделей.
Стандарт ERC-4626 сделал такие конструкции более совместимыми: он задаёт единый интерфейс для tokenized vaults, где underlying asset обменивается на shares и обратно. Однако соответствие стандарту не означает, что стратегия безопасна, доход гарантирован или вывод всегда мгновенный. ERC-4626 стандартизирует базовые операции и расчётные представления, но не определяет, куда именно vault отправит капитал, кто управляет allocation, какие external protocols используются и что произойдёт при их отказе.
Эта статья объясняет DeFi vault как систему управления капиталом: от deposit и mint shares до strategy allocation, harvest, compounding, accounting и redemption. Отдельно разберём, чем vault отличается от yield farming, как читать price per share и total assets, почему высокий APY может быть следствием временных incentives, где возникают performance fee и execution losses, что происходит при illiquid withdrawal, как устроены allocator-vaults и почему один дополнительный слой автоматизации способен одновременно снизить операционные ошибки пользователя и увеличить системный blast radius.
Короткий вывод: DeFi vault не создаёт доходность сам по себе. Он токенизирует долю пользователя и автоматизирует размещение капитала в одной или нескольких стратегиях. Поэтому проверять нужно не только vault-контракт, но и shares accounting, permitted strategies, роли управления, внешние протоколы, комиссии, liquidity и путь полного выхода.
Что такое DeFi vault и чем он отличается от обычного депозита
Начните с модели владения. Vault превращает прямое владение underlying в требование к пулу активов через shares, а затем передаёт капитал стратегии. Эта конструкция удобна только тогда, когда пользователь может проследить все четыре звена и понять, кто управляет каждым из них.
Vault — это контрактная позиция, а не отдельный кошелёк
После deposit underlying-токен обычно перестаёт лежать непосредственно на адресе пользователя. Он оказывается в vault-контракте или быстро передаётся дальше в strategy contract, lending market, staking-модуль либо liquidity position. Пользователь вместо прямого баланса underlying получает shares. Поэтому проверка позиции должна отвечать не только на вопрос «сколько токенов я внёс», но и на вопрос «какое требование представляют мои shares, где находятся assets сейчас и по какой формуле я могу вернуть underlying». Для общей картины полезно сначала понимать, как устроен DeFi как набор смарт-контрактных зависимостей.
Underlying asset и share token выполняют разные функции
Underlying asset — экономический актив, который стратегия пытается использовать: например, stablecoin, ETH-производный или другой ERC-20. Share token отражает долю пользователя в vault. Если vault принял 1 000 единиц актива и выпустил 1 000 shares, стартовый обменный курс может выглядеть как один к одному. После прибыли total assets способны вырасти до 1 100 при прежнем количестве пользовательских shares, и каждая доля будет представлять больше underlying. Поэтому рост value per share не требует постоянного начисления новых токенов на баланс пользователя.
На практике полезно записывать три числа в одной точке времени: количество shares пользователя, totalAssets vault и totalSupply shares. Даже без сложной аналитики это помогает понять, растёт ли экономическая стоимость доли за счёт стратегии или интерфейс просто отображает начисленные rewards отдельной строкой. Если vault использует rebasing underlying, wrapper или nested shares, проверьте, не считается ли один и тот же рост дважды. Экономическая модель должна сходиться при полном redeem: после сжигания shares пользователь должен понимать, какой underlying и в каком количестве он вправе ожидать.
Single-strategy vault и allocator vault — разные уровни сложности
Single-strategy vault обычно направляет капитал в один механизм: один lending market, одну LP-позицию, одну staking-схему или одну автоматизированную стратегию. Allocator vault распределяет актив между несколькими стратегиями или рынками и решает, какая доля капитала должна работать в каждом из них. Такой слой может улучшать diversification и использование ликвидности, но добавляет curator/allocator risk, правила caps, очереди вывода и зависимость от корректного rebalancing. У пользователя одна позиция, а фактических экономических экспозиций становится несколько.
Для allocator-vault дополнительно нужен risk budget по направлениям. Например, 20% в одном lending market и 20% в другом не являются настоящей диверсификацией, если оба рынка используют один collateral, один oracle и одну chain. Поэтому анализ allocations дополняют картой общих зависимостей. Удобно считать не только доли strategies, но и aggregate exposure к каждому external protocol, stablecoin, bridge и oracle. Такая карта показывает, насколько заявленная многокомпонентность действительно уменьшает single point of failure.
Yield aggregator не создаёт доход из воздуха
Агрегатор лишь выбирает, комбинирует или автоматизирует источники дохода. Если underlying strategy зарабатывает interest от заёмщиков, swap fees от пула или staking rewards, vault может собирать и реинвестировать эти потоки. Но если источники дохода исчезают, агрегатору нечего «оптимизировать». Высокая доходность интерфейса должна раскладываться на первичные cash flows: кто платит, в каком токене, при каких условиях и насколько этот поток зависит от субсидий. Именно источник дохода важнее красивого названия стратегии.
Auto-compounding экономит операции, но не делает APY гарантированным
Auto-compounding означает, что стратегия периодически собирает rewards и возвращает их в работающий капитал. Это может повысить фактический результат по сравнению с ручным claim, особенно когда стоимость harvest распределяется между многими вкладчиками. Но APY зависит от будущей ставки, частоты compounding, gas, swap price impact, reward-token price и комиссий vault. Сравнение APR и APY подробно разобрано в материале OneMagic о расчёте доходности APR/APY; для vault важно считать net result после всех автоматических действий.
Vault не обязан быть ERC-4626
ERC-4626 стал распространённым интерфейсом tokenized vaults, но рынок содержит старые, модифицированные и полностью нестандартные конструкции. Поэтому название Vault в интерфейсе ничего не доказывает. Перед депозитом проверяют contract address, функции deposit/withdraw или их аналоги, accounting method и фактический asset. Стандарт полезен тем, что делает базовые операции предсказуемее для интеграций, однако конкретная реализация может добавлять fees, limits, roles, delayed withdrawals, strategies и другие механизмы, которых базовый интерфейс не описывает.
Стратегия может быть вложена в другие протоколы
Vault часто не является конечной точкой. Он может внести stablecoin в lending, получить interest-bearing token, поместить его в другой рынок, использовать как collateral или добавить в LP. Такая composability повышает эффективность капитала, но формирует dependency graph. Ошибка верхнего vault-контракта — только один сценарий; возможны сбой underlying protocol, depeg wrapper, oracle failure, bridge incident и проблемы ликвидности на выходе. Чем длиннее цепочка, тем важнее знать, где именно находится экономическая ценность.
Управляющая логика может быть автоматической или разрешённой ролями
Часть vaults действует полностью по immutable правилам, часть использует manager, curator, allocator, keeper или governance. Эти роли могут менять allocations, добавлять новые стратегии, ограничивать deposits, перестраивать withdrawal queue и настраивать комиссии. Автоматизация здесь означает не отсутствие людей, а автоматическое исполнение заданных людьми полномочий. Нужно знать не только owner vault-контракта, но и все роли, их пределы, timelock, возможность emergency shutdown и то, способен ли один ключ резко изменить профиль риска.
TVL — это размер позиции системы, а не сертификат безопасности
Большой total value locked показывает масштаб капитала, который доверен системе, и может косвенно говорить о зрелости. Но TVL не подтверждает качество кода, адекватность risk caps, ликвидность выхода или устойчивость стратегии. Более того, большой vault становится более привлекательной целью для атак и требует сильнее отлаженной incident response. Анализ должен смотреть на архитектуру и ограничения, а не на социальное доказательство «там уже лежат миллионы». Масштаб ошибки растёт вместе с активами под управлением.
Короткая формула для читателя: asset → shares → strategy → assets
Удобно представлять vault как четыре последовательных уровня. Пользователь передаёт asset, получает shares, vault направляет капитал в strategy, а затем рассчитывает, сколько assets соответствует shares при выходе. Каждый уровень имеет отдельный риск: идентичность токена, корректность share accounting, риск стратегии и ликвидность redemption. Если хотя бы один элемент невозможно объяснить простыми словами и проверить on-chain, позицию нельзя считать прозрачной только потому, что интерфейс показывает одну кнопку Deposit.
| Элемент | Что делает | Что проверять | Типичный риск |
|---|---|---|---|
| Underlying asset | Экономическая база vault | Контракт, сеть, ликвидность, redemption | Depeg, blacklist, token bug |
| Shares | Фиксируют долю пользователя | totalSupply, convert/redeem логика | Mispricing, rounding, dilution |
| Strategy | Генерирует доход | Куда размещён капитал, лимиты, отчётность | Loss, exploit, liquidation |
| Allocator/manager | Меняет распределение | Roles, caps, timelock, queue | Misallocation, key compromise |
| Exit path | Возвращает underlying | Idle liquidity, withdraw queue, limits | Задержка, slippage, revert |
Как движется капитал внутри vault: deposit, allocation, harvest и withdrawal
Движение средств внутри vault лучше рассматривать как последовательность состояний, а не как одну кнопку Deposit. Важно видеть момент mint shares, переход капитала в strategy, отчёт прибыли, возврат idle liquidity и порядок освобождения средств при redemption.
Deposit обычно начинается с передачи underlying
Пользователь разрешает vault-контракту использовать определённое количество токена и вызывает deposit либо другой входной метод. После успешного исполнения контракт принимает underlying и рассчитывает shares. Важно заранее сверить allowance, receiver и ожидаемое количество shares. Для крупных сумм сначала полезно пройти безопасный процесс подключения через отдельную инструкцию OneMagic о подключении кошелька к DeFi-приложению. Депозит в правильный протокол не отменяет риск неправильного spender или поддельного front-end.
Mint и deposit могут отвечать на разные вопросы
В ERC-4626 deposit задаётся количеством assets и возвращает число shares, а mint — желаемым количеством shares и рассчитывает, сколько assets нужно внести. Это не просто два названия одной кнопки. Различие важно при ограничениях и округлении: пользователь может контролировать либо входной актив, либо итоговое количество долей. Хороший интерфейс показывает preview и защитные минимумы, но проверка на уровне контракта важнее, если сумма значительна или vault использует нестандартные комиссии.
Idle assets нужны не только из-за неэффективности
Часть капитала vault может оставлять без размещения как liquidity buffer. На первый взгляд idle assets снижают доходность, но они позволяют быстро обслуживать withdrawals, избегать экстренного закрытия менее ликвидных стратегий и уменьшать price impact. Оптимальная доля зависит от характера активов и поведения вкладчиков. Нулевой idle при высокой доходности может выглядеть эффективно до момента массового выхода, когда vault вынужден освобождать капитал из стратегии в худшее время.
Debt allocation — это распределение капитала между стратегиями
Allocator-vault может задавать каждому strategy target или cap. Когда появляется новый депозит, капитал направляется туда, где есть разрешённая ёмкость. При изменении условий manager может уменьшить debt одной стратегии и увеличить другой. Важно различать стратегическое право «какие рынки разрешены» и операционное право «как быстро переместить средства внутри разрешённых границ». Чем шире эти полномочия, тем больше vault напоминает программируемый фонд, а не пассивный контракт.
Harvest переводит экономический результат в учёт vault
Стратегия может получать rewards, interest, fees или прирост стоимости позиции. Harvest/report фиксирует результат и обновляет accounting. В одних системах yield виден почти непрерывно, в других часть прибыли или убытка отражается только после отчёта. Это создаёт важный вопрос: насколько текущий price per share отражает реальное состояние позиции. Если accounting запаздывает, красивый dashboard может показывать историческую оценку, пока underlying market уже изменился.
Следите и за тем, кто имеет право инициировать report. Permissionless report снижает зависимость от одного keeper, но не устраняет качество данных. Permissioned report упрощает контроль, но создаёт operational dependency. Если report может быть отложен, запишите максимальный нормальный интервал и сравнивайте его с фактическим. Длительная тишина после сильного market move — повод считать dashboard менее надёжным до обновления. Для leveraged и LP strategies задержка accounting особенно чувствительна, потому что реальная стоимость меняется непрерывно.
Reinvest превращает доход в новую экспозицию
После harvest vault может обменять rewards на базовый актив и снова разместить их. Такой процесс создаёт compounding, но одновременно повторяет execution risk: каждый swap несёт fee, price impact, slippage и потенциальный MEV. Для небольших rewards слишком частый harvest может ухудшать net result; для крупных vaults стоимость операции распределяется эффективнее. Поэтому частота compound — это экономический параметр, а не просто техническая настройка «чаще значит лучше».
Withdrawal сначала проверяет доступный underlying
При withdraw или redeem vault должен найти assets, соответствующие долям пользователя. Если достаточно idle liquidity, операция может быть простой. Если капитал размещён в стратегиях, контракт начинает освобождать его согласно правилам. В некоторых моделях это последовательный проход по withdrawal queue; в других — вызов adapter или отдельная заявка на выход. Пользователь должен понимать, может ли redemption быть ограничен ликвидностью downstream-протокола, epoch, cooldown или market cap.
Withdrawal queue определяет, где vault ищет деньги первым
Очередь вывода — важная часть allocator-vault. Если первая стратегия ликвидна, пользователь получает средства быстро. Если она возвращает меньше ожидаемого или revert, vault может перейти к следующей либо полностью остановить withdrawal — зависит от реализации. Порядок queue влияет на то, какие вкладчики первыми несут стоимость unwind. Он также создаёт governance risk: изменение очереди способно сделать выход медленнее даже без потери общей стоимости assets.
Очередь также влияет на распределение losses между пользователями во времени. Если первая strategy закрывается без потерь, ранний redeemer получает полный underlying, а поздний может столкнуться с менее ликвидными позициями. Некоторые архитектуры пытаются распределять loss через PPS, другие отражают его при конкретном unwind. Поэтому stress-test должен моделировать не только «можно ли вывести», но и «какие стратегии будут затронуты при выводе 5%, 20% и 50% TVL» и кто несёт transaction cost такого unwind.
Redeem и withdraw отличаются направлением расчёта
Redeem обычно задаёт количество shares, которое пользователь хочет сжечь, а withdraw — количество underlying assets, которое нужно получить. Различие становится заметным при fees, rounding и ограничениях. Если интерфейс показывает только один вариант, это не означает отсутствия второго метода на контракте. Перед крупным выходом полезно сравнить previewRedeem/previewWithdraw или их аналоги с фактической ликвидностью, чтобы понимать допустимый диапазон результата и не путать расчётную конверсию с гарантированной выплатой.
Полный цикл заканчивается не кнопкой, а проверкой receipt и баланса
После redemption нужно подтвердить status транзакции, фактическое количество underlying и оставшиеся shares. Если vault использовал несколько стратегий, итоговая сумма может включать fee, rounding или realized loss. Для значимой позиции сохраняют TxID, block number и значение shares до/после операции; отдельная инструкция OneMagic по проверке транзакции по TXID помогает отделить интерфейсное сообщение от on-chain результата. Это особенно важно при partial withdrawal или сложной очереди.
| Этап | Что происходит | Что меняется on-chain | Что может пойти не так |
|---|---|---|---|
| Deposit | Asset поступает в vault | Assets ↑, shares пользователя ↑ | Неверный spender, rounding, limit |
| Allocate | Капитал идёт в strategy | Idle ↓, strategy exposure ↑ | Ошибка allocation, cap, внешний protocol |
| Harvest/report | Фиксируется PnL | totalAssets/PPS меняются | Задержка отчёта, ошибочный accounting |
| Compound | Rewards реинвестируются | Экспозиция стратегии растёт | Swap loss, gas, reward depeg |
| Withdraw/redeem | Shares сжигаются | Shares ↓, assets возвращаются | Очередь, недостаток liquidity, realized loss |
Откуда берётся доходность vault и почему её нужно раскладывать на источники
Доходность нужно разложить до первичного плательщика. Lending interest, swap fees, staking rewards, incentives и leveraged carry имеют разные источники и разные failure modes, поэтому одинаковый APY у двух vaults может означать совершенно разный риск.
Lending vault получает доход от спроса на заёмный капитал
Если vault размещает stablecoin или другой актив в lending market, основным источником дохода становятся проценты заёмщиков. Ставка обычно связана с utilization и может сильно меняться. Aggregator способен перераспределять капитал между несколькими рынками, выбирая лучшие условия в рамках caps. Но высокая borrow rate нередко означает стресс ликвидности или повышенный спрос на займ. Доходность нужно сравнивать с качеством collateral, oracle и механизмом ликвидации, а не воспринимать процент как банковский купон.
LP-vault превращает комиссии пула в доход, но принимает impermanent loss
Vault может автоматически управлять liquidity position, собирать trading fees и переставлять диапазон. Тогда доход зависит от объёма торговли и структуры пула, а риск — от изменения относительных цен токенов. Понимание механики пула ликвидности необходимо до оценки такого vault. Комиссии не являются чистой прибылью, если цена активов разошлась и позиция получила impermanent loss относительно альтернативного хранения.
Для concentrated liquidity добавьте ещё один слой: position может выйти из активного диапазона и перестать зарабатывать fees, пока vault не переставит liquidity. Перестановка требует swaps и меняет token composition. Стратегия, которая часто rebalances, фактически совершает серию торговых решений. Поэтому сравнение должно учитывать turnover и benchmark. Если менеджер показывает только harvested fees без результата относительно исходного набора токенов, отчёт неполон и способен создавать иллюзию устойчивой доходности.
Staking и LST-vault опираются на доход базового консенсуса
Vault может принимать нативный или liquid-staking актив, автоматически stake-ить его, собирать rewards и реинвестировать. Здесь первичный доход связан с правилами staking, а дополнительный слой — с ликвидностью и redemption производного токена. Базовые риски валидаторов и блокировки разобраны в статье OneMagic о стейкинге криптовалют. Если vault затем использует LST как collateral или LP-актив, стратегия становится многослойной и требует отдельного stress-test depeg.
Incentive farming может временно создавать высокий APY
Протоколы нередко субсидируют ликвидность дополнительным reward-token. Vault собирает такой токен, продаёт его и добавляет выручку к underlying. Пока emissions высоки, APY выглядит привлекательным; после сокращения incentives ставка может быстро исчезнуть. Особенно опасно считать reward по текущей рыночной цене без проверки depth. Если vault крупный, регулярная продажа наград сама способна давить на цену и увеличивать slippage, превращая nominal reward в меньший реализованный доход.
Leveraged strategy увеличивает и yield, и путь к убытку
Некоторые vaults занимают актив под залог и повторно размещают полученные средства, создавая loop. Если доходность вложения выше borrow cost, leverage повышает spread. Но при росте ставки долга, падении collateral или depeg позиция приближается к ликвидации. Пользователь может не видеть leverage в интерфейсе, потому что владеет лишь shares. Для проверки такой стратегии обязательно понимать health factor и механику ликвидации в DeFi.
Полезно считать stress spread: что произойдёт, если borrowing cost вырастет, а supply yield одновременно снизится. Положительный carry может стать отрицательным без движения цены collateral. Вторая проверка — deleverage capacity: сколько liquidity доступно для закрытия loop и какой price impact возникнет. Если unwind требует продать тот же актив, который падает и перегружает рынок, автоматическая стратегия не гарантирует мягкий выход. Алгоритм способен исполнять правила быстрее человека, но он не создаёт ликвидность.
Basis и market-neutral стратегии не равны безрисковому проценту
Vault может держать spot и противоположную derivative-позицию, пытаясь зарабатывать funding или convergence basis. Направленная дельта при идеальном hedge мала, но остаются margin risk, funding reversal, venue risk, execution mismatch и liquidation одной ноги. Если стратегия использует внешнюю централизованную площадку, появляется off-chain custody и доступность withdrawal. Если всё on-chain — остаются derivative protocol и oracle dependencies. Слово market-neutral описывает чувствительность к цене, а не отсутствие риска.
Reward token нужно оценивать отдельно от underlying
Если доход приходит в другом токене, итог vault зависит от его цены, ликвидности и emission schedule. 20% APY, выплачиваемые быстро обесценивающимся reward-token, могут дать отрицательный total return в базовой валюте. Поэтому отчёт должен показывать доход в underlying или единой unit of account после swap costs. Пользователь также проверяет, является ли reward обязательной частью economics или временным маркетинговым subsidy, которое governance может уменьшить в любой момент.
Performance fee отнимает долю прибыли, а management fee — время
Vault может брать performance fee только с реализованного или отчётного дохода, management fee с активов или времени, withdrawal/deposit fee на входе и выходе. Термины и формулы различаются между протоколами. Сравнивать нужно net APY после fees. Особенно важно, как комиссия начисляется при убытке и есть ли high-water mark: иначе strategy может брать плату за восстановление после предыдущей просадки. В автоматическом vault сложная fee-модель способна скрываться за одной строкой APY.
Gas и slippage являются расходами стратегии, даже если их не платит пользователь отдельно
Когда keeper harvest-ит rewards, меняет токены и переставляет позицию, расходы уменьшают value vault. Пользователь может не видеть отдельную транзакцию со своего кошелька, но экономически платит через меньший рост price per share. Чем больше turnover и сложнее route, тем важнее отслеживать execution quality. При LP и swap-ориентированных стратегиях полезно отдельно понимать price impact, потому что крупный vault сам способен ухудшать цену своих операций.
Net yield — это результат после всех слоёв, а не сумма рекламных процентов
Практическая модель начинается с gross yield первичной стратегии. Из него вычитают protocol fee, vault fee, keeper/gas, swap loss, borrowing cost и ожидаемые потери от неидеального исполнения. Затем добавляют или вычитают изменение цены reward и underlying, если цель измеряется в другой базовой валюте. Нельзя просто сложить staking APR, LP fee APY и incentives, если они уже входят друг в друга. Vault особенно подвержен double counting, потому что один dashboard агрегирует несколько потоков.
| Источник | Кто фактически платит | Что улучшает доход | Главный риск |
|---|---|---|---|
| Lending interest | Заёмщики | Высокий здоровый utilization | Bad debt, ставка, oracle |
| LP fees | Трейдеры | Объём и глубина | Impermanent loss, price impact |
| Staking rewards | Протокол сети | Участие в консенсусе | Slashing, depeg LST, lock |
| Incentives | Эмиссия проекта | Субсидии | Dilution, падение reward token |
| Leveraged spread | Разница ставок | Положительный carry | Liquidation, rate reversal |
| Basis/funding | Участники деривативов | Market imbalance | Funding reversal, margin risk |
ERC-4626, shares и price per share: где стандартизация помогает, а где создаёт ложную уверенность
Стандартизация ERC-4626 делает tokenized vaults понятнее для интеграций, но одновременно создаёт соблазн считать одинаковый интерфейс одинаковой экономикой. На практике implementation, accounting и strategy остаются главными объектами проверки.
ERC-4626 стандартизирует интерфейс tokenized vault
ERC-4626 описывает общий язык для vault, который принимает ERC-20 asset и выдаёт ERC-20 shares. Стандарт определяет функции вроде asset, totalAssets, deposit, mint, withdraw, redeem и preview/convert helpers. Это облегчает интеграцию кошельков, агрегаторов и других протоколов, потому что им не нужно изучать уникальный API каждого vault. Но стандарт не говорит, какая стратегия используется и насколько она рискованна. ERC-4626 — интерфейс учёта и обмена asset/share, а не знак качества underlying strategy.
totalAssets должен отражать управляемые активы, но источник оценки остаётся критичным
Показатель totalAssets отвечает на вопрос, сколько underlying value vault считает находящимся под управлением. Если часть капитала размещена в strategy, значение может зависеть от отчётности, redeemable amount или адаптера. В идеальной простой модели totalAssets почти равен фактически возвратимому underlying. В сложной системе mark-to-model способен отличаться от executable exit value. Пользователь должен понимать, включает ли расчёт accrued yield, unrealized loss, locked profit, позиции с ограниченным выводом и активы, которые сейчас нельзя быстро продать.
Особое внимание нужно уделять assets, которые не имеют мгновенной цены redemption. LP tokens, lending shares, staked wrappers и cross-chain claims часто оцениваются через conversion function или oracle. Такая оценка может быть корректной для небольшого объёма, но завышать стоимость массового выхода. Поэтому к totalAssets полезно добавлять conservative liquidation value — сколько underlying можно получить при разумном стрессовом размере. Разница между двумя оценками показывает liquidity haircut, который обычный PPS скрывает.
Price per share — производная, а не независимая рыночная цена
Упрощённо PPS можно представить как totalAssets, делённые на totalSupply shares. Если assets растут быстрее shares, PPS увеличивается. Но этот коэффициент безопасен только настолько, насколько корректны accounting и оценки underlying. Ошибка totalAssets, donation, stale oracle или задержанный report способны временно искажать share price. Поэтому PPS нельзя читать как котировку биржевого инструмента без понимания того, как контракт пришёл к числу и можно ли по нему реально redeem-ить существенный объём.
convertToShares и previewDeposit не обязаны означать одно и то же
Стандарт различает идеализированную conversion-функцию и preview конкретной операции. convertToShares предназначена для расчётного обменного курса без caller-specific вариаций и не должна моделировать фактический slippage. previewDeposit, наоборот, должна ближе отражать результат депозитной операции в текущих условиях. Для пользователя это означает важную границу: красивый базовый exchange rate не гарантирует число shares после fees, limits и реального исполнения. Крупная позиция должна сравнивать preview и фактический receipt.
Округление особенно важно в маленьких и пустых vault
Shares и assets имеют конечное число decimals, поэтому любой conversion округляется. В зрелом vault с большим supply маленькая погрешность обычно незаметна. В почти пустом хранилище exchange rate можно сделать экстремальным, и небольшой депозит получит очень мало shares. Это не абстрактная математика: стандартизированные vaults требуют защиты от сценариев, где rounding превращает депозит в экономически невыгодную операцию. Перед входом в новый vault полезно проверить текущие totalAssets/totalSupply и минимально разумный размер позиции.
Inflation attack манипулирует exchange rate через donation
Классическая проблема ERC-4626 возникает, когда злоумышленник первым получает очень маленькое число shares, затем переводит underlying напрямую в vault без mint новых shares. Total assets растут, share supply почти не меняется, и exchange rate становится настолько высоким, что следующий депозит из-за округления может получить нулевое или ничтожное число shares. Современные реализации используют virtual assets/shares, precision offset, initial liquidity и другие защиты. Сам факт «контракт соответствует ERC-4626» не доказывает, что конкретная реализация защищена.
Для пользователя практический вывод прост: у нового или почти пустого vault не следует доверять только preview в front-end. Проверьте, какую защиту использует implementation, есть ли virtual shares/assets или initial liquidity, и какая минимальная позиция получает ненулевое число shares с приемлемым rounding. После расчёта всё равно задавайте ограничение на минимально получаемые shares, если wrapper/router это поддерживает. Без защитного minimum state может измениться между preview и включением transaction.
Direct donation может менять accounting даже без злонамеренной атаки
Underlying токены иногда попадают на адрес vault напрямую: ошибочный transfer, reward, airdrop или rescue. Если totalAssets основан на raw balance, такая donation повышает backing shares и меняет PPS. Иногда это справедливо для текущих держателей, иногда ломает предположения интеграций или fee accounting. Аналитик должен установить, как implementation считает unmanaged tokens и может ли внешняя сторона существенно влиять на exchange rate простым transfer. Это особенно важно для nested vaults, где один share используется как asset другого.
Locked profit сглаживает резкий рост share price
Некоторые системы не отражают весь отчётный profit мгновенно. Часть прибыли блокируется и постепенно разблокируется, чтобы снизить возможность front-run/sandwich вокруг момента report. Тогда total economic profit стратегии и сразу redeemable PPS могут различаться. Такая схема не является универсальным требованием ERC-4626, а дополнительной accounting policy конкретного протокола. Пользователю важно знать, как долго profit unlock, что происходит при новом loss и может ли manager менять параметры разблокировки.
Nested vault создаёт shares, обеспеченные другими shares
Vault A может принимать underlying и покупать shares vault B, а затем сам выпускать shares пользователю. Такая композиция удобна: стратегия легко подключает другой доходный модуль. Но risk становится рекурсивным. Пользователь зависит от accounting A и B, обоих наборов ролей, обеих fee-моделей и ликвидности redemption каждого слоя. Возникает риск double fee и замедленного выхода. Проверяя nested vault, нужно построить цепочку до конечного underlying, а не останавливаться на первом ERC-4626 token.
Стандартная функция maxWithdraw не всегда показывает реальную рыночную ликвидность
Даже если контракт технически допускает вывод, downstream position может оказаться illiquid или закрываться с loss. Некоторые реализации вводят отдельные withdrawal limits, queues или asynchronous redemption. Другие формально соответствуют interface, но используют специфичную логику вокруг max functions. Поэтому интеграция должна читать документацию реализации, а пользователь — тестировать небольшой redeem. Комбинация «shares есть + preview положительный» ещё не доказывает, что крупный объём можно вернуть в underlying без ухудшения результата.
| Показатель ERC-4626 | Что означает | Чего не гарантирует |
|---|---|---|
| asset() | Underlying токен vault | Безопасность самого токена |
| totalAssets() | Управляемые assets по accounting | Мгновенный executable exit value |
| convertToShares() | Идеализированная конверсия assets→shares | Фактический результат deposit |
| previewDeposit() | Оценка shares для deposit | Неизменность state до включения tx |
| maxWithdraw() | Контрактный лимит вывода | Глубину внешнего рынка |
| redeem() | Сжигание shares за assets | Отсутствие downstream loss |
Какие риски скрывает vault: от кода и стратегии до ролей, оракулов и мостов
Риск vault удобно анализировать слоями: core contract, strategy, external protocols, data feeds, liquidity, governance и пользовательская авторизация. Такой подход показывает, какой компонент действительно определяет возможный убыток и скорость выхода.
Vault contract risk остаётся первым слоем
Ошибка в deposit, share accounting, fee logic, rounding или withdrawal способна повредить всем вкладчикам независимо от качества underlying strategy. Поэтому проверка начинается с самого vault: verified source, audit scope, upgradeability, proxy admin и история изменений. Практическая методика OneMagic по проверке смарт-контракта полезна как базовый шаблон, но для vault дополнительно нужны accounting invariants и права strategy management. Аудит старой implementation не покрывает последующий upgrade.
Strategy risk может быть больше риска оболочки
Vault-core способен быть простым и давно проверенным, а подключённая strategy — новой и сложной. Если strategy использует leverage, нестандартный AMM, новый bridge или токен с административными правами, основной риск лежит там. Allocator vault ещё сильнее разделяет core и strategy universe: безопасность оболочки не говорит о безопасности разрешённых destinations. Перед депозитом нужно перечислить все стратегии, их доли, caps и максимальный возможный ущерб при полном failure каждой из них.
Хороший due diligence поэтому ранжирует components по потенциальному loss. Core vault может иметь малую вероятность критического бага, но strategy с leverage способна регулярно принимать рыночный risk. External bridge может иметь низкую вероятность, но почти полный loss при failure. Такие риски нельзя складывать в один «score» без контекста. Полезнее таблица: component, exposure, failure mode, detectability, recovery route и max plausible loss. Она показывает, какие зависимости действительно определяют размер позиции.
External protocol risk передаётся пользователю vault
Когда strategy размещает актив в lending или staking protocol, пользователь принимает его smart-contract и economic risk, хотя взаимодействует только с vault. Если внешний протокол pause withdrawals, получает bad debt или теряет collateral, vault не может магически вернуть underlying. Aggregator иногда создаёт ложное ощущение диверсификации, потому что интерфейс показывает один продукт. На деле экспозиция может быть сконцентрирована в одном внешнем protocol или одном collateral, просто скрытом за несколькими strategy wrappers.
Oracle risk может искажать NAV, collateral и автоматические решения
Vaults, которые используют lending, leverage, derivative или structured strategies, часто зависят от price feeds. Неверная или stale цена способна вызвать liquidation, неправильный rebalance или ложный NAV. Отдельная статья OneMagic про оракулы и Data Feeds объясняет инфраструктурный слой. Для vault важно установить конкретный feed, fallback, freshness checks и то, что происходит при oracle failure: pause, last price, alternate source или продолжение операций.
Liquidity risk появляется при массовом выходе
Vault может показывать активы на балансе, но не иметь достаточно свободного underlying для одновременного redemption всех shares. В lending часть капитала занята заёмщиками, в LP выход влияет на цену, в staking действует cooldown, в cross-chain strategy средства находятся на другой сети. Withdrawal queue и minimum idle смягчают проблему, но не устраняют её. Пользователь должен оценивать не только TVL, а share of instantly redeemable assets и стрессовый сценарий, когда многие вкладчики выходят одновременно.
Leverage risk может быть скрыт внутри strategy
Пользователь депонирует 1 000 stablecoin и видит одну vault-позицию, но стратегия может занимать дополнительный капитал и повторно размещать его. Тогда фактическая gross exposure превышает NAV. Доход увеличивается в нормальном режиме, но adverse move способен вызвать liquidation и потерю части principal. Нельзя считать single-asset vault неволатильным только потому, что deposit token стабильный. Нужно знать максимальное плечо, collateral, borrow asset, liquidation threshold и автоматический deleverage route.
Bridge и cross-chain strategy добавляют инфраструктурную точку отказа
Cross-chain vault может отправлять капитал в другую сеть через bridge, а стоимость позиции возвращать сообщением. Тогда безопасность зависит от lock/mint или burn/release механизма, relayer, message finality и remote strategy. Если bridge остановлен, local vault может видеть отчётную стоимость, но не иметь возможности быстро вернуть актив. Wrapped representations также создают дополнительный redemption risk; базовое объяснение таких активов есть в материале OneMagic о wrapped tokens.
Admin key и role risk определяют, кто способен изменить стратегию
Owner, curator, allocator, guardian и keeper могут иметь разные полномочия. Один ключ способен добавлять новый strategy, другой — менять caps, третий — перестраивать queue, четвёртый — запускать emergency shutdown. Хорошая архитектура разделяет обязанности, ограничивает hot key и использует timelock для изменений риска. Но даже timelock полезен только если вкладчики его мониторят и имеют реальный путь выхода. Необходимо читать capabilities каждой роли, а не ограничиваться строкой «multisig».
Разделение ролей нужно оценивать вместе с caps. Даже скомпрометированный allocator может быть ограничен тем, что curator заранее разрешил только определённые markets и максимальные доли. Напротив, owner с правом мгновенно расширить caps способен изменить risk profile быстрее, чем пользователь успеет выйти. Проверяйте не только текущий multisig, но и мета-полномочия: кто назначает curator, кто уменьшает timelock, кто меняет fee recipient и какие действия irrevocably abdicated.
Fee risk проявляется не только в процентах
Performance fee может быть понятной, но vault также способен удерживать management fee, strategist fee, protocol fee, entry/exit fee или implicit execution cost. Некоторые комиссии mint-ят новые shares получателю, размывая долю остальных; другие уменьшают assets. Пользователь должен понимать формулу и момент начисления. Особенно опасна fee-модель, которая берёт комиссию с gross rewards до покрытия предыдущего loss или скрывает расходы внутри strategy swaps, потому что dashboard APY может выглядеть лучше net return.
Accounting/reporting risk возникает, когда valuation запаздывает
Если strategy сообщает profit и loss периодически, между reports PPS может не отражать live state. Ошибка valuation-функции, манипулируемый external price или неверный adapter способны завысить shares новых депозиторов или позволить раннему выходу забрать больше справедливой доли. Поэтому time of report — экономически чувствительная точка. Следует проверять, кто вызывает report, какие данные используются, есть ли profit locking и как система обрабатывает realized loss после периода завышенного NAV.
Approval и integration risk остаются на уровне кошелька
Даже безопасный vault можно потерять через поддельный front-end или вредный spender. Пользователь выдаёт allowance на underlying и подписывает deposit. Если домен подменён, токены уйдут не в проверенный vault. Поэтому контракт адрес и spender сверяют независимо, а экспериментальную стратегию начинают небольшой суммой. Отдельная проверка токена и его контракта также важна, потому что vault с поддельным underlying может имитировать знакомый продукт.
Composability risk умножает зависимости быстрее, чем кажется
Vault → LST → lending → collateral → stablecoin → LP → reward farm может выглядеть как один токен с высоким APY. На деле failure любого звена меняет результат. Correlation рисков часто растёт в кризис: depeg вызывает liquidation, liquidation давит на liquidity, а oracle обновляет цену с задержкой. Поэтому dependency graph должен быть частью анализа. Чем больше recursive layers, тем меньше размер позиции, который разумно считать core-капиталом, даже если все отдельные компоненты известны.
| Риск | Где возникает | Как проявляется | Что проверять |
|---|---|---|---|
| Vault code | Core contract | Потеря/блокировка shares | Audit, source, proxy, invariants |
| Strategy | Yield module | Loss, liquidation | Exposure, leverage, exit |
| External protocol | Downstream DeFi | Bad debt, exploit | Dependencies, caps, history |
| Oracle | Price feed | Mispricing, false action | Feed, freshness, fallback |
| Liquidity | Exit route | Delay, haircut | Idle assets, queue, depth |
| Governance | Roles/admin | Смена профиля риска | Timelock, roles, monitoring |
| Bridge | Cross-chain layer | Frozen/misbacked assets | Bridge design, remote exit |
Как проверить DeFi vault до депозита: технический и экономический due diligence
Due diligence должен заканчиваться не чтением страницы продукта, а воспроизводимой картой on-chain зависимостей. Пользователь фиксирует адреса, права, caps, fee stack и exit route так, чтобы другой человек мог повторить проверку по тем же данным.
Начните с точного contract address и underlying asset
Первый шаг — не APY, а идентичность. Зафиксируйте сеть, vault address и asset() либо эквивалентный underlying. Сверьте их в официальной документации и block explorer. Если vault принимает wrapped или interest-bearing token, продолжайте цепочку до базового актива и redemption mechanism. Нельзя оценивать «USDC vault», не зная, native это USDC, bridged representation или wrapper другого протокола. Подмена underlying меняет и liquidity, и issuer risk, и способность выйти при инциденте.
Проверьте, ERC-4626 ли это и что изменено поверх стандарта
Наличие функций deposit/mint/withdraw/redeem и preview helpers упрощает анализ. Но затем нужно искать custom behavior: fees, gates, paused state, deposit limits, withdrawal restrictions, adapters, queues и role checks. Стандартный интерфейс может скрывать нестандартную экономику. Если vault не ERC-4626, составьте собственную карту входа, share minting и redemption. В обоих случаях цель одинакова — объяснить, как конкретное число underlying превращается в shares и обратно.
Сравните totalAssets, totalSupply и price per share во времени
PPS должен двигаться объяснимо относительно дохода стратегии. Резкий скачок без report, reward или market move требует расследования. Падение PPS может означать realized loss, fee или изменение accounting. Полезно смотреть несколько блоков и моменты report, а не один snapshot. Если totalAssets увеличился от direct donation, нужно понять, кто сделал transfer и как implementation обрабатывает его. Любое несоответствие между dashboard и on-chain accounting — причина уменьшить размер позиции до выяснения.
Полезно строить простую reconciliation-таблицу: стартовый PPS, net deposits/withdrawals, reported profit/loss, fees и конечный PPS. Если изменение стоимости нельзя объяснить этими элементами, ищите дополнительные transfers, strategy migration или accounting event. Такая сверка особенно важна при performance fee, который может mint shares fee recipient. Пользовательский share balance тогда не уменьшается, но процент владения vault размывается. Одного графика PPS недостаточно, если не видно totalSupply и новых shares.
Разберите список strategies и фактическое распределение
Для allocator-vault выпишите каждую strategy и долю assets. Определите, какие внешние протоколы, токены и oracles стоят за ними. Затем сравните current allocation с caps: теоретический максимум риска может быть выше текущей доли. Если manager имеет право быстро переместить 80% капитала в новый рынок, анализ сегодняшнего allocation недостаточен. Важны permitted universe и максимальная экспозиция после разрешённых действий, а не только текущий портфель.
Проверьте curator, allocator, owner и emergency roles
Изучите адреса ролей, multisig threshold, timelock и события последних изменений. Кто может добавить strategy? Кто повышает cap? Кто меняет fees? Кто перестраивает withdraw queue? Кто способен shutdown? Хорошая схема минимизирует полномочия одного hot key. Если управление контролирует один EOA без delay, это отдельный существенный риск даже при качественном коде. Timelock полезен только вместе с публичными events и реальной возможностью выйти до вступления изменения в силу.
Проверьте withdrawal path до внесения денег
Смоделируйте обратный путь заранее. Есть ли idle liquidity? Сколько strategies в queue? Может ли одна из них revert и заблокировать весь вывод? Есть ли cooldown, epoch, external market liquidity или penalty? Попробуйте небольшие previewWithdraw/previewRedeem и, если сумма значима, тестовый deposit→redeem. Это показывает реальную способность vault вернуть underlying. Доходность, которую нельзя безопасно реализовать, не является полноценным результатом.
Для крупного капитала полезен staging: сначала deposit небольшую сумму, затем partial redeem; после этого увеличить позицию только если on-chain result совпал с ожиданием. Тест не покрывает systemic stress, зато проверяет базовые адреса, decimals, approvals, queue и фактический underlying. Если vault использует strategy с cooldown, проведите тест полного цикла заранее, пока market спокоен. Аварийный момент — худшее время впервые узнавать, что withdrawal требует нескольких часов или внешней заявки.
Разберите fee stack построчно
Зафиксируйте performance, management, protocol, strategist, deposit и withdrawal fee, если они есть. Затем добавьте скрытые execution costs: harvest gas, reward swap, slippage, bridge fee, borrowing cost. Переведите всё в одну базовую валюту и посчитайте net yield. Если fee зависит от profit report, изучите high-water mark и accounting loss. Сравнение двух vault по headline APY без fee stack почти всегда некорректно.
Проверьте audit не как значок, а как scope
Найдите audit report, дату, commit и компоненты, которые были в scope. Vault core мог быть проверен, а новая strategy — нет. Adapter, oracle module или bridge integration могли появиться после отчёта. Bug bounty и история ответов на инциденты также важны. Наличие нескольких аудитов снижает неопределённость, но не гарантирует отсутствие economic exploit. Особенно внимательно смотрят на share accounting, reentrancy, role changes, price manipulation и external calls.
Проверьте источник APY и отделите realised от projected
Узнайте, какая доля доходности уже заработана, а какая экстраполирована из текущей короткой ставки. Если APY построен на reward-token, изучите emission и глубину рынка. Если на lending — utilization и borrow rate. Если на LP — объём и IL. Если на leverage — borrowing cost. Историческая доходность должна сопровождаться drawdown и изменениями стратегии. Чем больше APY зависит от временного subsidy, тем меньше оснований считать его устойчивой характеристикой vault.
Сделайте dependency map и назначьте stop-conditions
Перед депозитом запишите цепочку зависимостей: chain, vault core, strategy, external protocol, oracle, bridge, token issuer, keeper, governance. Для каждого элемента определите событие, после которого позиция пересматривается: upgrade, cap increase, oracle migration, depeg, strategy loss, pause, bridge halt, резкое падение liquidity. Такой список превращает мониторинг в процесс. Без него пользователь узнаёт об изменении риска только после того, как APY или баланс уже изменились.
| Проверка | Минимальный вопрос | Красный флаг |
|---|---|---|
| Asset | Что реально депонирую и что получаю назад? | Непонятный wrapper/bridge |
| Shares | Как считается PPS? | Необъяснимые скачки |
| Strategies | Куда вложены assets? | Скрытый leverage/новый protocol |
| Roles | Кто меняет риск? | Один hot EOA без delay |
| Fees | Сколько остаётся net? | Непрозрачная многоуровневая fee |
| Exit | Как вернуть underlying? | Нет тестируемого route |
| Audit | Что было проверено? | Audit не покрывает текущую strategy |
Практические сценарии: как один и тот же vault меняет риск в зависимости от стратегии
Сценарии показывают, почему одинаковая оболочка vault ведёт себя по-разному. Stablecoin allocator, LP auto-compound, leveraged loop и cross-chain strategy используют схожую share-модель, но у каждого свой источник дохода, ликвидность и путь к стрессу.
Stablecoin lending allocator: низкая волатильность актива не означает низкий системный риск
Представим vault, который принимает один stablecoin и распределяет его между несколькими lending markets. На поверхности позиция выглядит почти денежной: underlying стабилен, price per share плавно растёт, APR умеренный. Но реальный риск состоит из качества collateral в каждом market, oracle, liquidation liquidity, borrow utilization, caps и curator decisions. Если один рынок принимает слабый collateral, allocator способен увеличить экспозицию к нему в пределах cap. Поэтому анализируют не только актив депозита, но и кредитные риски downstream-заёмщиков.
Сделайте отдельный stress по stablecoin issuer и collateral. Если deposit asset держит peg, но крупный downstream collateral теряет 30–50%, система должна быстро ликвидировать заёмщиков без bad debt. Если сам deposit stablecoin depeg, PPS в token units может выглядеть стабильным, а покупательная стоимость капитала снизится. Поэтому risk report одновременно отслеживает unit balance, market value и redemption quality. «1 share вырос до 1,03 USDC» мало значит, если сам USDC временно стоит существенно ниже ориентира.
LP auto-compound vault: комиссии могут скрывать убыток относительно HODL
Vault автоматически предоставляет ликвидность в паре, собирает swap fees и реинвестирует их. Dashboard показывает положительный yield, но если относительная цена токенов сильно разошлась, LP-позиция могла отстать от простого хранения. Auto-compound увеличивает количество LP exposure и не отменяет impermanent loss. Для честной оценки сравнивают value vault с benchmark из тех же underlying assets. Если fees + incentives не покрывают divergence loss и расходы, высокий APY не означает лучшую экономику.
Concentrated-liquidity vault: автоматический ребаланс может увеличивать turnover
Активная стратегия держит ликвидность в узком диапазоне и переставляет position, когда цена уходит. Узкий range повышает fee efficiency, но требует частых swaps и rebalance. В волатильном рынке vault способен постоянно покупать один актив дороже и продавать другой дешевле, накапливая execution losses. Следует смотреть turnover, rebalance rules и net performance после gas/slippage. Сложный алгоритм управления range не гарантирует превосходства над простой пассивной LP-позицией.
LST vault: yield базового staking складывается с depeg и integration risk
Vault принимает liquid staking token, затем использует его в lending или LP. Пользователь получает staking yield плюс дополнительный доход стратегии. Но один и тот же LST становится точкой концентрации: его depeg одновременно снижает NAV, ухудшает collateral и может вызвать массовый выход. Если redemption базового staking требует времени, market liquidity становится критичной. Нужно знать, какая часть дохода действительно новая, а какая уже встроена в рост exchange rate LST, чтобы не считать один reward дважды.
Leveraged loop vault: доходность исчезает при изменении spread
Стратегия вносит collateral, занимает stablecoin, снова размещает его и повторяет цикл. Пока supply yield + incentives выше borrow rate, spread положителен. Но borrow rate может вырасти быстрее доходности, а collateral price — снизиться. Автоматический deleverage часто требует swaps в стрессовом рынке, где slippage повышен. Пользователь должен видеть leverage ratio, liquidation buffer и условия unwind. Если интерфейс показывает только APY без borrow cost и health metric, этого недостаточно для оценки.
Cross-chain vault: высокая доходность может быть компенсацией за bridge risk
Vault отправляет активы на другую сеть, где доступна более высокая ставка. Пользователь сохраняет shares в исходной сети, а strategy учитывает remote assets через сообщения. Если bridge или messaging остановлены, локальный vault может знать стоимость позиции, но не иметь доступа к ликвидности. Дополнительный yield нужно сравнивать с новым failure domain. Чем меньше разница доходности между local и remote strategy, тем труднее оправдать усложнение маршрута.
Cross-chain accounting требует ещё одной проверки: насколько свежа информация о remote assets и кто может обновлять её. Если local PPS зависит от сообщения из другой сети, задержка может временно показывать старое значение. При аварии bridge возможно расхождение между бухгалтерской стоимостью и доступностью средств. Поэтому stop-condition должен включать не только exploit, но и длительную остановку messaging/withdrawals, даже если формального loss ещё нет. Liquidity risk появляется раньше окончательной оценки solvency.
Reward-token collapse: APY падает быстрее, чем успевает обновиться интерфейс
Стратегия получает токен incentives, который долго торговался по высокой цене. При резком падении reward-token исторический APY ещё выглядит привлекательным, но будущий cash flow уже меньше. Vault продолжает harvest, а каждый swap reward→underlying происходит по худшей цене. Если liquidity награды тонкая, крупный vault сам усиливает price impact. Пользователь сравнивает realised reward per share и market depth, а не только annualized rate из последнего короткого периода.
Strategy loss: один report способен резко изменить PPS
External protocol получает убыток или strategy фиксирует неудачный unwind. До report PPS остаётся прежним, затем loss переносится в accounting и share value снижается. Если vault использует profit locking, часть эффекта может распределяться по времени, но loss всё равно экономически принадлежит держателям. Важно понимать, может ли новый depositor войти по завышенному PPS перед report или ранний withdrawer выйти до признания loss. Это вопрос fair accounting, а не только красивого интерфейса.
Illiquid withdrawal: vault платёжеспособен на бумаге, но не ликвиден сейчас
TotalAssets равен 10 млн, однако 9,8 млн находятся в strategies, из которых половина требует cooldown или зависит от заёмщиков. Одновременный вывод 30% shares заставляет vault проходить queue и освобождать активы. Часть транзакций может revert или исполняться с loss. Это типичный пример различия solvency и liquidity. Пользователь должен заранее знать stress redemption, а не считать totalAssets доказательством мгновенной доступности всей суммы.
Governance migration: профиль риска меняется без нового deposit
Сегодня vault размещает capital в консервативных markets. Через неделю curator предлагает новую strategy с более высоким yield, а timelock позволяет активировать её через несколько дней. Пользователь ничего не подписывает, но его shares теперь представляют другой risk mix. Поэтому governance monitoring — часть владения vault. Если вкладчик не готов отслеживать изменения, ему подходит только архитектура с узкими immutable bounds или минимальной возможностью смены strategy.
Перед каждой значимой migration сравнивайте «до» и «после» как две разные стратегии: contracts, audits, roles, fee model, withdrawal path и external dependencies. Не полагайтесь на бренд continuity. Если старый vault остаётся доступным, можно сознательно не мигрировать, пока новая версия не накопит историю. Если migration обязательна, заранее выясните, можно ли выйти в underlying вместо автоматического переноса shares. Право отказаться от новой risk configuration — важная часть контроля пользователя.
Inflation/donation scenario: новый vault опаснее зрелого при слабой защите
В почти пустом ERC-4626 vault attacker получает первую share-позицию и прямым donation меняет exchange rate. Следующий маленький depositor из-за округления получает слишком мало shares. Современные реализации используют virtual offsets и другие меры, но пользователь должен знать, что риск связан именно с accounting нового vault. TVL и возраст здесь важны как контекст, а не как полная защита. Для неизвестной implementation первый deposit требует дополнительной осторожности.
Nested vault failure: внешний слой не исправляет loss внутреннего
Allocator держит shares другого vault, который сам размещает актив в lending strategy. Если внутренний vault фиксирует loss, внешний получает меньше redeemable assets. Даже без ошибки внешнего кода его PPS падает. Кроме того, withdrawal внешний слой должен сначала redeem внутренние shares. Такой design удобен для composability, но увеличивает latency и делает forensic analysis сложнее. Dependency graph должен доходить до конечного рынка, collateral и oracle.
| Сценарий | Что выглядит привлекательно | Скрытый риск | Главный контроль |
|---|---|---|---|
| Stablecoin allocator | Стабильный asset и плавный APY | Bad debt downstream | Caps и collateral quality |
| LP auto-compound | Fees + compound | Impermanent loss | Benchmark vs HODL |
| Leveraged loop | Высокий spread | Liquidation | Leverage и unwind |
| Cross-chain | Больше источников yield | Bridge/message halt | Remote exit path |
| Reward farming | Высокий APY | Token dilution/liquidity | Realized reward value |
| Nested vault | Composability | Recursive dependencies | Full dependency graph |
Как управлять позицией после депозита: мониторинг, лимиты и план выхода
После депозита работа не заканчивается. Vault способен менять allocations, принимать новые reports, накапливать fees и проходить governance migrations, поэтому позиция требует периодической сверки с исходным risk budget и планом выхода.
Размер позиции должен учитывать число зависимостей
Чем сложнее vault, тем меньше оснований использовать его как единственное место хранения капитала. Single-strategy lending vault на зрелом рынке и cross-chain leveraged allocator имеют разный blast radius. Размер позиции задают не только по обещанной доходности, а по максимальному допустимому ущербу при одновременном failure нескольких слоёв. Общий подход к sizing разобран в статье OneMagic о выборе суммы криптопозиции: экспериментальный DeFi-слой должен быть переживаемым для всего портфеля.
Сразу после deposit сохраните on-chain baseline
Запишите TxID, количество внесённого asset, полученные shares, PPS/convertToAssets, totalAssets и основные allocations. Этот snapshot нужен не для бухгалтерской красоты, а для диагностики. Если через месяц dashboard показывает меньшую стоимость, вы сможете отделить изменение strategy от ошибок интерфейса. Также сохраняют адрес vault и network, потому что похожие продукты могут существовать в нескольких сетях с разными контрактами.
Baseline стоит хранить в одной базовой валюте и в token units. Долларовая стоимость меняется вместе с рынком, а token accounting показывает работу vault. Например, shares могут приносить больше underlying ETH, но стоимость в долларах падает из-за цены ETH. Без двух измерений пользователь ошибочно приписывает market move качеству стратегии. Для stablecoin дополнительно фиксируют peg price и redemption assumptions, чтобы отличать доход vault от изменения самого base asset.
Мониторьте не только APY, но и composition
Еженедельная или иная разумная проверка должна смотреть текущие strategies, allocations, caps, idle ratio, fees и governance changes. APY может оставаться стабильным, пока vault постепенно переносит capital в более рискованные рынки. Composition даёт ранний сигнал. Если новая strategy появилась без вашего первоначального анализа, её оценивают как новый инвестиционный объект и решают, соответствует ли она прежнему risk budget.
PPS и totalAssets нужно читать вместе с reports
Рост PPS сам по себе положителен, но важно понимать источник. Сопоставляйте его с strategy reports, reward harvest и market conditions. Резкий jump или drop расследуется до следующего deposit. Если accounting отчётный, фиксируйте время последнего report и возможную задержку между реальным PnL и отражением в vault. Это особенно важно около крупных migrations, strategy unwind и инцидентов downstream-протокола.
Alerts должны быть привязаны к риску, а не только к цене токена
Полезны события role changes, upgrades, cap increases, strategy additions, pause/shutdown, oracle changes, large withdrawals и abnormal PPS movement. Для LP-vault дополнительно мониторят range и liquidity; для lending — utilization/bad debt; для leveraged — health metric. Один price alert underlying не покрывает инфраструктурные изменения. Vault может стать опаснее при неизменной цене asset, если governance расширил разрешённую стратегию.
Stop-condition формулируется до кризиса
Примеры: неподтверждённый upgrade, снижение audit coverage, добавление неизвестной strategy, bridge incident, persistent withdrawal delay, oracle migration без понятного fallback, depeg ключевого wrapper, loss report выше заранее установленного порога. Stop-condition не означает автоматическую продажу при любом событии; он означает обязательную переоценку и запрет на новый capital до решения. Это защищает от постепенного привыкания к ухудшению условий.
Для каждого trigger назначьте конкретное действие: только запрет новых deposits, уменьшение позиции, полный exit или ожидание расследования. Это снижает вероятность панических решений. Например, audit issue без exploit может требовать паузы новых средств; confirmed unauthorized upgrade — немедленной проверки выхода; временный APY drop — вообще не требовать действия. Stop-condition эффективен только вместе с заранее определённой severity и источником подтверждения факта.
Exit plan должен учитывать gas и доступность underlying
Если emergency withdrawal требует несколько транзакций, оставьте native gas token на кошельке. Проверьте, можно ли redeem shares напрямую через contract, если front-end недоступен. Если underlying после выхода тоже является wrapper или LP token, знайте следующий шаг redemption. Хорошая стратегия заканчивается не «получить shares обратно», а получить выбранный базовый актив в доступном кошельке и проверить фактический balance.
Тестовый partial withdrawal полезнее предположений
Периодически небольшой redeem проверяет, что allowance/approval не требуется неожиданно, queue работает, интерфейс и direct contract совпадают, а underlying приходит в ожидаемом количестве. Такой тест не гарантирует крупный stress exit, но обнаруживает простые проблемы раньше. Если даже небольшой вывод требует необычных действий или стороннего bridge, это повод заново оценить операционный риск всей позиции.
Не реинвестируйте доход автоматически вне общего risk budget
Vault сам compounding-ит yield, поэтому позиция может постепенно вырасти относительно портфеля. Успешная стратегия увеличивает абсолютный капитал под тем же smart-contract risk. Раз в период сравнивайте долю vault с исходным лимитом. Часть прибыли можно выводить или перераспределять, если концентрация стала слишком большой. Compounding математически повышает капитал, но не повышает безопасность контракта.
Incident response начинается с проверки фактов, а не Telegram
При необычном PPS, pause или слухе сначала проверяют официальный governance, on-chain events, contract state и status downstream protocol. Не вводите seed phrase в «аварийную форму» и не подписывайте rescue transaction от неизвестного аккаунта. Базовые принципы защиты кошелька собраны в OneMagic гайде по защите криптокошелька. В DeFi-инциденте мошенники часто используют настоящий страх вокруг протокола для отдельной фишинговой атаки.
| Что мониторить | Нормальный сигнал | Тревожный сигнал | Действие |
|---|---|---|---|
| Strategies | Понятные allocations | Новая неизвестная strategy | Пауза новых deposit |
| PPS | Плавно объяснимое изменение | Резкий необъяснимый jump/drop | Проверить reports/accounting |
| Roles | Ожидаемые multisig/timelock | Hot-key/upgrade change | Пересчитать risk |
| Liquidity | Стабильный partial redeem | Withdrawal delay/revert | Тест exit и reserve |
| Fees | Соответствуют docs | Необъяснимое dilution | Проверить share mint/events |
| Dependencies | Рабочие protocols | Pause/depeg/oracle issue | Применить stop-condition |
Когда DeFi vault полезен, а когда автоматизация только маскирует лишний риск
Финальное решение строится на полезности автоматизации. Vault оправдан, когда он измеримо снижает операционные издержки или улучшает управление риском; если он лишь добавляет обёртку и fee поверх простой позиции, дополнительный контрактный слой может быть лишним.
Vault полезен, когда автоматизация экономит реальные транзакционные издержки
Если стратегия требует регулярного harvest, swap rewards и reinvest, коллективный vault способен выполнять операции эффективнее, чем сотни отдельных пользователей. Gas распределяется на больший capital base, а правила становятся воспроизводимыми. Пользователь получает удобную share-позицию вместо ручного набора действий. Это реальное преимущество, если underlying strategy понятна, execution проверяем и fee ниже экономии. Автоматизация должна сокращать стоимость процесса, а не просто добавлять ещё один токен.
Allocator полезен, когда risk bounds важнее ручного поиска максимальной ставки
Хороший allocator не гонится за каждым новым APY, а распределяет capital между заранее одобренными рынками с caps. Тогда curator/allocator layer может улучшить diversification и liquidity management. Но ценность существует только при ясной методологии и ограничениях. Если менеджер способен без задержки отправить весь vault в экспериментальный protocol, это не risk-managed aggregation, а делегированная активная стратегия с широкими полномочиями.
Vault хуже прямой позиции, если strategy слишком проста
Если underlying strategy — просто держать один interest-bearing token без harvest и сложных действий, дополнительный vault может не создавать достаточной ценности. Пользователь получает ещё один smart contract, ещё одну fee-модель и дополнительный redemption layer. Иногда прямое владение underlying yield token прозрачнее. Нужно сравнивать не количество функций, а то, какую конкретную проблему vault решает: gas, auto-compound, allocation, risk caps, accounting или удобство доступа.
Сравнение должно включать counterfactual: что бы произошло, если держать underlying напрямую или использовать базовый protocol без vault. Затем учитывают дополнительные yield, fees, gas savings и risk layers. Если vault добавляет 0,5 процентного пункта ожидаемого дохода, но вводит upgradeable manager, новый smart contract и withdrawal queue, решение не очевидно. Автоматизация оправдана, когда экономия и дополнительная функция измеримы, а не потому, что интерфейс выглядит профессиональнее.
Высокий APY не оправдывает непрозрачную стратегию
Если невозможно объяснить доход без фразы «бот сам ищет лучшие возможности», анализ не завершён. Должны быть известны permitted protocols, максимальный leverage, токены rewards, oracle dependencies и exit route. Непрозрачность не является альфой. Она лишь мешает оценить, кто принимает решение и какой loss возможен. Чем выше ставка относительно простых альтернатив, тем важнее понять, какой риск рынок компенсирует.
Автоматизация не заменяет due diligence пользователя
Vault может автоматически управлять капиталом после deposit, но решение о доверии принимает владелец shares. Контракт не знает его финансовой цели и допустимого ущерба. Он не уменьшит позицию потому, что пользователь потерял работу или изменил горизонт. Поэтому risk budget, сроки и stop-conditions остаются внешними к vault. Удобный продукт не снимает ответственность за проверку архитектуры и мониторинг крупных изменений.
Много стратегий не всегда означает диверсификацию
Пять strategies могут зависеть от одного stablecoin, одного oracle или одного lending protocol. Формально allocations разные, экономически failure domain общий. Корреляция особенно проявляется в стресс: depeg одного collateral запускает liquidations сразу в нескольких рынках. Для настоящей diversification анализируют underlying dependencies и shared infrastructure, а не число строк в dashboard. Иногда один простой strategy менее рискован, чем пять связанных между собой.
Удобная практика — сгруппировать exposures по failure domain. Все strategies, зависящие от одного stablecoin, складываются в одну строку issuer risk; все, использующие один bridge, — в bridge exposure; все, зависящие от одного oracle provider или chain, — в infrastructure exposure. После такой агрегации «десять стратегий» иногда превращаются в две реальные группы риска. Именно агрегированная концентрация должна влиять на position limit.
Старый vault не обязательно безопаснее новой implementation
Долгая история без инцидентов полезна, но upgrade, new strategy или смена governance могут обнулить часть track record. Анализ привязан к конкретной версии кода и разрешённой конфигурации. Если protocol мигрировал с v2 на v3, нельзя переносить репутацию механически. Сравните architecture, audits и roles новой версии. Возраст бренда и возраст контракта — разные величины.
Самый важный показатель — не APY, а воспроизводимость выхода
Доход имеет смысл, только если пользователь может преобразовать shares в underlying по понятной процедуре. Поэтому финальный вопрос due diligence звучит так: что должно произойти on-chain, чтобы я полностью вышел, и какие внешние компоненты должны работать? Если ответ включает несколько неизвестных bridge, opaque manager и illiquid token, даже высокий исторический return не компенсирует неопределённость для core-капитала.
Проведите exit rehearsal в нормальном рынке и документируйте последовательность: redeem shares, получить underlying, при необходимости unwrap, дождаться cooldown, выполнить bridge, проверить final balance. Если маршрут содержит manual keeper или governance approval, это должно быть известно заранее. Чем больше шагов, тем больше operational latency и вероятность, что один компонент будет недоступен во время стресса. Хороший vault не только генерирует yield, но и имеет понятный lifecycle до конечного актива.
Практический критерий качества — объяснимый net PnL
Хороший vault позволяет разложить изменение позиции на underlying yield, rewards, fees, strategy PnL и execution costs. Если баланс вырос, понятно почему; если упал, понятно где возник loss. Такая accounting transparency ценнее маркетинговой доходности. Пользователь может сравнить vault с простой альтернативой и принять осмысленное решение. Невозможность объяснить PnL — сигнал того, что стратегия слишком сложна для доступного уровня контроля.
Итог: vault — это автоматизированный портфель контрактов, а не кнопка Earn
DeFi vault полезно рассматривать как программируемый фонд без привычной юридической оболочки: assets поступают в контракт, shares фиксируют долю, strategy ищет доход, manager/allocator действует в пределах полномочий, а redemption возвращает underlying. Пользователь выигрывает от automation и composability, но принимает совокупный риск каждого слоя. Чем сложнее система, тем важнее небольшая стартовая сумма, проверяемая accounting-модель, ограниченные роли, прозрачный exit и готовность отказаться от лишнего APY ради понятности.
| Вопрос | Vault оправдан | Vault сомнителен |
|---|---|---|
| Что автоматизирует? | Harvest, allocation, risk bounds | Ничего кроме дополнительной обёртки |
| Доход понятен? | Есть первичный cash flow | Только headline APY |
| Роли ограничены? | Caps + timelock + разделение | Один ключ меняет всё |
| Exit воспроизводим? | Понятный redeem и liquidity | Неясная очередь/bridge |
| Accounting прозрачен? | PPS и PnL объяснимы | Неясные скачки NAV |
| Dependency graph известен? | Да, можно перечислить | Скрытые recursive layers |

