NFT Royalties Setup on Blur

We design and develop full-cycle blockchain solutions: from smart contract architecture to launching DeFi protocols, NFT marketplaces and crypto exchanges. Security audits, tokenomics, integration with existing infrastructure.
Showing 1 of 1 servicesAll 1306 services
NFT Royalties Setup on Blur
Simple
~2-3 hours
FAQ
Blockchain Development Services
Blockchain Development Stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1214
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    852
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_logo-advance_0.png
    B2B Advance company logo design
    561
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    823

Setup of NFT Royalties on Blur

Blur launched in October 2022 and offered zero trading fees + optional royalties. Collections lost 0-100% royalties depending on whether they blocked trading via Blur. OpenSea responded by reducing its own royalties to optional. The royalty wars of 2022-2023.

Today the situation has stabilized: Blur supports royalties for collections using OperatorFilterRegistry (Blur Operator Filter) or implementing ERC-2981. Setup takes several hours but requires understanding the mechanics.

ERC-2981: On-chain Royalties

ERC-2981 is minimal standard: the contract implements royaltyInfo(tokenId, salePrice) function returning the recipient and royalty amount.

If the contract is already deployed without ERC-2981—adding it to an immutable contract is impossible. Options: deploy a new contract with migration (expensive and complicated) or register royalties through off-chain registries (OpenSea Creator Fees via their dashboard, Manifold Royalty Registry).

Manifold Royalty Registry—the most universal solution for retroactive setup: lets the old contract owner register royalty recipient and percentage without changing the contract. Supported by Blur, OpenSea, Rarible, LooksRare.

For new contracts—ERC2981 from OpenZeppelin + _setDefaultRoyalty(receiver, feeNumerator) in constructor. feeNumerator out of 10000: value 500 = 5%.

Enforcement via OperatorFilter

Blur requires registration in OperatorFilterRegistry (0x000000000000AAeB6D7670E522A718067333cd4E on Ethereum) to receive enforced royalties on its platform.

OpenZeppelin 4.x and 5.x include DefaultOperatorFilterer and OperatorFilterer mixins. Add to the contract:

import {DefaultOperatorFilterer} from "operator-filter-registry/src/DefaultOperatorFilterer.sol";

contract MyNFT is ERC721, DefaultOperatorFilterer {
    function transferFrom(address from, address to, uint256 tokenId)
        public override onlyAllowedOperator(from) {
        super.transferFrom(from, to, tokenId);
    }
    
    function safeTransferFrom(address from, address to, uint256 tokenId)
        public override onlyAllowedOperator(from) {
        super.safeTransferFrom(from, to, tokenId);
    }
}

onlyAllowedOperator checks whether the calling contract is registered as a "clean" operator (complies with royalties). Blur Marketplace is registered in the registry.

For already-deployed contracts—if there's no OperatorFilter and no upgrade capability, enforcement is impossible. Only EIC-2981 via Manifold as best effort.

Setup Process

Contract Analysis (1-2 hours). Check: does it have ERC-2981, does it have OperatorFilter, is the contract upgradeable.

Setup (2-4 hours). For new contract—integration during development. For existing—Manifold Registry via their UI or direct setRoyalties() call from owner wallet.

Verification. Verify on Blur that the collection displays the correct royalty percentage. Testnet test sale if available.

Cost depends on the state of the existing contract and the required work volume.