Разработка протокола кредитования под залог NFT (NFTfi)

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

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

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

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

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

NFT-коллекция на 10 000 токенов с floor price 2 ETH — это 20 000 ETH заблокированной ценности. Продать одну NFT быстро по рыночной цене сложно: листинг, ожидание покупателя, потеря редкого актива. NFTfi-протокол позволяет занять ETH под залог NFT без продажи — держатель CryptoPunk или Bored Ape получает ликвидность, кредитор получает доходность. Non-fungible token (NFT) — уникальный цифровой актив, права на который закреплены в смарт-контракте (Wikipedia). Мы разрабатываем такие протоколы под ключ — строим систему, где и кредитор, и заёмщик защищены смарт-контрактом, а оценка NFT не позволяет выдать кредит 5 ETH под актив с floor price 1 ETH. Опыт в DeFi более 10 лет, реализовано 50+ смарт-контрактов на Ethereum и L2.

Почему кредитование под залог NFT требует вдумчивой архитектуры?

Просто скопировать логику ERC-20 lending pool не получится. NFT — невзаимозаменяемый актив: каждый токен уникален, его ликвидность ограничена, а цена волатильна. Если в ERC-20 lending цена известна с точностью до цента благодаря Chainlink Price Feed, то для NFT оценка — самостоятельная задача. Не решив её, протокол превращается в игру в напёрстки: заёмщик с редким NFT может получить слишком много, а кредитор — потерять всё при падении floor.

Как оценить NFT on-chain?

Это единственная фундаментальная сложность NFTfi, которую нельзя решить стандартным образом. ERC-20 токены имеют ликвидный рынок и Chainlink Price Feed. У NFT нет единой цены — есть floor, last sale, rarity score, trait-based pricing. Все эти метрики манипулируемы при недостаточном объёме торгов.

Варианты оценки и их trade-offs

Peer-to-peer модель (NFTfi, Arcade.xyz) — кредитор и заёмщик сами договариваются о сумме, проценте и сроке. Смарт-контракт только эскроу NFT и исполняет условия. Оценка — проблема сторон, не протокола. Это устраняет риск oracle manipulation, но снижает ликвидность: заёмщику нужно ждать предложения от кредитора.

Pool-based модель (BendDAO, JPEG'd) — ликвидность в пуле, кредит выдаётся немедленно по floor price оракула. Быстро и удобно, но создаёт системный риск: если floor price коллекции падает быстрее, чем проходят ликвидации — пул уходит в убыток. BendDAO столкнулся с этим: массовое падение BAYC floor price создало угрозу bad debt на 5 000 ETH, протокол был вынужден срочно менять параметры ликвидации.

Hybrid модель — peer-to-peer для крупных займов, пул для стандартных коллекций с проверенным floor. Сложнее в разработке, но более устойчива.

При pool-based подходе oracle для floor price — критический элемент. Используем медиану нескольких источников: Chainlink NFT Floor Price Feeds (доступны для топ-коллекций), Reservoir Protocol API с on-chain верификацией, TWAP последних sales из событий маркетплейсов. Один источник оракула — вектор для flash loan manipulation.

Как работает ликвидация NFT-залога?

Ликвидация — самый сложный момент в NFTfi. При pool-based модели она должна быть атомарной или защищённой от MEV. Типичный сценарий атаки: ликвидатор видит, что позиция здорова (health factor > 1), отправляет liquidate транзакцию, MEV-бот вставляет front-run с покупкой NFT на маркетплейсе по floor price и обратным листингом — классический sandwich. Решение: grace period перед ликвидацией и аукционный механизм (Dutch auction для NFT-залога), а не мгновенная передача кредитору. При ликвидации протокол выставляет NFT на аукцион с понижением цены. Если никто не купит по стартовой цене, цена постепенно падает до уровня, при котором покупатель находится. Это предотвращает MEV-манипуляции и даёт шанс заёмщику вернуть займ до финальной потери.

Детали аукционной ликвидации Аукцион стартует с цены, равной сумме долга + 10%. Каждые 5 минут цена снижается на 5% до тех пор, пока не найдётся покупатель. Заёмщик может в любой момент до продажи погасить долг и вернуть NFT. Протокол взимает комиссию 0.5% от суммы ликвидации.

Архитектура NFTfi-протокола: ключевые компоненты

Lifecycle займа

  1. Заёмщик вызывает depositNFT() — NFT уходит в escrow контракт.
  2. Заёмщик вызывает requestLoan(nftId, amount, duration) — создаётся LoanTerms struct.
  3. Кредитор вызывает fundLoan(loanId) — ETH или ERC-20 отправляются заёмщику.
  4. В течение срока займа заёмщик может вызвать repayLoan(loanId) — возврат principal + interest, NFT возвращается.
  5. Если срок истёк, кредитор вызывает liquidate(loanId) — NFT переходит кредитору.

Пример: заём на 50 ETH под залог NFT с LTV 40% на 30 дней с процентной ставкой 8% годовых.

Ключевые смарт-контракты

Контракт Роль
LoanCore Основная логика, хранит состояние займов
OriginationController Валидация условий, signature verification для P2P
VaultFactory Создаёт индивидуальные vault для каждой NFT (изоляция)
RepaymentController Расчёт interest, обработка погашений
FeeController Протокольная комиссия

Разделение на отдельные контракты — не overengineering, а необходимость: LoanCore апгрейдится через UUPS, OriginationController может быть заменён без миграции данных займов.

Обработка ERC-721 и ERC-1155

ERC-1155 добавляет сложность: токен может быть fungible (если supply > 1) или semi-fungible. Для кредитования нужно определить, принимаем ли мы частичный залог (100 из 1000 токенов одного ID). Большинство протоколов ограничиваются ERC-721 и ERC-1155 с supply = 1. Если нужен ERC-1155 с дробным залогом — логика оценки и ликвидации усложняется кратно.

Приём NFT в залог через safeTransferFrom с onERC721Received хуком. Хук верифицирует, что NFT из allowlisted коллекций — принимать любой ERC-721 опасно, можно получить залог в виде мусорного токена.

Стек разработки

Контракты — Solidity 0.8.x, фреймворк — Foundry. Для P2P-части используем EIP-712 signature verification — заёмщик подписывает LoanTerms оффчейн, кредитор верифицирует подпись on-chain. Это убирает approve-транзакции для заёмщика.

Тесты включают fork-тесты на Ethereum mainnet: реальные коллекции (BAYC, Azuki), реальные маркетплейс-события для симуляции изменений floor price. Foundry's vm.warp для симуляции истечения срока займа.

Frontend (если нужен) — wagmi + viem, NFT-данные через Alchemy NFT API или Reservoir.

Процесс работы

Этап Длительность Что делаем
Проектирование 1 неделя Выбор модели (P2P/pool/hybrid), список коллекций, параметры риска, tokenomics
Разработка 4–8 недель Core контракты, oracle интеграция, тесты с coverage > 95%, fuzz-тесты
Аудит 2–4 недели Внешний аудитор (Spearbit, Trail of Bits, Code4rena)
Деплой 1–2 недели Testnet с реальными пользователями, mainnet через Gnosis Safe multisig

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

  • Архитектурная документация (ERC-720p, диаграммы потоков)
  • Смарт-контракты на Solidity с полным покрытием тестами
  • Интеграция с оракулами (Chainlink, Reservoir)
  • Подготовка к аудиту (отчёт Slither, Mythril)
  • Развёртывание на testnet и mainnet
  • Доступ к репозиторию и инструкциям
  • Обучение команды по работе с протоколом
  • Пост-релизная поддержка 1 месяц

Почему выбирают нас?

Опыт более 10 лет в разработке DeFi-протоколов, 50+ реализованных смарт-контрактов. Мы находили критические уязвимости в топ-протоколах и знаем, как их избежать. Используем формальную верификацию критических функций — это уровень безопасности, который редкий стартап может себе позволить. Гарантируем прозрачный процесс: демонстрация прогресса каждую неделю.

Получите консультацию по архитектуре вашего NFTfi-протокола. Свяжитесь с нами — обсудим модель, риски и сроки. Закажите разработку протокола под вашу коллекцию.

Разработка 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-протокола — мы проанализируем риски и предложим оптимальное решение.