Skip to content

MPTokenAuthorize

[Source]

Control whether an account can hold a given Multi-purpose Token (MPT). This transaction has several uses:

  • An account indicates their willingness to hold an MPT. This creates a new MPToken entry with an initial zero balance owned by that account. This is a prerequisite to receive that type of MPT in a payment.
  • An account revokes their willingness to hold an MPT, deleting the MPToken entry. This can only be done if their balance of the given MPT is zero and the token is not locked. If the token is locked, it can't be deleted unless the parent token issuance has been destroyed.

    Requires the fixCleanup3_4_0 amendment. Loading...

  • For an MPT that uses allow-listing, an issuer grants or revokes permission for another account to hold the given MPT.

Requires the MPTokensV1 amendment. Loading...

Example MPTokenAuthorize JSON

This example assumes that the transaction is submitted by the holder of the token.

{
  "TransactionType": "MPTokenAuthorize",
  "Account": "rsNw23ygZatXv7h8QVSgAE4jktY2uW1iZP",
  "MPTokenIssuanceID": "05EECEBE97A7D635DE2393068691A015FED5A89AD203F5AA",
  "Fee": "10",
  "Flags": 0,
  "Sequence": 99537811
}
Query example transaction

MPTokenAuthorize Fields

In addition to the common fields, MPTokenAuthorize transactions use the following fields:

FieldJSON TypeInternal TypeRequired?Description
MPTokenIssuanceIDStringUInt192YesThe ID of the MPT to authorize.
HolderString - AddressAccountIDNoThe holder to authorize. Only used for authorization/allow-listing; must be omitted if submitted by the holder.

MPTokenAuthorize Flags

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

Flag NameHex ValueDecimal ValueDescription
tfMPTUnauthorize0x000000011When the holder enables this flag with a balance of zero, it revokes their willingness to hold this MPT and deletes their MPToken entry. If their balance is non-zero or the token is locked, the transaction fails, unless the parent MPTokenIssuance has been destroyed. Unauthorizing a locked MPToken always fails with the result code tecNO_PERMISSION.

Requires the fixCleanup3_4_0 amendment. Loading...

See Also