Enhance ESDTModifyCreator to allow specifying the new creator address

MIP: Enhance ESDTModifyCreator to allow specifying the new creator address

Motivation

Currently, the ESDTModifyCreator operation allows changing the creator of a dynamic NFT/SFT, but with significant limitations:

  • The transaction must be sent by the new creator address (holder of ESDTRoleModifyCreator).
  • There is no way to specify a different new creator as a parameter in the transaction.
  • This makes it impractical for cases where a smart contract, marketplace, or governance mechanism should assign the creator rights to another address (e.g., after a sale, auction, or DAO vote).

As a result, this powerful feature is underused, and its potential for dynamic assets is not fully exploited.


Proposal

Enhance the ESDTModifyCreator transaction to accept the new creator address as a parameter.

New transaction format:

ModifyCreatorTransaction {
Sender: <authorized account or smart contract (must have ESDTRoleModifyCreator role)>
Receiver:
Value: 0
GasLimit: 60000000
Data: “ESDTModifyCreator” +
“@” + <token identifier in hexadecimal encoding> +
“@” + <token nonce in hexadecimal encoding> +
“@” + <optional new creator address in hexadecimal encoding>
}

If the new creator address is not provided, the current logic applies (assign creator to the sender).


Benefits

:white_check_mark: New use cases unlocked

  • Dynamic transfer of creator rights (after sales, auctions, governance decisions)
  • Integration in marketplaces, DAOs, and smart contracts
  • Easier support for programmable art, collaborative NFTs, RWAs

:white_check_mark: No impact on existing tokens

  • Backward compatible: existing tooling and transactions continue to work.

:white_check_mark: Stronger ecosystem

  • Makes dynamic NFTs/SFTs more useful and flexible for developers and creators.

Security considerations

  • The sender must still hold ESDTRoleModifyCreator to modify the creator.
  • The protocol will validate the new creator address and apply the change atomically.

FAQ

Q: Would this break existing collections or tooling?
A: No. The new parameter is optional. If absent, the behavior remains as today: creator is assigned to the sender.

Q: Can smart contracts use this safely?
A: Yes. As long as the contract holds ESDTRoleModifyCreator, it can assign the creator to any address passed in the transaction.


Call for feedback

This proposal aims to make dynamic NFTs/SFTs more powerful and usable in real-world scenarios.
Looking forward to your feedback and discussions on how to best implement this!

1 Like

The only problem I see here is the impersonation.
SC/DAO/Anything could assign as creator an address, which does not approve of this.

How do you think this issue could be solved ?

I may lack some informations.

Does the “creator” have any other rights than receiving protocol royalties ?

transferOwnership allow you to give an address the full control over a token without consent.

If it’s about content moderation you still have token history with initial mint transaction that “proves” you did not create that token.

Or maybe it’s an information used by marketplace to verify some collection ? I see some edge cases in this.