Налаштування роялті на 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.







