Skip to content

Before receiving an MPT for the first time, the holder must submit an MPTokenAuthorize transaction. This creates an MPToken entry with an initial zero balance.

Prerequisites

PrerequisiteAdditional information
An XRPL account in Ripple CustodyView account details
The MPT Issuance ID (48 hex characters)Provided by the token issuer
Sufficient XRP for reservesOwner reserve + MPToken object reserve

Authorize an MPT

System change process

All new requests to change the system state follow the same process. To familiarize yourself with this process first, see Manage intents and approvals.

To authorize an MPT in Ripple Custody, create a transaction order with the MPTokenAuthorize operation:

Payload example

{
  "payload": {
    "id": "{{intent_id}}",
    "accountId": "42e44ded-a268-4426-a0fe-7287b5d52a01",
    "parameters": {
      "type": "XRPL",
      "feeStrategy": {
        "priority": "Medium",
        "type": "Priority"
      },
      "operation": {
        "type": "MPTokenAuthorize",
        "issuanceId": "000004C463C52827307480341125DA0577AFFC21D4B2D0831E",
        "flags": []
      }
    },
    "customProperties": {},
    "type": "v0_CreateTransactionOrder"
  }
}

Payload fields

FieldTypeDescription
operation.typestringMust be MPTokenAuthorize.
operation.issuanceIdstringThe 192-bit MPT Issuance ID (hex encoded).
operation.flagsarrayEmpty array [] for authorization.

Revoke authorization

To revoke authorization and remove the MPToken entry, include the tfMPTUnauthorize flag:

{
  "operation": {
    "type": "MPTokenAuthorize",
    "issuanceId": "000004C463C52827307480341125DA0577AFFC21D4B2D0831E",
    "flags": ["tfMPTUnauthorize"]
  }
}

You can only revoke authorization if your MPT balance is zero. Transfer or return all tokens before revoking.