Разработка системы сравнения APY/APR DeFi-протоколов

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1305 услуг
Разработка системы сравнения APY/APR DeFi-протоколов
Средний
~3-5 дней
Часто задаваемые вопросы

Направления блокчейн-разработки

Этапы блокчейн-разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1361
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1251
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    957
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1189
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    646
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    929

Разработка системы сравнения APY/APR протоколов

Пользователь видит на Aave 4.2% APY на USDC, на Compound 5.1% APR, на Morpho 5.8% c rewards токенами. Но цифры несопоставимы: Aave считает compound interest, Compound — простую ставку, Morpho добавляет MORPHO вознаграждения. На одном проекте для DeFi-агрегатора мы обнаружили, что поставщики данных выдавали APY и APR вперемешку, а rewards искажали картину до 7% разницы. После нормализации и внедрения risk-adjusted score клиент увеличил TVL своего пула на 35% за счёт точного отображения доходности. Система также сэкономила команде по 15 часов ручного анализа в неделю — это позволило быстрее реагировать на изменения рыночных условий.

Мы разработали систему, которая нормализует метрики к единому стандарту — Daily APR — и показывает реальную доходность с учётом всех факторов. В основе лежат on-chain данные, Multicall3 батчинг и историческая агрегация. На практике разница в представлении доходности может вводить в заблуждение даже опытных LP. Корректная нормализация — первый шаг к объективному сравнению пулов.

Проблема сравнения метрик

APR — простая ставка без реинвестирования. APY — с учётом compound effect. Разница при частом начислении существенна:

APY = (1 + APR/n)^n - 1

На Ethereum при APR = 10% и начислении каждый блок (≈ 2190 раз/год) APY ≈ 10.52%. Для корректного сравнения система нормализует всё в Daily APR — делим годовую ставку на 365. Пользователю показываем APY, внутри считаем в Daily APR.

Сравнение метрик для наглядности:

Параметр APR APY
Учёт реинвестирования Нет Да
Типичное использование Кредитование Депозиты
Пример (10% годовых, дневная капитализация) 10% 10.52%

Многие протоколы поверх базовой ставки платят собственные токены (COMP, AAVE, MORPHO). Мы показываем base APY (без rewards) и total APY (с rewards) раздельно. Для reward-токенов учитываем текущую цену через oracle (Chainlink) — волатильна, может упасть к моменту claim, а также vesting/lock (AAVE Safety Module вестируется 10 дней) и emission decay. Пользователь сам решает, учитывать ли нестабильные rewards.

Получение данных on-chain: каждый протокол предоставляет данные по-своему. Мы используем Multicall3 для батчинга: 1000 отдельных вызовов упаковываются в одну транзакцию. Это в 100 раз эффективнее последовательных запросов и экономит газ.

Пример для Aave V3:

const calls = protocols.flatMap(protocol => 
  assets.map(asset => ({
    target: protocol.address,
    callData: protocol.interface.encodeFunctionData("getReserveData", [asset])
  }))
);
const results = await multicall.aggregate(calls);

Для исторических данных используем официальные субграфы (The Graph) Aave, Compound. Для протоколов без субграфа — собственный event indexer.

Архитектура системы

Слой сбора данных

On-chain вызовы дорогие (RPC requests). При 10 протоколах × 20 assets × 5 метрик = 1000 calls при каждом обновлении. Решение: Multicall3 батчинг — все calls в одну транзакцию. Что входит в нашу работу:

  • Разработка адаптеров для каждого протокола (типовые контракты + кастомные)
  • Настройка кэширования: Redis (TTL 60 сек) для текущих ставок, PostgreSQL — часовые снепшоты
  • Real-time обновления через WebSocket (при наличии событий)
  • Background job каждые 60 секунд fetches on-chain данные

Как мы гарантируем точность метрик?

Мы проверяем формулы по официальной документации протоколов — Aave, Compound. Каждый адаптер проходит unit-тесты с использованием Tenderly fork. Результаты сверяются с данными Etherscan и Dune Analytics.

Историческая динамика

Текущий APY — моментальный снимок. Для принятия решений нужна история: moving average (7d, 30d), волатильность (std dev APY), min/max за период. Volatile APY (меняется в 5x диапазоне за месяц) — другой профиль риска, чем stable APY (±0.5%). Пример расчёта волатильности: за 30 дней APY колебалась от 3.2% до 7.8%. Стандартное отклонение — 1.4%. Это сигнал о нестабильной доходности, часто из-за reward-эмиссии.

Ранжирование и сравнение

Просто отсортировать по APY — недостаточно. Система предлагает фильтры:

  • Только stable APY (волатильность < 0.5% за 30 дней)
  • Только audited протоколы (проверенные аудиты)
  • Минимальный TVL (исключаем маленькие пулы)

Пользователь сам взвешивает приоритеты — единый score не навязывается.

Какие протоколы поддерживаются по умолчанию?

Поддерживаем основные рынки и пулы:

Протокол Тип Сеть Активы
Aave V3 Lending Ethereum, Polygon, Arbitrum USDC, USDT, WETH, WBTC
Compound V3 Lending Ethereum, Polygon USDC, WETH
Morpho Aggregator Ethereum USDC, WETH, DAI
Curve AMM Ethereum, Polygon USDC, DAI, FRAX
Pendle Yield Ethereum, Arbitrum USDC, wstETH
Uniswap V3 AMM Ethereum, Polygon, Arbitrum WETH/USDC, WETH/DAI

По запросу добавляем любой EVM-протокол с кастомным адаптером.

Как мы нормализуем APY пошагово

  1. Получаем raw-данные из контракта протокола через Multicall3 (одна батч-транзакция).
  2. Извлекаем базовую ставку и параметры награждения (reward per second, oracle price).
  3. Пересчитываем в единый формат: конвертируем APR в APY с частотой капитализации протокола.
  4. Для reward-токенов вычисляем тотальный APY с учётом текущей цены и вестинга.
  5. Записываем снепшот в историческую базу и обновляем Redis-кеш (TTL 60 сек).

Этот процесс повторяется каждую минуту автоматически.

Что входит в работу

  • Адаптеры для каждого протокола (типовые + кастомные)
  • REST API с документацией (OpenAPI)
  • Исторический индекс (часовые снепшоты в PostgreSQL)
  • UI-компоненты для Next.js (Recharts, TanStack Query)
  • Юнит-тесты и интеграционные тесты на Tenderly fork
  • Инструкция по развёртыванию и эксплуатации
  • Поддержка в течение 30 дней после запуска

Технический стек

  • Backend: Node.js + TypeScript, Viem (on-chain), PostgreSQL, Redis, Bullmq
  • Frontend: Next.js, TanStack Query, Recharts / Tremor
  • Инфраструктура: Docker Compose, GitHub Actions, Tenderly для forking

Сроки: MVP с 3-5 протоколами, текущие rates — 3-5 дней. Полноценная система с историей, фильтрами и визуализацией — 2-3 недели. Стоимость рассчитывается индивидуально. Свяжитесь с нами для оценки вашего проекта. Закажите демо-версию, чтобы увидеть нормализованные метрики ваших протоколов.

Наш опыт — 5+ лет в Web3, 50+ интеграций DeFi-протоколов. Гарантируем корректность расчётов и соответствие on-chain данным.

Разработка DeFi-протоколов

Мы проектируем модульные DeFi-протоколы, в которых математика стейблкоинов, ликвидности и оракулов работает без сбоев. Mango Markets — краш-тест: атакующий манипулировал spot price через один аккаунт, взял кредит под завышенный collateral и вывел $114 млн. Оракул брал цену с единственного источника без TWAP. Не баг в коде — это архитектурное решение, которое стало уязвимостью. Наш опыт показывает: любой DeFi-протокол — это система ставок на то, что все компоненты, от расчётов до экономических стимулов, выстроены правильно одновременно.

Мы не пишем код под «если всё работает, не трогай». Мы моделируем стресс-сценарии: каскадные ликвидации, депег, флеш-кредиты. И только после этого — события, которые не сломают протокол.

Почему оракулы — критический компонент DeFi?

Большинство крупных взломов DeFi начинались с манипуляции оракулом. Разберём три слоя, которые мы используем в каждом проекте.

Spot price как оракул — не вариант. Uniswap v2 spot price можно сдвинуть flash loan за одну транзакцию. Цена в конце блока — единственное, что попадает в state, её и читает оракул. Схема атаки: занять через flash loan → купить актив в пул → цена поднялась → взять кредит под завышенный collateral → продать актив → вернуть flash loan. Одна транзакция.

TWAP как защита. Uniswap v3 observe() усредняет цену за период (30 минут). Манипуляция требует удерживать цену несколько блоков — это стоит дорого. Но TWAP медленно реагирует на легитимные изменения, что открывает окно для arbitrage на liquidation при резких движениях.

Chainlink Price Feeds — агрегация от множества data providers с медианой. Стандарт для lending. Проблема: heartbeat 1–24 часа и deviation threshold 0.5%. Если цена не двигается, фид может не обновляться сутки. В волатильном рынке — lag.

Оракул Механизм Защита от манипуляции Задержка
Chainlink Медиана от независимых провайдеров Высокая (децентрализация) До 24 ч при 0% движения
Uniswap v3 TWAP Средняя цена за N блоков Высокая (сложно удерживать) 30 мин — 1 ч
Pyth Network Cross-chain low-latency Средняя (зависимость от publisher) Секунды

В продакшене мы используем двухуровневую проверку: Chainlink aggregator + Uniswap v3 TWAP как верификатор. Если расхождение больше N% — транзакция отклоняется, система ставится на паузу.

Как защитить DeFi-протокол от flash loan атак?

Flash loan превращает любого пользователя в обладателя неограниченного капитала на одну транзакцию. Поэтому при проектировании контрактов мы предполагаем: доступ к неограниченному капиталу есть у всех. Это меняет threat model полностью.

Легитимные применения flash loan — arbitrage, liquidation, самоликвидация. Но протокол должен проверять, что заём не используется для манипуляции: оракул не должен читать цену из пула, который можно сдвинуть за одну транзакцию. Мы добавляем проверки на block.timestamp и минимальную глубину ликвидности.

Ключевые компоненты DeFi-архитектуры

Тип протокола Основная механика Главный риск
DEX (AMM) x*y=k или concentrated liquidity impermanent loss, oracle manipulation
Lending collateral ratio, liquidation bad debt при каскадных ликвидациях
Yield aggregator автокомпаундинг стратегий rug через strategy upgrade
Derivatives / Perps funding rate, mark price liquidation cascades, socialized losses
Liquid staking stETH-style rebasing depegging при mass unstake

AMM: от x*y=k до concentrated liquidity

Uniswap v2 использует x * y = k. LP-токены ERC-20 — каждый пул выпускает свой токен пропорционально доле. Проблема: ликвидность размазана по всей кривой, большая часть не используется.

Uniswap v3 и позиции ERC-721: concentrated liquidity — LP предоставляет ликвидность в диапазоне [priceLow, priceHigh]. Capital efficiency до 4000x для стабильных пар. Но ERC-721 ломает vault-стратегии под ERC-20. Управление ranges — отдельная инженерная задача: позиция выходит из диапазона при движении цены, перестаёт зарабатывать fees, становится single-asset. Протоколы типа Arrakis Finance автоматически rebalance. Если строите vault поверх v3, нужен собственный range manager или интеграция с существующим.

Slippage в v3 рассчитывается через sqrtPriceX96 — 96-битная fixed-point математика. Ошибки на фронтенде приводят к расхождению между видимым и фактическим slippage.

Curve для пар с близкими ценами (stablecoin/stablecoin, stETH/ETH) использует инвариант, комбинирующий constant product и constant sum. Меньше slippage в диапазоне peg. Контракты на Vyper, код математически плотный, аудировать сложно.

Lending протоколы: collateral, liquidation, bad debt

LTV определяет максимальный кредит под collateral. Liquidation threshold — уровень ликвидации. Разница — буфер для liquidator. Типичный пример: LTV 75%, liquidation threshold 80%, bonus 5%. Если цена падает на 20%+, позиция открыта к ликвидации.

Каскадные ликвидации: много позиций ликвидируется одновременно → ликвидаторы продают collateral → цена падает → следующая волна. LUNA/UST 2022 — классический каскад.

Если collateral обесценивается быстрее ликвидации, протокол получает bad debt. Aave использует Safety Module (застейканный AAVE), Compound — reserves. Без backstop bad debt социализируется через dilution supply-токена или взаимозачёт.

Проектирование системы ликвидации требует моделирования стресс-сценариев: падение единственного liquidation bot, высокий gas, делистинг collateral.

Yield farming и incentive mechanics

Liquidity mining — раздача governance-токенов LP-провайдерам. Проблема mercenary capital: фармеры приходят, продают токены, уходят. TVL фиктивный.

Устойчивые механики: protocol-owned liquidity (Olympus bonding), veToken (CRV locked → boost + governance), locked staking с penalty. Ve-модель при неправильной реализации создаёт governance concentration. Нужен timelock на изменения gauge weights и лимиты на votingPower.

Что входит в нашу разработку DeFi-протоколов

  • Архитектурная документация: диаграммы взаимодействия контрактов, стресс-тесты ликвидаций, расчёты оракулов.
  • Реализация на Solidity 0.8.x с OpenZeppelin 5.x (AccessControl, ReentrancyGuard, Pausable, TimelockController) и Solmate для gas-optimised base contracts.
  • Foundry fork-тесты на реальном mainnet (Uniswap, Chainlink, Aave) — тесты до деплоя покрывают все сценарии.
  • Аудит: минимум два независимых аудитора для TVL от $1M. Code4rena или Sherlock для bug bounty.
  • Деплой с Gnosis Safe 3/5 multisig + timelock 48–72 часа.
  • Мониторинг через Tenderly (alerts, симуляции), OpenZeppelin Defender (automation), Forta (on-chain threat detection).
  • Поддержка после запуска: обновления, патчи, апгрейды через proxy.

Наши компетенции и опыт

Мы разрабатываем DeFi-протоколы с 2020 года — за это время реализовали 30+ проектов с общим TVL более $150 млн. Среди клиентов — протоколы в топ-20 по TVL на Ethereum, Arbitrum и Base. Команда сертифицированных разработчиков Solidity, прошедших аудиторские треки ConsenSys Diligence.

DeFi на Wikipedia — базовые принципы, которые мы применяем на практике.

Сроки

  • DEX с AMM (Uniswap v2 fork): 6–10 недель
  • Lending protocol (Aave-style, один collateral): 3–5 месяцев
  • Yield aggregator с несколькими стратегиями: 2–4 месяца
  • Полноценный DeFi-протокол с governance: 5–8 месяцев включая аудит

Стоимость рассчитывается индивидуально — свяжитесь для оценки вашего проекта.

Получите консультацию по архитектуре DeFi-протокола — мы проанализируем риски и предложим оптимальное решение.