MPTokenAuthorize

Attention

Multi-purpose Token functionality is part of the proposed XLS-33d extension to the XRP Ledger protocol. You can use these functions on test networks for now. Until there is an amendment in a stable release, the details documented on these pages are subject to change.

This transaction enables an account to hold an amount of a particular MPT issuance. When applied successfully, it creates a new MPToken object with an initial zero balance, owned by the holder account.

If the issuer has set lsfMPTRequireAuth (allow-listing) on the MPTokenIssuance, the issuer must submit an MPTokenAuthorize transaction as well in order to give permission to the holder. If lsfMPTRequireAuth is not set and the issuer attempts to submit this transaction, it will fail.

MPTokenAuthorize Fields

FieldJSON Type[Internal Type][]Description
AccountstringAccountIDThis address can indicate either an issuer or a potential holder of a MPT.
TransactionTypeobjectUInt16Indicates the new transaction type MPTokenAuthorize. The integer value is 29.
MPTokenIssuanceIDstringUInt256Indicates the ID of the MPT involved.
MPTokenHolderstringAccountID(Optional) Specifies the holder's address that the issuer wants to authorize. Only used for authorization/allow-listing; must be empty if submitted by the holder.
FlagstringUInt64See MPTokenAuthorize Flags.

MPTokenAuthorize Flags

Transactions of the MPTokenAuthorize type support additional values in the Flags field, as follows:

Flag NameHex ValueDecimal ValueDescription
tfMPTUnauthorize0x00011If set, and transaction is submitted by a holder, it indicates that the holder no longer wants to hold the MPToken, which will be deleted as a result. If the holder's MPToken has a non-zero balance while trying to set this flag, the transaction fails. On the other hand, if set, and transaction is submitted by an issuer, it would mean that the issuer wants to unauthorize the holder (only applicable for allow-listing), which would unset the lsfMPTAuthorized flag on the MPToken.