Налаштування роялті на Magic Eden: EIP-2981, Solana, enforced

Налаштування роялті на Magic Eden **Технічне завдання:** контракт має повідомляти роялті on-chain, а маркетплейс — дотримуватися. На практиці 90% проблем виникає через несумісність стандартів: ETH-колекції з EIP-2981 коректно відображаються, Solana вимагають налаштування Metaplex. Розберемося з к

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

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

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

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

Налаштування роялті на Magic Eden

Технічне завдання: контракт має повідомляти роялті on-chain, а маркетплейс — дотримуватися. На практиці 90% проблем виникає через несумісність стандартів: ETH-колекції з EIP-2981 коректно відображаються, Solana вимагають налаштування Metaplex. Розберемося з кожним блокчейном детально.

Роялті — єдиний спосіб для команди проєкту отримувати дохід після продажу NFT. Але стандарти на різних блокчейнах відрізняються, а маркетплейси періодично змінюють політику. Ми налаштуємо роялті вашої колекції так, щоб ви отримували виплати незалежно від платформи.

Війна роялті попередніх років зруйнувала очікування більшості NFT-проєктів: Blur ввів опціональні роялті, обсяг торгів витік з OpenSea, і багато колекцій втратили основне джерело доходу. Magic Eden пройшов через кілька ітерацій політики роялті. Зараз ситуація стабілізувалася, але налаштування — це не одна кнопка, а набір рішень на рівні контракту та платформи.

Як працює EIP-2981?

EIP-2981 додає єдину функцію: royaltyInfo(uint256 tokenId, uint256 salePrice) returns (address receiver, uint256 royaltyAmount). Маркетплейс викликає її перед кожною угодою, отримує адресу отримувача та суму. Це рекомендаційний стандарт — маркетплейс може проігнорувати відповідь. OpenSea, Magic Eden (в режимі enforced) та LooksRare шанують його для сумісних колекцій. Blur — ні, якщо контракт не використовує блокування трансферів.

Реалізація через OpenZeppelin займає від 2 до 4 годин, вимагає ~20000 газу на розгортання:

import "@openzeppelin/contracts/token/common/ERC2981.sol"; contract MyNFT is ERC721, ERC2981 { constructor() { // 5% роялті на адресу команди _setDefaultRoyalty(teamAddress, 500); // 500 = 5% (basis points) } } 

Для різних tokenId можна встановити різні роялті через _setTokenRoyalty. Це зручно для колекцій з кількома tiers.

Як Magic Eden обробляє роялті на Solana?

На Solana механіка інша. Royalty задається в метаданих NFT через поле seller_fee_basis_points (0–10000, де 10000 = 100%) та масив creators з частками кожного. Це частина Metaplex Token Metadata standard. Magic Eden читає ці дані та виплачує роялті при продажу через свою програму. Налаштування займає близько 3–5 годин через Sugar CLI.

Параметр Ethereum Solana
Стандарт EIP-2981 (on-chain) Metaplex Token Metadata (метадані)
Реалізація royaltyInfo в контракті seller_fee_basis_points + creators
Зміна post-mint Можливо (upgradeable) Тільки якщо mutable
Рівень контролю Високий (кожен токен) Весь набір (default)

EIP-2981 реалізується приблизно в 3 рази швидше, ніж налаштування Metaplex, але Solana-підхід простіший для однорідних колекцій.

Що таке enforced royalties і коли вони потрібні?

Enforced royalties — єдиний спосіб технічно примусити до виплати роялті: обмежити трансфер NFT лише дозволеними маркетплейсами. Реалізується через _beforeTokenTransfer hook із перевіркою allowlist операторів.

Magic Eden підтримує такі колекції через operator filter. OpenSea запустив OperatorFilterRegistry, але пізніше відмовився від нього. Зараз найактуальніший підхід — власний allowlist у контракті.

Підхід Примушення Ліквідність Складність
Enforced Так (100% роялті) Низька (немає P2P) Середня
Опціональні Ні (залежить від маркетплейса) Висока Низька

Компроміс: жорсткий enforce знижує обсяг продажів на 30–50%, але гарантує дохід команди. Без enforce — роялті можуть бути обнулені маркетплейсами, як це було з Blur.

Налаштування на Magic Eden

Для Ethereum колекцій: Контракт з EIP-2981 автоматично визначається. У dashboard Magic Eden Creator Hub вказуємо адресу колекції, верифікуємо ownership через підпис. Роялті відображаються з контракту.

Для Solana колекцій: Через Metaplex Sugar CLI або ручне створення: встановлюємо sellerFeeBasisPoints та creators при деплої. Magic Eden верифікує колекцію через систему заявок — потрібен verified badge для повного відображення роялті.

Що входить у налаштування під ключ

  • Аудит існуючого контракту на сумісність з EIP-2981 або Metaplex
  • Реалізація роялті в контракті (EIP-2981) або коригування метаданих Solana
  • Налаштування allowlist операторів (enforced royalties) за бажанням
  • Верифікація колекції на Magic Eden (включно з поданням заявки)
  • Тестування виплат роялті на testnet (наприклад, 5–10 угод)
  • Документація з управління роялті
  • Підтримка після запуску протягом 30 днів

Орієнтири за термінами

Налаштування EIP-2981 у новому контракті — кілька годин. Додавання роялті до існуючого контракту без EIP-2981 — можливо лише через апгрейд (якщо контракт upgradeable) або деплой нового контракту з міграцією. Верифікація колекції на Magic Eden — 1–3 робочих дні на їхньому боці. Ми працюємо з NFT з моменту появи стандарту, реалізували роялті для 50+ проєктів на Ethereum та Solana.

Зв'яжіться з нами для розрахунку вартості вашої колекції. Замовте налаштування роялті — отримайте консультацію щодо стеку та термінів.

Стандарт EIP-2981 описано в офіційній документації Ethereum.