Налаштування роялті NFT на OpenSea

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Налаштування роялті NFT на OpenSea
Простий
~2-3 години
Часті запитання

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

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

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

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

Налаштування роялті NFT на OpenSea

З кінця 2022 року роялті NFT перестали бути гарантованими. Blur запустив агресивну політику нульових роялті для привлечення трейдерів, OpenSea був вимушений відповісти — до 2023 року обидва маркетплейси зробили creator royalties опціональними на рівні платформи. Результат: більшість вторинних продаж проходить з нульовими роялті, якщо колекція не використовує on-chain enforcement механізми.

Два підходи до роялті та їх реальність

Off-chain роялті (стандарт маркетплейсів)

EIP-2981 — стандарт on-chain об'яви роялті. Контракт реалізує royaltyInfo(tokenId, salePrice), повертаючи (receiver, royaltyAmount). OpenSea, Blur та Rarible читають цю інформацію та відображають у UI.

Але виконання — на розсуді маркетплейсу. Технічно будь-який смарт-контракт для торгівлі може ігнорувати EIP-2981 та не переводити роялті. Що робить більшість агрегаторів.

On-chain enforcement через transfer обмеження

Єдиний спосіб технічно гарантувати роялті — обмежити трансфер NFT: дозволяти його лише через whitelist'ed контракти (маркетплейси), які чесно платять роялті. Це Operator Filter Registry, який Yuga Labs ввела для BAYC у 2022 році.

Проблема: рестрикції на трансфер конфліктують зі стандартом ERC-721. Агрегатори, не включені в whitelist, не можуть торгувати токенами. Деякі користувачі сприймають це як обмеження прав на власний актив. У результаті Yuga Labs та OpenSea до 2024 року відмовилися від Operator Filter як механізму.

На практиці: більшість нових колекцій реалізують EIP-2981 для коректного відображення у маркетплейсах, але не обмежують трансфери. Роялті — джентльменське соглашение з маркетплейсом.

Практична настройка

Контракт

OpenZeppelin надає розширення ERC2981:

import "@openzeppelin/contracts/token/common/ERC2981.sol";

contract MyNFT is ERC721, ERC2981 {
    constructor() {
        _setDefaultRoyalty(msg.sender, 500); // 5% = 500 basis points
    }
}

_setDefaultRoyalty встановлює роялті для всієї колекції. _setTokenRoyalty(tokenId, receiver, feeNumerator) — для окремих токенів (актуально для 1/1 арту з різними авторами).

OpenSea Collection Settings

Крім on-chain ERC-2981, OpenSea дозволяє налаштувати роялті в Collection Settings:

  • Відсоток (до 10%)
  • Адреса одержувача
  • Верифікація через підпис власника контракту

Якщо контракт не має EIC-2981 — OpenSea бере налаштування з панелі. Якщо є — on-chain дані мають пріоритет (в залежності від версії інтерфейсу).

Сплітування роялті між кількома одержувачами

Якщо роялті потрібно ділити між командою — не пишемо логіку спліту в NFT-контракті. Використовуємо 0xSplits або Splits Protocol: розгортаємо спліт-контракт з долями, його адрес вказуємо як receiver в EIP-2981. При надходженні ETH на адресу спліту будь-хто може викликати distribute() — кошти розділяються по налаштованих долях автоматично.

Оцінка часу

Настройка EIP-2981 у існуючому контракті (якщо немає) та верифікація на OpenSea — 2-3 години. Включає: перевірку поточного контракту, додавання EIP-2981 якщо відсутній (або розгортання нового), настройку в OpenSea Collection Settings, перевірку відображення роялті.