The Multi-Purpose Token (MPT) is a forthcoming token standard designed to offer a new level of flexibility and functionality to the XRP Ledger. MPT will serve as a ‘best of both worlds’ token standard between fungible and non-fungible tokens, facilitating new or enhanced use cases such as tokenization of real world assets, compliance controls, and developer accessibility.
MPTs will combine straightforward fungibility with the flexibility to store metadata, enforce supply controls without blackholing an account, authorize specific account holders, and more. This addresses limitations in existing token formats by eliminating floating-point math and reducing on-ledger storage requirements, and enabling simpler token flows that can represent everything from stablecoins to complex financial assets with precision.
By seamlessly integrating on-chain metadata and offering a lower storage footprint, MPT aims to enhance token utility without sacrificing XRPL’s performance. This makes it a good option for issuers that require efficient tokenization, while node operators can reduce their long-term infrastructure and storage burdens, resulting in increased network resiliency and improving node performance when processing large volumes of MPT transactions.
Chronology of the MPT Standard
The MPT spec was first introduced to the community in 2022 as a solution to support common tokenization requirements and reduce the storage space required by trustlines. Following extensive review and community feedback, the spec was iterated upon.
The original design and implementation included an owner directory to store all
MPToken
s associated with the sameMPTokenIssuance
. This was intended to support thempt_holders
RPC in rippled. However, the owner directory was later removed because it was not utilized by transactions. Its removal reduced storage requirements. The responsibility for supportingmpt_holders
has since been delegated to Clio, which serves the same purpose.-
Originally, Multi-Purpose Tokens on XRPL were designed to reuse the
NFTokenPage
structure to enable more compact object storage. However, this approach presented several disadvantages:- Excessive metadata overhead: The
NFTokenPage
structure generated a large amount of metadata for each transaction, significantly increasing costs and storage requirements for full-history nodes that store the complete ledger history. Additionally, this would cause a notable performance impact when used in the Decentralized Exchange (DEX), where each payment transaction might involve multipleMPToken
s. The resulting metadata would severely impact the overall efficiency of the network. - Poor developer experience: Learning from experiences with NFTs, developers had a subpar experience working with NFT APIs and understanding how the functionality worked. For instance, calculating the reserve requirements for a given number of NFTs was nearly impossible for users.
NFTokenPage
also introduced unnecessary complexity, as its full functionality had to be supported by Clio, making it exceptionally difficult to use. So we decided to not use theNFTokenPage
structure to provide user-friendly APIs and simple, easy-to-understand mechanisms.
- Excessive metadata overhead: The
MPT is uniquely identified by its
MPTokenIssuanceID
because because it combines the issuer and issuance sequence, preventing re-creation of the same MPT after deletion and ensuring uniqueness for token holders. Full explanation.-
The reason why MPT amount supports range 0 - 2^63-1:
- MPT amounts in ledger objects are generally stored as unsigned 64-bit integers (0 to 2^64 - 1). However, when MPT amounts appear in transactions requiring an
STAmount
, they are restricted to 0 to 2^63 - 1. This same limit applies to balance tracking inMPTokenIssuance
andMPToken
. The restriction is due to limitations of the internalNumber
class, which currently cannot handle values beyond 2^63 - 307 without losing precision or overflowing. Full explanation.
- MPT amounts in ledger objects are generally stored as unsigned 64-bit integers (0 to 2^64 - 1). However, when MPT amounts appear in transactions requiring an
After implementing these design changes, the MPT standard was released on a devnet. Approaching its merge to the rippled codebase, in October 2024, Softstack GmbH completed a security audit. Shortly thereafter, the MPT standard was included as an amendment in the XRPL version 2.3.0 release in November.
More recently in 2025, the RippleX team has completed performance testing of the MPT standard, finding that XRPL remains performant. Additionally, the team has published an MPT metadata schema, that explains our recommended metadata format for the XRPL and includes examples using tokenized RWAs.
MPT Use Cases
1. Real World Asset Tokenization
MPT enables seamless tokenization of real-world assets with enhanced precision and flexibility, making it ideal for:
- Bond Issuance: Store terms such as face value, coupon rate, and maturity dates directly on-chain for transparency and efficiency.
- Fractional Ownership: Facilitate the trade of fractional investment assets with accurate decimal support and visible on-chain details.
- Bulk and Decimal Trading: Support large-scale or fractional trading with precision, ensuring smooth and reliable transactions.
2. Compliance Controls
MPT introduces robust compliance mechanisms to align token operations with regulatory requirements:
- Freezing & Clawback: Issuers can freeze or recover tokens in scenarios like lost wallet recovery or fraud mitigation.
- Authorization & Non-Transferability: Tokens can be restricted to specific wallets or made non-transferable, ensuring compliance with targeted use cases and regulatory needs.
3. Developer Accessibility
MPT simplifies the developer experience with intuitive tools and features:
- On-Chain Metadata & Pointers: Developers can store key asset details or reference off-ledger data directly on-chain using simple APIs, enhancing transparency and functionality.
- Flexible Supply & Fees: Natively supported mechanisms allow developers to set maximum issuance limits or collect transfer fees, simplifying token management and monetization.
How to Test on Devnet
Testing MPT functionality is straightforward on Devnet. Here’s how to get started:
- Visit the XRPL Faucet to obtain test XRP and access Devnet.
- Utilize the latest client libraries that support MPT: xrpl-py, xrpl.js
- Experiment with creating and managing MPT objects, testing scenarios like bulk trades, fractional ownership, or compliance features.
Go to the Devnet where you can test new object types in various scenarios. MPT is supported in the latest release of client libraries:
How to Vote for the MPT Amendment
To support the adoption of MPT on the XRPL, you can participate in the amendment voting process.
- Refer to the Amendments Guide for a step-by-step overview of how to vote.
- New to XRPL? This guide also explains how the amendment process works and how you can contribute to the network’s evolution.
With its flexibility, enhanced compliance controls, and ease of integration for developers, MPT represents the next evolution in token standards on the XRPL. Whether you’re looking to tokenize real-world assets, implement secure compliance measures, or innovate with new use cases, MPT provides the tools to unlock new opportunities across the ecosystem.
For more information and updates, visit the XRPL MPT Overview.
Top comments (0)