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 займа
- Заёмщик вызывает
depositNFT()— NFT уходит в escrow контракт. - Заёмщик вызывает
requestLoan(nftId, amount, duration)— создаётсяLoanTermsstruct. - Кредитор вызывает
fundLoan(loanId)— ETH или ERC-20 отправляются заёмщику. - В течение срока займа заёмщик может вызвать
repayLoan(loanId)— возврат principal + interest, NFT возвращается. - Если срок истёк, кредитор вызывает
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-протокола. Свяжитесь с нами — обсудим модель, риски и сроки. Закажите разработку протокола под вашу коллекцию.







