{"templateId":"markdown","versions":[{"version":"v1.40","label":"v1.40 STS","link":"/products/custody/accounts-and-assets/tokenization/xrpl-mpts/issuer/escrow","default":true,"active":false,"folderId":"c15a2701"},{"version":"v1.39","label":"v1.39 STS","link":"/products/custody/v1.39/accounts-and-assets/tokenization/xrpl-mpts/issuer/escrow","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.38","label":"v1.38 STS","link":"/products/custody/v1.38/accounts-and-assets/tokenization/xrpl-mpts/issuer/escrow","default":false,"active":true,"folderId":"c15a2701"},{"version":"v1.34","label":"v1.34 LTS","link":"/products/custody/v1.34/accounts-and-assets/tokenization/xrpl-mpts/issuer/escrow","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.26","label":"v1.26 LTS","link":"/products/custody/v1.26/accounts-and-assets/tokenization/xrpl-mpts/issuer/escrow","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.19","label":"v1.19 LTS","link":"/products/custody/v1.19/accounts-and-assets/tokenization/xrpl-mpts/issuer/escrow","default":false,"active":false,"folderId":"c15a2701"},{"version":"v1.15","label":"v1.15 LTS","link":"/products/custody/v1.15/accounts-and-assets/tokenization/xrpl-mpts/issuer/escrow","default":false,"active":false,"folderId":"c15a2701"}],"sharedDataIds":{"sidebar":"sidebar-products/custody/@v1.15/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"MPT Escrow","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com","lang":"en-US","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"mpt-escrow","__idx":0},"children":["MPT Escrow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Place Multi-Purpose Tokens in escrow on the XRP Ledger."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"how-mpt-escrow-works","__idx":1},"children":["How MPT escrow works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Escrow allows tokens to be held on-chain with release conditions such as time-based locks or cryptographic conditions. This enables use cases like scheduled payments, conditional releases, and trustless token exchanges."]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Escrow requires ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tfMPTCanEscrow"]}," to be set during issuance. This flag cannot be added after the MPT is created."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"prerequisites","__idx":2},"children":["Prerequisites"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The MPT was created with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tfMPTCanEscrow"]}," flag enabled"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The holder has sufficient tokens to place in escrow"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Sufficient XRP for transaction fees and reserves"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"finish-an-escrow","__idx":3},"children":["Finish an escrow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To release tokens from an existing escrow, submit an ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EscrowFinish"]}," transaction:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"payload\": {\n    \"id\": \"{{intent_id}}\",\n    \"accountId\": \"{{account_id}}\",\n    \"ledgerId\": \"xrpl-testnet\",\n    \"parameters\": {\n      \"type\": \"XRPL\",\n      \"feeStrategy\": {\n        \"priority\": \"High\",\n        \"type\": \"Priority\"\n      },\n      \"maximumFee\": \"1000000000\",\n      \"operation\": {\n        \"type\": \"EscrowFinish\",\n        \"owner\": {\n          \"address\": \"rOwnerAddress...\",\n          \"type\": \"Address\"\n        },\n        \"offerSequence\": 12345678\n      }\n    },\n    \"description\": \"EscrowFinish intent\",\n    \"customProperties\": {},\n    \"type\": \"v0_CreateTransactionOrder\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"parameters","__idx":4},"children":["Parameters"]},{"$$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":"Required"},"children":["Required"]},{"$$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":["owner"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["object"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The account that created the escrow."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["owner.type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["One of: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Account"]}," (internal account UUID), ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Address"]}," (XRPL address), or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Endpoint"]}," (endpoint UUID)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["owner.address"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Conditional"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The XRPL address that created the escrow. Required when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["owner.type"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Address"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["owner.accountId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Conditional"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Internal account UUID. Required when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["owner.type"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Account"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["owner.endpointId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Conditional"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Endpoint UUID. Required when ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["owner.type"]}," is ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Endpoint"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offerSequence"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["integer"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The sequence number of the escrow creation transaction."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["condition"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Hex-encoded PREIMAGE-SHA-256 crypto-condition (if escrow uses condition)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fulfillment"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["string"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Hex-encoded fulfillment matching the condition (required if condition was set)."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["credentialIds"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["array"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Array of hex-encoded credential IDs (if escrow requires credentials)."]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"conditional-escrow","__idx":5},"children":["Conditional escrow"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If the escrow was created with a crypto-condition, you must provide both the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["condition"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fulfillment"]}," parameters:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"operation\": {\n    \"type\": \"EscrowFinish\",\n    \"owner\": {\n      \"address\": \"rOwnerAddress...\",\n      \"type\": \"Address\"\n    },\n    \"offerSequence\": 12345678,\n    \"condition\": \"A0258020E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855810100\",\n    \"fulfillment\": \"A0028000\"\n  }\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"response","__idx":6},"children":["Response"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A successful request returns the transaction order with status ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Pending"]},". After confirmation:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The escrowed tokens are released to the destination address."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["The escrow object is removed from the ledger."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Any XRP reserve held for the escrow is returned to the creator."]}]},{"$$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/v1.38/accounts-and-assets/tokenization/xrpl-mpts#supported-operations"},"children":["Multi-purpose tokens"]}," — Overview of MPT operations."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/products/custody/v1.38/accounts-and-assets/tokenization/xrpl-mpts/issuer/create-issuance"},"children":["Create issuance"]}," — Create an MPT with the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["tfMPTCanEscrow"]}," flag."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://xrpl.org/docs/references/protocol/transactions/types/escrowfinish","target":"_blank"},"children":["EscrowFinish"]}," — XRPL transaction reference."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://xrpl.org/docs/concepts/payment-types/escrow","target":"_blank"},"children":["Escrow"]}," — XRPL escrow concepts."]}]}]},"headings":[{"value":"MPT Escrow","id":"mpt-escrow","depth":1},{"value":"How MPT escrow works","id":"how-mpt-escrow-works","depth":2},{"value":"Prerequisites","id":"prerequisites","depth":2},{"value":"Finish an escrow","id":"finish-an-escrow","depth":2},{"value":"Parameters","id":"parameters","depth":2},{"value":"Conditional escrow","id":"conditional-escrow","depth":2},{"value":"Response","id":"response","depth":2},{"value":"Related topics","id":"related-topics","depth":2}],"frontmatter":{"seo":{"title":"MPT Escrow"}},"lastModified":"2026-07-27T10:10:43.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/custody/v1.38/accounts-and-assets/tokenization/xrpl-mpts/issuer/escrow","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}