Налаштування роялті NFT на Magic Eden
Роялті guerre 2022-2023 років розрушив очікування більшості NFT-проектів: Blur ввів опціональні роялті, обсяг торгів утік з OpenSea, та багато колекцій втратили основне джерело доходу команди. Magic Eden пройшов кілька ітерацій політики роялті. Сьогодні ситуація стабілізувалася, але настройка роялті — це не одна кнопка, а набір рішень на рівні контракту та платформи.
Як роялті працюють технічно
EIC-2981 — On-chain стандарт
EIC-2981 добавляє одну функцію: royaltyInfo(uint256 tokenId, uint256 salePrice) returns (address receiver, uint256 royaltyAmount). Маркетплейс викликає її перед кожною угодою, отримує адресу одержувача та суму.
Це рекомендативний стандарт — маркетплейс може ігнорувати відповідь. OpenSea, Magic Eden (у enforced режимі), та LooksRare поважають його для сумісних колекцій. Blur — ні, якщо контракт не використовує блокування трансфертів.
Реалізація через OpenZeppelin:
import "@openzeppelin/contracts/token/common/ERC2981.sol";
contract MyNFT is ERC721, ERC2981 {
constructor() {
// 5% роялті на адресу команди
_setDefaultRoyalty(teamAddress, 500); // 500 = 5% (basis points)
}
}
Різні tokenIds можуть мати різні роялті через _setTokenRoyalty(tokenId, receiver, feeNumerator).
Magic Eden: Ethereum vs Solana
На Ethereum Magic Eden читає EIC-2981 та відображає роялті в UI. При створенні листингу користувач бачить, що X% йде творцю. Платіж відбувається автоматично через marketplace контракт при продажі.
На Solana механіка інша. Royalty встановлюється в метаданих NFT через поле seller_fee_basis_points (0-10000, де 10000 = 100%) та масив creators з долями кожного творця. Це частина Metaplex Token Metadata standard. Magic Eden читає ці дані та платить роялті при продажі через свою програму.
Для Solana-колекцій настройка роялті = коректні метаданні при мінтингу. Не можна змінити роялті post-mint (immutable метаданні) або лише через update authority якщо колекція mutable.
Enforced роялті vs опціональні
Єдиний технічний спосіб змусити платити роялті — обмежити трансфери NFT лише через затверджені маркетплейси. Це реалізується через _beforeTokenTransfer hook: перевірити, що from або to — затверджений оператор з allowlist.
Magic Eden підтримує такі колекції через свій operator filter. OpenSea запустив OperatorFilterRegistry у 2022-му, потім відмовився від нього у 2023-му. Найбільш актуальний підхід — кастомний allowlist операторів у контракті.
Компромісс: жорсткий enforce роялті зменшує ліквідність (не можна продати P2P), але гарантує доход команди. Без enforcement — роялті опціональні та залежать від доброї волі маркетплейсу.
Настройка на Magic Eden
Для Ethereum колекцій: Контракт з EIC-2981 автоматично визначається. У Magic Eden Creator Hub dashboard вказуємо адресу колекції, верифікуємо ownership через підпис. Роялті відображаються з контракту.
Для Solana колекцій: Через Metaplex Sugar CLI або ручна настройка: встановлюємо sellerFeeBasisPoints та creators при деплої. Magic Eden верифікує колекцію через систему подачі заявок — потрібна verified badge для повного відображення роялті.
Оцінка часу
Настройка EIC-2981 у новому контракті — кілька годин. Додавання роялті до існуючого контракту без EIC-2981 — можливо лише через апгрейд (якщо upgradeable) або розгортання нового контракту з міграцією. Верифікація колекції на Magic Eden — 1-3 робочих дні з їх сторони.







