{"templateId":"markdown","versions":[{"version":"v1.43","label":"v1.43 LTS","link":"/products/custody/accounts-and-assets/tokenization/xrpl-mpts/holder/authorize","default":true,"active":true,"folderId":"c15a2701"},{"version":"v1.42","label":"v1.42 STS","link":"/products/custody/v1.42/accounts-and-assets/tokenization/xrpl-mpts/holder/authorize","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.41","label":"v1.41 STS","link":"/products/custody/v1.41/accounts-and-assets/tokenization/xrpl-mpts/holder/authorize","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/accounts-and-assets/tokenization/xrpl-mpts/holder/authorize","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/accounts-and-assets/tokenization/xrpl-mpts/holder/authorize","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/accounts-and-assets/tokenization/xrpl-mpts/holder/authorize","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/accounts-and-assets/tokenization/xrpl-mpts/holder/authorize","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"sidebar":"sidebar-products/custody/@v1.15/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["img","partial","admonition"]},"type":"markdown"},"seo":{"title":"Authorize MPTs","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"authorize-mpts","__idx":0},"children":["Authorize MPTs"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Before receiving an MPT for the first time, the holder must submit an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTokenAuthorize"]}," transaction. This creates an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPToken"]}," entry with an initial zero balance."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":1},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Prerequisite"},"children":["Prerequisite"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Additional information"},"children":["Additional information"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["An XRPL account in ","Ripple Custody (Vault)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/accounts/manage-accounts-api#view-account-details"},"children":["View account details"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The MPT Issuance ID (48 hex characters)"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Provided by the token issuer"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sufficient XRP for reserves"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Owner reserve + MPToken object reserve"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authorize-an-mpt-in-the-ui","__idx":2},"children":["Authorize an MPT in the UI"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To opt in to an MPT:"]},{"$$mdtype":"Tag","name":"ol","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Go to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Accounts"]}," and open the account that will hold the token."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Create order"]}," and select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ledger-specific operations"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Ledger"]},", select the XRP Ledger network."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Operation"]},", select ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Opt in to token"]},"."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select the token:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Listed asset"]}," — Select the token from the list of registered assets."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Unlisted asset"]}," — Enter the issuance ID that the issuer gave you. A new MPT usually isn't in the list until your account has received it."]}]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/mpt-ui-opt-in-form.b91c90517a177cb57b46656848a7baee61bac7eb553636d24d831ec3c72c0cf3.93c15c9d.png","alt":"The Opt in to token form with an unlisted MPT","framed":false,"withLightbox":false,"width":"50%"},"children":[]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Select a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Fee Strategy"]},", then click ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Submit for approval"]}," and ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/identity-and-access/authentication/ui-authentication#sign-ui-operations"},"children":["sign the operation with the app"]},". The signing window shows the operation as ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["MPT Authorize"]}," with the setting ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Holder opt-in"]},"."]},{"$$mdtype":"Tag","name":"Image","attributes":{"src":"/assets/mpt-ui-opt-in-approval.d5583eb509d1d881ba6c6391795dd0be8998a30074d9cea0f74af485ec128622.93c15c9d.png","alt":"The signing window for an Opt in to token operation","framed":false,"withLightbox":false,"width":"75%"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the MPT requires authorization, the issuer must also ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/tokenization/xrpl-mpts/issuer/authorize-holder"},"children":["authorize your account"]}," before you can receive the token."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authorize-an-mpt-with-the-api","__idx":3},"children":["Authorize an MPT with the API"]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"System change process"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["All new requests to change the system state follow the same process. To familiarize yourself with this process first, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/governance/intents/manage-intents-and-approvals"},"children":["Manage intents and approvals"]},"."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To authorize an MPT in ","Ripple Custody (Vault)",", create a transaction order with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTokenAuthorize"]}," operation:"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"payload-example","__idx":4},"children":["Payload example"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"payload\": {\n    \"id\": \"{{intent_id}}\",\n    \"accountId\": \"42e44ded-a268-4426-a0fe-7287b5d52a01\",\n    \"ledgerId\": \"xrpl-testnet\",\n    \"parameters\": {\n      \"type\": \"XRPL\",\n      \"feeStrategy\": {\n        \"priority\": \"Medium\",\n        \"type\": \"Priority\"\n      },\n      \"memos\": [],\n      \"operation\": {\n        \"type\": \"MPTokenAuthorize\",\n        \"tokenIdentifier\": {\n          \"issuanceId\": \"000004C463C52827307480341125DA0577AFFC21D4B2D083\",\n          \"type\": \"MPTokenIssuanceId\"\n        },\n        \"flags\": []\n      }\n    },\n    \"customProperties\": {},\n    \"type\": \"v0_CreateTransactionOrder\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"payload-fields","__idx":5},"children":["Payload fields"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operation.type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Must be ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTokenAuthorize"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operation.tokenIdentifier.type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTokenIssuanceId"]}," to identify the MPT by its issuance ID, or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TickerId"]}," to identify it by its ticker ID."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operation.tokenIdentifier.issuanceId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The 192-bit MPT issuance ID (48 hex characters). Required when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTokenIssuanceId"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operation.tokenIdentifier.tickerId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The ID of the MPT's ticker. Required when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TickerId"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["operation.flags"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["array"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Empty array ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["[]"]}," for authorization."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"revoke-authorization-with-the-api","__idx":6},"children":["Revoke authorization with the API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To revoke authorization and remove the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPToken"]}," entry, include the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tfMPTUnauthorize"]}," flag:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"operation\": {\n    \"type\": \"MPTokenAuthorize\",\n    \"tokenIdentifier\": {\n      \"issuanceId\": \"000004C463C52827307480341125DA0577AFFC21D4B2D083\",\n      \"type\": \"MPTokenIssuanceId\"\n    },\n    \"flags\": [\"tfMPTUnauthorize\"]\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can only revoke authorization if your MPT balance is zero. Transfer or return all tokens before revoking."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-topics","__idx":7},"children":["Related topics"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/tokenization/xrpl-mpts/holder/receive"},"children":["Receive MPTs"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/tokenization/xrpl-mpts/holder/send"},"children":["Send MPTs"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/accounts-and-assets/tokenization/xrpl-mpts"},"children":["Multi-purpose tokens concepts"]}]}]}]},"headings":[{"value":"Authorize MPTs","id":"authorize-mpts","depth":1},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Authorize an MPT in the UI","id":"authorize-an-mpt-in-the-ui","depth":2},{"value":"Authorize an MPT with the API","id":"authorize-an-mpt-with-the-api","depth":2},{"value":"Payload example","id":"payload-example","depth":3},{"value":"Payload fields","id":"payload-fields","depth":3},{"value":"Revoke authorization with the API","id":"revoke-authorization-with-the-api","depth":2},{"value":"Related topics","id":"related-topics","depth":2}],"frontmatter":{"seo":{"title":"Authorize MPTs"}},"lastModified":"2026-11-03T15:15:16.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/custody/accounts-and-assets/tokenization/xrpl-mpts/holder/authorize","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}