# ConfidentialMPTMergeInbox

[Source](https://github.com/XRPLF/rippled/blob/release/3.3.x/src/libxrpl/tx/transactors/token/ConfidentialMPTMergeInbox.cpp)

Merge your confidential *inbox* balance into your *spending* balance. This moves all funds from the inbox balance into the spending balance and resets the inbox to encrypted zero, ensuring that proofs reference only stable spending balances.

Note
Even if the inbox is already empty (contains encrypted zero), this transaction is valid and succeeds.

_Requires the [ConfidentialTransfer amendment](/resources/known-amendments#confidentialtransfer). (Inactive)_

## Example  JSON

```json
{
  "TransactionType": "ConfidentialMPTMergeInbox",
  "Account": "rUUeVf9zJWfg7mxNCLhEXm9mfmeHBGb9w3",
  "MPTokenIssuanceID": "003CE807D39D78123FFBDD9401BEC038D88BD328AC353B9C",
  "Fee": "10",
  "Sequence": 3991569
}
```

##  Fields

In addition to the [common fields](/docs/references/protocol/transactions/common-fields),  transactions use the following fields:

| Field | JSON Type | [Internal Type](/docs/references/protocol/binary-format) | Required? | Description |
|  --- | --- | --- | --- | --- |
| `MPTokenIssuanceID` | String | UInt192 | Yes | The unique identifier for the MPT issuance. |


## Error Cases

Besides errors that can occur for all transactions,  transactions can result in the following [transaction result codes](/docs/references/protocol/transactions/transaction-results):

| Error Code | Description |
|  --- | --- |
| `tecLOCKED` | The MPT is locked for the account, or the issuance is globally locked. |
| `tecNO_AUTH` | The issuance requires authorization and the account's `MPToken` is not authorized. |
| `tecNO_PERMISSION` | The transaction lacks the required permissions. Common causes include:- The issuance does not have the **Can Hold Confidential Balance** flag enabled.- The account's `MPToken` is missing the `ConfidentialBalanceInbox`, `ConfidentialBalanceSpending`, or `HolderEncryptionKey` field. |
| `tecOBJECT_NOT_FOUND` | The `MPTokenIssuance` or the account's `MPToken` does not exist. |
| `temDISABLED` | The `ConfidentialTransfer` amendment is not enabled. |
| `temMALFORMED` | The `Account` is the issuer of the `MPTokenIssuanceID`. |


## See Also

- [MPToken entry](/docs/references/protocol/ledger-data/ledger-entry-types/mptoken)
- [MPTokenIssuance entry](/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance)