Інтеграція з NFTfi: P2P-кредитування під заставу NFT

Інтеграція з NFTfi Ви будуєте лендінг-платформу або NFT-маркетплейс, і користувачі запитують можливість взяти позику під заставу NFT з фіксованим строком і ставкою. Без ліквідаційних оракулів або AMM — тільки peer-to-peer. NFTfi — один із найстаріших протоколів, аудований і з великою документаціє

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1308
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1003
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1269
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    719
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1009

Інтеграція з NFTfi

Ви будуєте лендінг-платформу або NFT-маркетплейс, і користувачі запитують можливість взяти позику під заставу NFT з фіксованим строком і ставкою. Без ліквідаційних оракулів або AMM — тільки peer-to-peer. NFTfi — один із найстаріших протоколів, аудований і з великою документацією. Однак інтеграція вимагає коректної роботи з EIP-712 оферами, моніторингом станів і обробкою race conditions. Ми реалізуємо повну інтеграцію: від підпису оферів до моніторингу позик через субграф.

В основі протоколу — два ключові контракти: NftfiHub (реєстр і роутер) та DirectLoanFixedOffer (позики з фіксованою ставкою). Починаючи з версії v2.1 додано DirectLoanFixedOfferRedeploy з підтримкою ERC-1155. Типовий flow: позичальник блокує NFT, отримує ETH або USDC, а при неповерненні NFT переходить кредитору. Жодних ліквідаційних оракулів — тільки чистий fixed-term loan.

Контракт Версія Призначення
NftfiHub v2.0+ Реєстр і роутер для всіх типів позик
DirectLoanFixedOffer v2.0 Фіксовані позики з ERC-721
DirectLoanFixedOfferRedeploy v2.1 Підтримка ERC-1155 та оновлена логіка

Як працює протокол NFTfi?

  1. Borrower викликає approve для NFT на адресу NFTfi, потім приймає офер через acceptOffer.
  2. Lender створює підписаний off-chain офер (EIP-712), який зберігається в базі NFTfi або вашому backend.
  3. При acceptOffer контракт переводить NFT у себе, надсилає токени позичальнику і мінтить кредитору promissory note NFT (ERC-721).
  4. Після закінчення строку: payBackLoan від позичальника або liquidateOverdueLoan від кредитора.

Що таке структура офера (EIP-712)?

Інтеграція через підпис оферів — місце найчастіших помилок. Офер містить:

Структура Offer
struct Offer { uint256 loanPrincipalAmount; uint256 maximumRepaymentAmount; uint256 nftCollateralId; address nftCollateralContract; uint32 loanDuration; // в секундах uint16 loanAdminFeeInBasisPoints; address loanERC20Denomination; address referrer; } 

Підпис створюється через signTypedData у ethers.js або viem, використовуючи domain separator контракту NFTfi. Domain separator включає chainId — офер для Ethereum mainnet невалідний на Goerli, навіть якщо адреса контракту збігається. Детальніше в EIP-712.

Типова помилка: неправильна обробка проміжних статусів позики

Позика може перебувати в станах: Active, Repaid, Liquidated, або в edge case — коли блок із payBackLoan майниться після закінчення loanDuration, але liquidateOverdueLoan ще не викликаний. Контракт приймає обидва виклики в коротке вікно (зазвичай 2–5 блоків, у Ethereum це 30–60 секунд, у Polygon — 4–10 секунд). Якщо фронтенд не оновлює статус атомарно — користувач бачить активну позику, яка вже ліквідована.

Рекомендований підхід: слухати події LoanStarted, LoanRepaid, LoanLiquidated через ethers.js provider.on або підписку через The Graph subgraph. Subgraph кращий для UI — дозволяє робити складні запити (всі активні позики по колекції, історія позик адреси). On-chain події дають нульову затримку, але вимагають ручної фільтрації. Subgraph затримується до 30 секунд, але запити в 10 разів простіші для аналітики — це робить Subgraph кращим вибором для аналітики порівняно з on-chain подіями.

Метод моніторингу Затримка Складність запитів Надійність
On-chain events (ethers) Реальний час Низька — потрібна ручна фільтрація Висока (немає залежності від інфраструктури)
The Graph subgraph ~30 секунд Висока — GraphQL з агрегаціями Середня (залежить від вузла)

Чому обирають NFTfi для P2P-позик?

NFTfi — один із найстаріших протоколів у цій ніші з аудованими смарт-контрактами та великою документацією. Off-chain офери знижують газ для кредитора (не потрібно надсилати транзакцію для створення). Підтримуються ETH, USDC, DAI та інші схвалені ERC-20. Інтеграція через SDK @nftfi/js прискорює розробку, але для повного контролю над gas estimation краще працювати з ABI безпосередньо. Середня транзакція acceptOffer на Ethereum коштує близько $50 газу, на Polygon — менше $1. Економія на газі при використанні Polygon становить $49 за транзакцію порівняно з Ethereum. При використанні SDK економія на розробці може сягати 30-50% — це у 1.5-2 рази швидше, ніж пряма робота через ABI. Наша команда займається DeFi-інтеграціями з 2019 року (5+ років досвіду), реалізувала більше 15 успішних проєктів із NFTfi. Ми гарантуємо якісну інтеграцію з використанням сертифікованих смарт-контрактів NFTfi. Середня вартість повної інтеграції — $5000-$8000 залежно від складності. Замовте інтеграцію NFTfi для вашого проєкту — отримайте консультацію по вашому кейсу.

Що входить в інтеграцію

  • SDK / бібліотека. Офіційний @nftfi/js для швидкої інтеграції або пряма робота через ABI для повного контролю над gas estimation.
  • Subgraph запити. GraphQL для списку активних оферів, історії позик, даних колекції. Інтегруємо через @apollo/client або urql.
  • Валюти позики. ETH, USDC, DAI та інші схвалені ERC-20. Потрібна логіка approve для кожної валюти від lender перед створенням офера.
  • Referral система. Підтримка referrer address в оферах — спосіб монетизувати інтеграцію.

Чек-лист типових помилок при інтеграції

  • Невірний chainId у domain separator — офер невалідний в іншій мережі.
  • Відсутність approve для NFT перед acceptOffer — транзакція впаде з помилкою.
  • Ігнорування події LoanLiquidated після payBackLoan — стан розсинхронізується.
  • Неправильна обробка loanDuration у секундах — плутанина з хвилинами.
  • Відсутність перевірки deadline — застарілі офери можуть бути прийняті.

Процес роботи

  1. Вивчення ABI та тестування на тестовій мережі (1 день). Розгортаємо тестовий NFT, створюємо позику вручну через контракт, перевіряємо всі події.
  2. Backend інтеграція (1-2 дні). Зберігання та трансляція оферів, webhooks на події позик.
  3. Frontend компоненти (1-2 дні). Форма створення офера, відображення активних позик, flow погашення.

Орієнтири за строками

Базова інтеграція — створення та прийняття оферів, моніторинг позик — 3-5 днів. Повноцінний lending UI з аналітикою по колекціях і автоматичним створенням оферів — 1-1.5 тижня. Зв'яжіться з нами для обговорення деталей — ми підберемо оптимальний план.