Skip to content

You can send MPTs to other authorized holders using either a transaction order or a transfer order.

Prerequisites

PrerequisiteAdditional information
An XRPL account with MPT balanceCheck balances
The destination address (must be authorized for the MPT)Provided by the recipient
The MPT must have lsfMPTCanTransfer flag setToken flags

Choose your approach

ApproachWhen to use
Transfer orderStandard approach when you have a validated ticker for the MPT
Transaction orderWhen you need full control over ledger-specific parameters

Use the v0_CreateTransferOrder intent with the MPT ticker ID:

Payload example

{
  "payload": {
    "id": "{{intent_id}}",
    "accountId": "42e44ded-a268-4426-a0fe-7287b5d52a01",
    "tickerId": "c688abc8-e179-47c2-be37-ade6a73ee074",
    "outputs": [
      {
        "destination": {
          "address": "rE9jefR6roc2aB84LnVmjznw1j4FFyCtQe",
          "type": "Address"
        },
        "amount": "19000",
        "paysFee": null
      }
    ],
    "feeStrategy": "Medium",
    "maximumFee": null,
    "description": "MPT transfer",
    "customProperties": {},
    "type": "v0_CreateTransferOrder"
  }
}

For complete details on transfer orders, see Send assets.

Using transaction order

Use the v0_CreateTransactionOrder intent with the MPT currency type:

Payload example

{
  "payload": {
    "id": "{{intent_id}}",
    "ledgerId": "xrpl-testnet",
    "accountId": "42e44ded-a268-4426-a0fe-7287b5d52a01",
    "parameters": {
      "type": "XRPL",
      "feeStrategy": {
        "priority": "High",
        "type": "Priority"
      },
      "maximumFee": "1000000000000",
      "sourceTag": 100001,
      "memos": [],
      "operation": {
        "destination": {
          "address": "rE9jefR6roc2aB84LnVmjznw1j4FFyCtQe",
          "type": "Address"
        },
        "amount": "19000",
        "currency": {
          "issuanceId": "00C50FC691356D4BE196F42A0E75CB63E4311CBC154D8549",
          "type": "MultiPurposeToken"
        },
        "type": "Payment"
      }
    },
    "description": null,
    "customProperties": {},
    "type": "v0_CreateTransactionOrder"
  }
}

Currency object fields

FieldTypeDescription
typestringMust be MultiPurposeToken.
issuanceIdstringThe 192-bit MPT Issuance ID (hex encoded).