Настройка роялти NFT на Magic Eden

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Настройка роялти NFT на Magic Eden
Простая
~2-3 часа
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1221
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1163
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    855
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1056
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    828

Настройка роялти NFT на Magic Eden

Война роялти 2022-2023 годов разрушила ожидания большинства NFT-проектов: Blur ввёл опциональные роялти, объём торгов утёк с OpenSea, и многие коллекции потеряли основной источник дохода команды. Magic Eden прошёл через несколько итераций политики роялти. Сейчас ситуация стабилизировалась, но настройка роялти — это не одна кнопка, а набор решений на уровне контракта и платформы.

Как работают роялти технически

EIP-2981 — стандарт on-chain

EIP-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)
    }
}

Для разных tokenId можно установить разные роялти через _setTokenRoyalty(tokenId, receiver, feeNumerator).

Magic Eden: Ethereum vs Solana

На Ethereum Magic Eden читает EIP-2981 и отображает роялти в UI. При создании листинга пользователь видит, что X% уйдёт создателю. Выплата происходит автоматически через маркетплейс контракт при продаже.

На 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 royalties vs опциональные

Единственный способ технически принудить к выплате роялти — ограничить трансфер NFT только через одобренные маркетплейсы. Это реализуется через _beforeTokenTransfer hook: проверяем, что from или to — одобренный оператор из allowlist.

Magic Eden поддерживает такие коллекции через свой operator filter. OpenSea запустил OperatorFilterRegistry в 2022-м, потом отказался от него в 2023-м. Сейчас наиболее актуальный подход — собственный allowlist операторов в контракте.

Компромисс: жёсткий enforce роялти снижает ликвидность (нельзя продать через P2P), но гарантирует доход команды. Без enforce — роялти опциональны и зависят от доброй воли маркетплейса.

Настройка на Magic Eden

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

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

Ориентиры по срокам

Настройка EIP-2981 в новом контракте — несколько часов. Добавление роялти к существующему контракту без EIP-2981 — возможно только через апгрейд (если контракт upgradeable) или деплой нового контракта с миграцией. Верификация коллекции на Magic Eden — 1-3 рабочих дня на их стороне.