Authorizing Another Account to Mint Your NFTs
Each account can have 0 or 1 authorized minter that can mint NFTs on its behalf. By authorizing a minter, a creator can allow a different account to mint NFTs for them, which allows them to focus on making more NFTs.
Assigning an Authorized Minter
You set the authorized minter with an AccountSet
transaction.
tx_json = {
"TransactionType": "AccountSet",
"Account": "rrE5EgHN4DfjXhR9USecudHm7UyhTYq6m",
"NFTokenMinter": "r3riWB2TDWRmwmT7FRKdRHjqm6efYu4s9C",
"SetFlag": xrpl.AccountSetAsfFlags.asfAuthorizedNFTokenMinter
}
NFTokenMinter
is an account ID of an account on the same XRP Ledger instance. The asfAuthorizedNFTokenMinter
flag authorizes the NFTokenMinter
account to mint NFTs on behalf of the Account
.
Note: The asfAuthorizedNFTokenMinter
flag is used only in the AccountSet
transaction. It indicates whether the transaction affects the presence or value of the NFTokenMinter field on an account root. Specifically, there is no corresponding flag on the AccountRoot.
Unassigning an Authorized Minter
To remove an authorized minter, use the AccountSet
transaction and clear the asfAuthorizedNFTokenMinter
flag.
tx_json = {
"TransactionType": "AccountSet",
"Account": "rrE5EgHN4DfjXhR9USecudHm7UyhTYq6m",
"ClearFlag": xrpl.AccountSetAsfFlags.asfAuthorizedNFTokenMinter
}
Minting an NFT for Another Account
You mint tokens for another account using the standard NFTokenMint
transaction. The difference is that you must include the Issuer
field, the account ID of the account for which you are minting the NFT.
const transactionBlob = {
"TransactionType": "NFTokenMint",
"Account": "r3riWB2TDWRmwmT7FRKdRHjqm6efYu4s9C",
"URI": xrpl.convertStringToHex("ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf4dfuylqabf3oclgtqy55fbzdi"),
"Flags": 8,
"TransferFee": 5000,
"NFTokenTaxon": 0
"Issuer": "rrE5EgHN4DfjXhR9USecudHm7UyhTYq6m", // Needed when minting for another
// account.
}
When you or a broker sells the NFT, the TransferFee (percentage of sale) is credited to your issuing account.