ERC-2981: NFT Royalty Standard
ERC-2981 lets NFT contracts advertise a single royalty recipient and percentage. Marketplaces query royaltyInfo(tokenId, salePrice) and pay the receiver before settling buyer/seller.
Limitations
- Single recipient — splitting royalties across artists, labels, and platforms requires deploying a payment splitter.
- Implicit currency — paid in whatever the sale used (typically ETH/WETH).
- Honour system — marketplaces must voluntarily query and pay; no on-chain enforcement.
Neo Equivalent: NEP-24 (First-Class Splits)
NEP-24's royaltyInfo returns an array of [recipient, amount] pairs — splits across artist + label + platform are first-class — and adds an explicit royaltyToken parameter so royalties can be paid in GAS, NEO, or any NEP-17.
Live on Neo TestNet
Both implementations deployed on Neo N3 TestNet.
| Implementation | TestNet Address | Contract Hash | Deploy Tx |
|---|---|---|---|
Solidity (neo-solc) | NQhcPMzycbfy5h4ZBg7vrbAvioa41KdR6i | 0xade57dfd9ad85fff8dca3845cf22206346468234 | 0x36e5acd5…417ee5 |
Neo C# (nccs) | NgTke4MQShakWQpPvskjqX1XEmpMF4EmSC | 0xbf3fe7eb875750c81c2915d53123c380685a65e1 | (re-used) |
Checked-in snapshot verifies symbol, mint, royalty configuration, and totalSupply; the manifest now also asserts royalty amount calculation. docs/standards-mirror/deployments/erc-2981/.
