You can send MPTs to other authorized holders using either a transaction order or a transfer order.
| Prerequisite | Additional information |
|---|---|
| An XRPL account with MPT balance | Check balances |
| The destination address (must be authorized for the MPT) | Provided by the recipient |
The MPT must have lsfMPTCanTransfer flag set | Token flags |
| Approach | When to use |
|---|---|
| Transfer order | Standard approach when you have a validated ticker for the MPT |
| Transaction order | When you need full control over ledger-specific parameters |
Use the v0_CreateTransferOrder intent with the MPT ticker ID:
{
"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.
Use the v0_CreateTransactionOrder intent with the MPT currency type:
{
"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"
}
}| Field | Type | Description |
|---|---|---|
type | string | Must be MultiPurposeToken. |
issuanceId | string | The 192-bit MPT Issuance ID (hex encoded). |