when NFTs are minted, the creator/artist is registered in the smart contract as a recipient of all future royalty payments from secondary sales of their NFT.

People lose wallets all the time: forgotten seed phrase, computer with software wallet died, etc

What happens if the NFT creator loses access to that wallet address that was registered to receive those royalties (the address with which they minted the NFT)? Can the smart contract be updated with their new royalty address (new wallet address)?

majority of people log into NFT platforms by connecting their wallet via Metamask, not with log-in names. meaning, they are identified purely by their wallet, and not even the NFT platform log-in process can be re-configured to redirect previous contracts to some new wallet address in my opinion

1 Answer 1


I'd recommend building that flexibility into the smart contract via EIP 2981 like in this repo. For the time being, EIP 2981 isn't widely implemented by exchanges, but expect that to change this year. If you're lazy minting on OpenSea, you should be able to update royalties in the collection settings.

That said, these changes only help the artist capture future royalties. Any past royalties in the lost wallet will also be lost, unfortunately.

address private _recipient;
constructor() ERC1155("") {
        _recipient = owner();
function _setRoyalties(address newRecipient) internal {
        require(newRecipient != address(0), "Royalties: new recipient is the zero address");
        _recipient = newRecipient;
function setRoyalties(address newRecipient) external onlyOwner {
  • Do upgradeable/proxy contracts come in at all?
    – user610620
    Commented Jan 22, 2022 at 8:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.