# Send MPTs

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

## Prerequisites

| Prerequisite | Additional information |
|  --- | --- |
| An XRPL account with MPT balance | [Check balances](/products/custody/v1.34/api/accounting/multi-purpose-tokens/holder/balances) |
| The destination address (must be authorized for the MPT) | Provided by the recipient |
| The MPT must have `lsfMPTCanTransfer` flag set | [Token flags](/products/custody/v1.34/concepts/multi-purpose-tokens#token-flags) |


## Choose your approach

| 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 |


## Using transfer order (recommended)

Use the `v0_CreateTransferOrder` intent with the MPT ticker ID:

### Payload example


```json
{
  "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](/products/custody/v1.34/api/accounting/send-assets).

## Using transaction order

Use the `v0_CreateTransactionOrder` intent with the MPT currency type:

### Payload example


```json
{
  "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

| Field | Type | Description |
|  --- | --- | --- |
| `type` | string | Must be `MultiPurposeToken`. |
| `issuanceId` | string | The 192-bit MPT Issuance ID (hex encoded). |


## Related topics

- [Authorize MPT](/products/custody/v1.34/api/accounting/multi-purpose-tokens/holder/authorize)
- [Check balances](/products/custody/v1.34/api/accounting/multi-purpose-tokens/holder/balances)
- [Send assets](/products/custody/v1.34/api/accounting/send-assets)