Материал проверен 12 ноября 2026?
БК

ГЛАВНАЯ / ИНСТРУКЦИИ / ERC-2981 И РОЯЛТИ NFT: ЧТО СООБЩАЕТ СТАНДАРТ И КТО ПЛАТИТ

ERC-2981 и роялти NFT: что сообщает стандарт и кто платит

ERC-2981 стандартизирует запрос информации о роялти: для tokenId и цены продажи NFT функция royaltyInfo возвращает адрес получателя и вычисленную сумму. Сам интерфейс сообщает эти данные, но не удерживает платёж и не заставляет любой маркетплейс его исполнить. При проверке разделяйте поддержку ERC-2981 контрактом, результат вызова для конкретной цены и правила площадки, где проходит сделка.

Сигнал стандарта

royaltyInfo сообщает получателя и сумму для указанной цены

Интерфейс ERC-2981 состоит из royaltyInfo(tokenId, salePrice), которая возвращает receiver и royaltyAmount. Цена передаётся в наименьших единицах выбранного актива расчёта. Возвращаемая сумма должна быть выражена в той же единице, что и salePrice. Стандартный interface ID равен 0x2a55205a и может объявляться через ERC-165.

Результат нужно запрашивать с конкретными tokenId и salePrice в конкретной сети. Контракт вправе использовать разные ставки для разных tokenId или менять процент на основе предсказуемых параметров. Повторные вызовы поэтому могут вернуть другое значение, если изменилось релевантное состояние.

  • royaltyInfo вызван с верным tokenId
  • salePrice задан в нужной единице
  • receiver и amount проверены
РезультатЧто проверятьЧего он сам не доказывает
receiverАдрес и сетьПолучение денег
royaltyAmountЦена и единица расчётаОбязательную выплату
supportsInterfaceЗаявление о ERC-2981Корректность всей логики
Расчёт

Сумма привязана к цене, но процент нельзя угадать по одному вызову

ERC-2981 задаёт процентную модель и запрещает возвращать фиксированную сумму, игнорирующую salePrice. Контракт может применять разные проценты к разным tokenId или изменять ставку с учётом предсказуемых переменных. При расчёте возможна округлённая целая сумма наименьших единиц актива.

Сверьте цену, переданную в royaltyInfo, с реальной ценой сделки и активом расчёта. Не применяйте результат от ETH к цене в другом токене, не вводя salePrice в пересчитанной единице. Если функция возвращает ноль, это может быть результатом контракта; если возвращает ненулевой адрес и сумму, это пока только quote.

  • интерфейс ERC-2981 распознан
  • запрос привязан к состоянию контракта
  • результат не принят за платёж
Кто исполняет выплату

Контракт NFT только сообщает условия, marketplace совершает платёж

Стандарт оставляет механизм перевода и уведомления за интеграцией, которая использует royaltyInfo. Маркетплейс, поддерживающий ERC-2981, должен реализовать свой способ перевести royalty recipient указанную сумму. Площадка, которая не интегрирует интерфейс или следует другой политике, не исполняет этот сигнал автоматически.

Перед листингом или покупкой прочитайте правила конкретного рынка: какие сборы и роялти он применяет, к какой цене, на каком этапе сделки и в каком активе. При on-chain продаже изучите транзакцию и контракты расчёта; при off-chain сделке проверяйте договорённости вне блокчейна. Не считайте метку «royalties supported» гарантией конкретного процента.

  • правила площадки проверены отдельно
  • не каждый transfer считается продажей
  • условия сделки прочитаны до подтверждения
Практическая сверка

Отделите три вопроса: интерфейс, quote и факт оплаты

Сначала проверьте supportsInterface(0x2a55205a) в сети коллекции. Затем прочитайте royaltyInfo с нужными tokenId и salePrice. Наконец, разберите код маркетплейса, его условия или запись перевода, чтобы выяснить, была ли возвращённая сумма реально перечислена.

При анализе истории учитывайте, что передача NFT не обязательно является продажей: ERC-2981 не определяет способ распознавать сделку. Передача между личными адресами, подарок или перевод в иной контракт могут не иметь связанной оплаты. Стандарт не превращает любое событие Transfer в обязательство уплатить royalty.

FAQ

Частые вопросы

ERC-2981 сам переводит роялти?

Нет. Он возвращает адрес и сумму; их применение зависит от контракта marketplace или другого интегратора.

Гарантирует ли интерфейс выплату на всех площадках?

Нет. Маркетплейс должен отдельно встроить поддержку; стандартный сигнал не исполняется автоматически.

В какой валюте задаётся royaltyAmount?

В той же единице, что переданный salePrice.

Всегда ли процент неизменный?

Не обязательно. Реализация может учитывать tokenId и предсказуемое состояние; результат нового запроса может отличаться.

Любой перевод NFT считается продажей?

Нет. ERC-2981 не определяет, как распознаётся продажа.

Итоговая проверка

Чек-лист: erc-2981 и роялти nft: что сообщает стандарт и кто платит

  • сеть, контракт и tokenId подтверждены;
  • salePrice указан в единице сделки;
  • receiver проверен посимвольно;
  • royaltyAmount пересчитан относительно цены;
  • состояние контракта и возможная динамическая ставка учтены;
  • интеграция маркетплейса изучена отдельно;
  • фактический перевод не подменён сигналом royaltyInfo.

Материал подготовлен редакцией сайта и проверен 12 ноября 2026 года. Условия бирж, кошельков и блокчейн-сетей могут меняться. Перед операцией сверяйте данные в интерфейсе выбранного сервиса.