Интеграция с Gamma Strategies (управление ликвидностью)
Уniswap v3 позиция в диапазоне ±5% от текущей цены зарабатывает в 10-20 раз больше fees, чем full-range позиция, но выходит из диапазона при первом же серьёзном движении рынка. После этого LP перестаёт зарабатывать и сидит в 100% одном токене. Gamma Strategies решает эту проблему через автоматический rebalancing — контракты-vault, которые управляют позицией Uniswap v3 и переставляют диапазон при необходимости. Интеграция с Gamma позволяет добавить managed liquidity в протокол, не реализуя собственный rebalancer.
Что нужно знать перед интеграцией
Hypervisor: интерфейс Gamma
Gamma оборачивает Uniswap v3 позицию в контракт Hypervisor — ERC-20 token, представляющий долю в managed позиции. Пользователь вызывает deposit(uint256 deposit0, uint256 deposit1, address to, address from, uint256[4] minIn), получает LP-токены Hypervisor. minIn[4] — защита от slippage: минимальные принятые суммы обоих токенов.
Главная ошибка при интеграции: игнорировать minIn. Если передать [0, 0, 0, 0], депозит успешно исполнится при любом проскальзывании — пользователь получит меньше shares, чем ожидал. При volatile рынке это значительные потери. Правильный подход: fetch текущий ratio через getTotalAmounts(), рассчитать minIn с допуском 0.5-1%, передать в deposit.
Rebalance timing и impermanent loss
Gamma перебалансирует позицию по стратегии vault — обычно при выходе цены за пределы диапазона или при значительном изменении volatility. Rebalance происходит через вызов rebalance(int24 _baseLower, int24 _baseUpper, int24 _limitLower, int24 _limitUpper, address _feeRecipient, Rebalance calldata swapConfig) от Gamma keeper.
Для протокола-интегратора это означает: NAV позиции может momentarily снизиться в момент rebalance из-за swap costs. Если в этот момент пользователь делает redeem — он выходит по временно сниженной цене. Мониторинг через Rebalance события Hypervisor позволяет предупреждать пользователей.
Visor → Gamma: версии и deprecated контракты
Gamma прошла несколько версий. Старые Visor Hypervisor контракты на Ethereum имели уязвимость в управлении через emergencyWithdraw без proper access control — в 2022 году это привело к взлому на $3.4M. Актуальные контракты прошли аудит и используют UniProxy для маршрутизации депозитов с проверкой белых списков. При интеграции убеждаемся, что используем актуальные адреса из официального Gamma registry, а не hardcoded старые адреса.
Техническая реализация интеграции
On-chain: deposit через UniProxy
Рекомендованный путь — через UniProxy.deposit(), а не напрямую к Hypervisor. UniProxy проверяет:
- Что Hypervisor находится в whitelist Gamma
- Что ratio депозита соответствует текущему составу позиции
- Применяет автоматический split: если пользователь вносит только token0, UniProxy свапает часть на token1 через Uniswap v3 и депозитит в правильном ratio
IUniProxy(UNIPROXY).deposit(
amount0, amount1,
msg.sender, // recipient of LP tokens
hypervisorAddress,
minAmounts // [min0, min1, minShares0, minShares1]
);
Approve нужен на UniProxy адрес, не на Hypervisor — частая ошибка, приводящая к revert.
Off-chain: APR расчёт и мониторинг
Gamma предоставляет REST API для актуальных данных по Hypervisor: GET /hypervisor/{address}/basicStats — TVL, APR, fee APR, total amounts. Для dashboard интеграции этого достаточно.
Для точного on-chain расчёта: Hypervisor.getPrice() возвращает текущий sqrtPriceX96, getTotalAmounts() — актуальные token0/token1 суммы. Shares → underlying через (shares * totalAmounts) / totalSupply.
The Graph subgraph от Gamma — https://api.thegraph.com/subgraphs/name/gammastrategies/gamma — предоставляет исторические данные по rebalancing и fee collection.
Процесс работы
Аналитика (1 день). Определяем нужные Hypervisor vault'ы по целевым парам и чейнам. Gamma поддерживает Ethereum, Polygon, Arbitrum, Optimism, BSC.
Разработка (2-3 дня). Smart contract интеграция через UniProxy, frontend hooks для deposit/withdraw/APR, тесты на fork mainnet.
Мониторинг. Алерты на Rebalance события (временный NAV dip), мониторинг whitelist статуса Hypervisor (теоретически может быть изменён Gamma governance).
Ориентиры по срокам
Базовая интеграция с одним Hypervisor vault — 2-3 дня. Полноценный UI с мультипарой, APR отображением и rebalance нотификациями — 4-6 дней.
Стоимость рассчитывается после анализа требований к интеграции.







