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.
| Prerequisite | Additional information |
|---|---|
| An XRPL account in Ripple Custody | View account details |
| The MPT Issuance ID (48 hex characters) | Provided by the token issuer |
| Sufficient XRP for reserves | Owner reserve + MPToken object reserve |
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": {
"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"
}
}| Field | Type | Description |
|---|---|---|
operation.type | string | Must be MPTokenAuthorize. |
operation.issuanceId | string | The 192-bit MPT Issuance ID (hex encoded). |
operation.flags | array | Empty array [] for 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.