{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["source-link","admonition","amendment-disclaimer","tx-example","code-page-name"]},"redocly_category":"Documentation","type":"markdown"},"seo":{"title":"ConfidentialMPTConvertBack","siteUrl":"https://xrpl.org/","llmstxt":{"hide":false,"title":"XRPL Developer Portal & Documentation","description":"Explore XRP Ledger documentation, blogs, and other blockchain developer resources needed to start building and integrating with the ledger.","details":{"content":"XRP Ledger concepts, use cases, tutorials, references, and other blockchain developer resources. Also, stay up to date with release announcements and more through the XRPL Blog."},"sections":[{"title":"Introduction","description":"A high-level introduction to the XRP Ledger.","includeFiles":["docs/introduction/**/*.*","about/faq.md"],"excludeFiles":["docs/introduction/index.md"]},{"title":"Use Cases","description":"Real-world applications and business scenarios for the XRP Ledger.","includeFiles":["docs/use-cases/**/*.*"],"excludeFiles":["docs/use-cases/index.md","docs/use-cases/defi/index.md"]},{"title":"Agentic Transactions","description":"XRPL AI Starter Kit to help autonomous agents discover, set up, and execute agentic transactions on the XRP Ledger.","includeFiles":["docs/agents/**/*.*"],"excludeFiles":[]},{"title":"Concepts","description":"Core concepts including accounts, tokens, transactions, consensus, and more.","includeFiles":["docs/concepts/**/*.*"],"excludeFiles":["docs/concepts/index.md","docs/concepts/decentralized-storage/index.md","docs/concepts/payment-types/index.md"]},{"title":"Tutorials","description":"Step-by-step guides for building on the XRP Ledger in JavaScript, Python, Go, and more.","includeFiles":["docs/tutorials/**/*.*"],"excludeFiles":[]},{"title":"References","description":"Protocol specification, transaction types, ledger entries, and API methods.","includeFiles":["docs/references/**/*.*"],"excludeFiles":["docs/references/xrp-api.md","docs/references/data-api.md","docs/references/protocol/index.md","docs/references/protocol/ledger-data/ledger-entry-types/index.md","docs/references/protocol/transactions/index.md","docs/references/protocol/transactions/types/index.md","docs/references/http-websocket-apis/api-conventions/index.md","docs/references/http-websocket-apis/public-api-methods/*/index.md","docs/references/http-websocket-apis/admin-api-methods/*/index.md"]},{"title":"Infrastructure","description":"Install, configure, and troubleshoot xrpld and Clio servers.","includeFiles":["docs/infrastructure/**/*.*"],"excludeFiles":["docs/infrastructure/index.md","docs/infrastructure/*/index.md","docs/infrastructure/installation/build-run-xrpld-in-reporting-mode.md","docs/infrastructure/configuration/data-retention/index.md","docs/infrastructure/configuration/server-modes/index.md"]},{"title":"Blog (2023+)","description":"Recent XRPL Blog posts (showing 2023 and newer).","includeFiles":["blog/2023/**/*.*","blog/2024/**/*.*","blog/2025/**/*.*","blog/2026/**/*.*"],"excludeFiles":[]},{"title":"Resources","description":"Developer resources and contribution guidelines.","includeFiles":["resources/**/*.*"],"excludeFiles":["resources/index.md"]}],"excludeFiles":[]},"description":"Convert a confidential MPT balance into a public one."},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"confidentialmptconvertback","__idx":0},"children":["ConfidentialMPTConvertBack"]},{"$$mdtype":"Tag","name":"SourceLink","attributes":{"path":"src/libxrpl/tx/transactors/token/ConfidentialMPTConvertBack.cpp","xrpld_release":"release/3.3.x"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Convert your confidential MPT balance back to a public balance. This debits the confidential spending balance and credits the public balance with the plaintext amount. For the issuer's ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["second account"]},", this returns confidential supply to the issuer account reserve."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"Note"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Only the spending balance can be converted back. Amounts in the inbox must first be merged into the spending balance using the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/references/protocol/transactions/types/confidentialmptmergeinbox"},"children":["ConfidentialMPTMergeInbox transaction"]},"."]}]},{"$$mdtype":"Tag","name":"AmendmentDisclaimer","attributes":{"name":"ConfidentialTransfer","compact":false,"statusOnly":false,"mode":""},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"example-confidentialmptconvertback-json","__idx":1},"children":["Example ","ConfidentialMPTConvertBack"," JSON"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"TransactionType\": \"ConfidentialMPTConvertBack\",\n  \"Account\": \"rEw98xHU9KvZwKUZpXF9pWAum98dzbMb5N\",\n  \"MPTokenIssuanceID\": \"003CE562586390F0CB47C7EB3A42740AEFDC9A1E0B5CA1AC\",\n  \"MPTAmount\": \"3000\",\n  \"HolderEncryptedAmount\": \"03838E58829AFA0778AAF1C3A4452F26ACB7090D71856D99A744BA5E2F184379890333409E592066D1B869876B1C551664CA588DAB3F73598A481E1DC507D7F80E59\",\n  \"IssuerEncryptedAmount\": \"03838E58829AFA0778AAF1C3A4452F26ACB7090D71856D99A744BA5E2F1843798903762CDD3C8261D9362DE29B7BFB1399A7BB85607C42513D45110234012E074CFD\",\n  \"BlindingFactor\": \"6FE59620FCA03CE87F921AE5885DA2ECC570AEA139F10733ACA4C865847EAF3C\",\n  \"ZKProof\": \"F07DC879D4A0F13613A4C0BD28EF7571F5B88B2BDD1ED37B862F2087386661EC1072268927066290745F0BE3638AD38235948F20A9AA8913637650086576D960F5563565847E27F2ABD4258CCD4ED23D0D8B79757CBF6F049EEF660B073695AC1DFC14BEB3CB0B7E44B326199FBFDF45614FCBA8B774430AC6A7B680DBF16774033F18126DAF1B0DE9C4940510155A11EE6B8105223CE739BE8281926AB47FBF6E033F796FAE4B4159AAA57BEDE7F11F77A5297199C957FC92CBF81562476167AC0503711277291F939EBE13403AF4BDCD9F7F48925A6E455A7902E8AB2774A88FFF1C03B42E97AF26D13F3B07B6C7CC527E21A125BFDFA38D1E6660D0D0272E4280DAE90396B83D6A0D9FBF49D77495657961C342532EE9BD2A4D618376DD2A7D7D470C83037646688CE4A29A13E16EEDDC221D8180EE2191E88679CB56A4DCB396974BBBEE02DC9D2AFC7440B847E40E05DFB6FA16A51A560647CCEE5817BD86365A16D2356A028E3FD1A7A75A629964BEE5F66436F2A29A8BBD9386D327A32A2167297B26D83703BF343BB5AD9C760642CDE34C4AA981A6318333813C9BCED84F72D954151BBB6E03E35A5413D3DD4073458F0BAE7CF780BEF0E156AEC8FBE823357C44454E9EC5AA0378DE4758868925D6140E730F14C0519A9525B1C8F550EE6DE8C993AF0B5C781D034F66FC57384EB9DCDE4ADBD724E4B870E39034C4911BD5B970FA1B4E0C9FEFAD03AFBC5771914B2D172F6FAA694D63030506A9733FB162791316D9E605EFAC8AF902370ED58A99C7DDF6B731C0F61C8DFA35DD85E9F610876C79404EE086E49475A203AAE2DF7DF0C302953A718E0B8A7CC285ED76C97C40D95FCFA6EF886694DBBD7E030796C16087DA96F867F8D1FE0DD461B153FE9B8A2E6AA7D81980E7115D23A2BBCAEF73E4408A49D852C0E6CBD88AA5F4B2654CC34B310E571A257E8D459E926C3DF3A3FD5F8E1CE64F24AA8B83314F16D5DD10120DA7153DB746A15AC8E15793ABB4CD285B43CFF728C966BE1A2BDEDD8CAA5B4210D5E8A24C3E6CEB4105DE297FEDAEC3B8A9D25F0ADA0757D45D9C55319402B5CFCB0AB94060952BCE7F14E3D8F673B59594CD568F58B681853C4C00A55B4F946E0E3B85406DE78CE52DD7B6\",\n  \"BalanceCommitment\": \"021AE9AACEA7CD9F58F735A6DBD671BF7824EF1E7A99731EBDE88502638F9D737F\",\n  \"Fee\": \"10\",\n  \"Sequence\": 3990889\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"TxExample","attributes":{"txid":"A3392C62D6CF629F32DA9F493F68FB4DE31152AD03AF489908867132B0CF5789","server":"devnet"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"confidentialmptconvertback-fields","__idx":2},"children":["ConfidentialMPTConvertBack"," Fields"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In addition to the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/references/protocol/transactions/common-fields"},"children":["common fields"]},", ",{"$$mdtype":"Tag","name":"CodePageName","attributes":{"name":"ConfidentialMPTConvertBack"},"children":[]}," transactions use the following 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":{"align":"left","data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"JSON Type"},"children":["JSON Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Internal Type"},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/references/protocol/binary-format"},"children":["Internal Type"]}]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Required?"},"children":["Required?"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AuditorEncryptedAmount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Blob"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["A 66-byte Ciphertext for the auditor. Required if ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AuditorEncryptionKey"]}," is present on the issuance."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BalanceCommitment"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Blob"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["A 33-byte cryptographic commitment to the user's confidential spending balance."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BlindingFactor"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["UInt256"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The 32-byte scalar value used to encrypt the amount. Used by validators to verify the ciphertexts match the plaintext ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTAmount"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HolderEncryptedAmount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Blob"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["A 66-byte Ciphertext to be subtracted from the holder's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ConfidentialBalanceSpending"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["IssuerEncryptedAmount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Blob"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["A 66-byte Ciphertext to be subtracted from the issuer's mirror balance."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTAmount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["UInt64"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The plaintext amount to credit to the public balance."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTokenIssuanceID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["UInt192"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The unique identifier for the MPT issuance."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ZKProof"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["String"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Blob"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["An 816-byte proof bundle containing a compact ConvertBack sigma proof and a single Bulletproof range proof. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#proof-structure"},"children":["Proof Structure"]}," for details."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"proof-structure","__idx":3},"children":["Proof Structure"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ZKProof"]}," field contains an 816-byte bundle made up of two parts:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["compact ConvertBack sigma proof (128 bytes)"]}," that verifies the holder owns the spending balance and that the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BalanceCommitment"]}," is correctly derived from it."]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["single Bulletproof range proof (688 bytes)"]}," that verifies that the remaining balance after withdrawal is non-negative."]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"error-cases","__idx":4},"children":["Error Cases"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Besides errors that can occur for all transactions, ",{"$$mdtype":"Tag","name":"CodePageName","attributes":{"name":"ConfidentialMPTConvertBack"},"children":[]}," transactions can result in the following ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/references/protocol/transactions/transaction-results"},"children":["transaction result codes"]},":"]},{"$$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":{"align":"left","data-label":"Error Code"},"children":["Error Code"]},{"$$mdtype":"Tag","name":"th","attributes":{"align":"left","data-label":"Description"},"children":["Description"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tecBAD_PROOF"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The Zero-Knowledge Proof verification failed. Common causes include:",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BlindingFactor"]}," fails to verify the integrity of the ciphertexts.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- The provided ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ZKProof"]}," fails the compact sigma or range proof check.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- The account's confidential spending balance is less than the requested ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTAmount"]},", so the range proof of the remaining balance fails."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tecINSUFFICIENT_FUNDS"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The issuance's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ConfidentialOutstandingAmount"]}," is less than the requested ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTAmount"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tecLOCKED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The MPT is locked for the account, or the issuance is globally locked."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tecNO_AUTH"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The issuance requires authorization and the account's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPToken"]}," is not authorized."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tecNO_PERMISSION"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The transaction lacks the required permissions. Common causes include:",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- The issuance does not have the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Can Hold Confidential Balance"]}," flag enabled.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- The account's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPToken"]}," is missing the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ConfidentialBalanceSpending"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HolderEncryptionKey"]}," field.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- The issuance has ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AuditorEncryptionKey"]}," set but the transaction omits ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AuditorEncryptedAmount"]}," (or the reverse)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tecOBJECT_NOT_FOUND"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTokenIssuance"]}," or the account's ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPToken"]}," does not exist."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["temBAD_AMOUNT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTAmount"]}," is zero or exceeds the maximum allowable MPT amount."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["temBAD_CIPHERTEXT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["One or more encrypted amount fields (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["HolderEncryptedAmount"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["IssuerEncryptedAmount"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AuditorEncryptedAmount"]},") has an incorrect length or represents an invalid elliptic curve point."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["temDISABLED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ConfidentialTransfer"]}," amendment is not enabled."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["temMALFORMED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{"align":"left"},"children":["The transaction is malformed. Common causes include:",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Account"]}," is the issuer of the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["MPTokenIssuanceID"]},".",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["BalanceCommitment"]}," is not a valid 33-byte compressed elliptic curve point.",{"$$mdtype":"Tag","name":"br","attributes":{},"children":[]},"- The ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ZKProof"]}," length is not 816 bytes."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"see-also","__idx":5},"children":["See Also"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/references/protocol/ledger-data/ledger-entry-types/mptoken"},"children":["MPToken entry"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/docs/references/protocol/ledger-data/ledger-entry-types/mptokenissuance"},"children":["MPTokenIssuance entry"]}]}]}]},"headings":[{"value":"ConfidentialMPTConvertBack","id":"confidentialmptconvertback","depth":1},{"value":"Example ConfidentialMPTConvertBack JSON","id":"example-confidentialmptconvertback-json","depth":2},{"value":"ConfidentialMPTConvertBack Fields","id":"confidentialmptconvertback-fields","depth":2},{"value":"Proof Structure","id":"proof-structure","depth":2},{"value":"Error Cases","id":"error-cases","depth":2},{"value":"See Also","id":"see-also","depth":2}],"frontmatter":{"seo":{"description":"Convert a confidential MPT balance into a public one.","title":"ConfidentialMPTConvertBack"},"labels":["Multi-Purpose Tokens, MPTs","Tokens","Confidential Transfers"],"requiredAmendment":"ConfidentialTransfer"},"editPage":{"to":"https://github.com/XRPLF/xrpl-dev-portal/tree/master/docs/references/protocol/transactions/types/confidentialmptconvertback.md"},"lastModified":"2026-07-31T15:04:33.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/references/protocol/transactions/types/confidentialmptconvertback","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}