Настройка роялти на 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.







