
Issuer controls
4 minDifficulty Checked 2026-11-10- An issuance's flags show what the issuer can do to your balance.
- A locked MPT balance can only be sent back to the issuer.
- Without Can Transfer, holders can send the token only to the issuer.
Every MPT comes with a row of switches. The issuer picks them when it creates the token. They are public, so you can read them before you hold it.
| Switch | If on |
|---|---|
| Can Transfer | Holders can send the token to each other. |
| Can Lock | The issuer can lock one holder's balance, or everyone's. |
| Can Clawback | The issuer can take tokens back from a holder. |
| Require Auth | Only holders the issuer approved can hold it. |
| Can Escrow | Holders can put the token in escrow. |
| Can Trade | Holders may trade it on the DEX, once MPT trading exists. |
If Can Transfer is off, the token is like store credit. You can only send it back to the issuer.
If Can Lock is off, the issuer can never freeze the token. If Can Clawback is off, the issuer can never take it back. Read both before holding anything of value.
A locked balance is stuck. It cannot be sent or received. The one exception is paying it back to the issuer. This matches a deep freeze on a trust line token.
An issuer can also charge a transfer fee when holders pay each other. The sender pays it on top of the amount, and those extra tokens are burned. To deliver 100.00 with a 0.5% fee, the sender pays 100.50.
Flags. Set in MPTokenIssuanceCreate, stored on the MPTokenIssuance entry as lsf flags with the same values.
| Create flag | Hex |
|---|---|
tfMPTCanLock | 0x00000002 |
tfMPTRequireAuth | 0x00000004 |
tfMPTCanEscrow | 0x00000008 |
tfMPTCanTrade | 0x00000010 |
tfMPTCanTransfer | 0x00000020 |
tfMPTCanClawback | 0x00000040 |
lsfMPTLocked (0x00000001) on the issuance means all balances are locked. On an MPToken entry it means that holder's balance is locked.
Locking. The issuer sends MPTokenIssuanceSet with tfMPTLock or tfMPTUnlock. With Holder, it applies to one account. Without Holder, it applies to every holder of the issuance. It works only if the issuance has Can Lock.
Clawback. The issuer sends Clawback with an MPT Amount and the Holder field. The holder must have a non-zero balance. An amount above the balance claws back the whole balance. For trust line tokens the same transaction omits Holder.
Allow-listing. With Require Auth, the issuer approves each holder by sending MPTokenAuthorize with Holder. The holder's MPToken then shows lsfMPTAuthorized. An issuance can instead point to a permissioned domain through DomainID, so that accounts holding the domain's accepted credentials qualify.
Transfer fee. TransferFee is 0 to 50,000 in tenths of a basis point: 1 is 0.001% and 50,000 is 50%. It applies to transfers between holders, not to payments to or from the issuer. A non-zero fee needs Can Transfer.
Before holding an MPT
- Look up the issuance with
ledger_entry. ReadIssuer,Flags,TransferFee,MaximumAmountandOutstandingAmount. - Decode
MPTokenMetadata. Treat it as the issuer's own claim. - Confirm the issuer address through a channel outside the ledger, such as the issuer's website.
The changes these flags can go through after creation depend on the DynamicMPT amendment, covered in Where MPTs stand.
Related: Freeze, Deep Freeze and Clawback, Credentials.
- Multi-Purpose Tokens (MPTs)Read 2026-11-10
- MPTokenIssuanceCreateRead 2026-11-10
- MPTokenIssuanceSetRead 2026-11-10
- MPTokenIssuanceRead 2026-11-10
- ClawbackRead 2026-11-10
