{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-products/wallet/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["admonition"]},"type":"markdown"},"seo":{"title":"Policy reference","description":"User guides, API reference, and support resources.","siteUrl":"https://docs.ripple.com/products/custody","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":"policy-reference","__idx":0},"children":["Policy reference"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This page provides a complete reference for policy configuration options, limit types, matchers, statuses, and error codes. For API operations (create, delete, list), see ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/wallet/user-interface/policies/policies-manage#api-operations"},"children":["Manage policies"]},"."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"quick-reference","__idx":1},"children":["Quick reference"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"limit-types","__idx":2},"children":["Limit types"]},{"$$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":"Limit type"},"children":["Limit type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"API value"},"children":["API value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Duration required"},"children":["Duration 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":["Per transaction"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PER_TX"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Maximum per single transaction"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Rolling duration"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ROLLING_DURATION"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Maximum over a sliding time window"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Max total value"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CONSTANT"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Lifetime cap on total withdrawals"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"matcher-types","__idx":3},"children":["Matcher types"]},{"$$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":"Matcher"},"children":["Matcher"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"API value"},"children":["API value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Filters by"},"children":["Filters by"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transaction type"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TRANSACTION_TYPE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Type of blockchain transaction"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["User"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["USER"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["User who initiated the transaction"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["API credential"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["API_CREDENTIAL"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["API credential that submitted the request"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Address"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ADDRESS_ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Destination address (from address book)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Counterparty"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COUNTERPARTY_ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Counterparty receiving funds"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Wallet"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["WALLET_ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Related wallet reference"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sign for"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SIGN_FOR"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Address being signed for (multi-sig)"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"duration-values","__idx":4},"children":["Duration values"]},{"$$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":"Duration"},"children":["Duration"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Notes"},"children":["Notes"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1 hour"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"3600s\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["60 × 60 seconds"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["4 hours"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"14400s\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["60 × 60 × 4 seconds"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["24 hours"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"86400s\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["60 × 60 × 24 seconds"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["7 days"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"604800s\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["60 × 60 × 24 × 7 seconds"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["30 days"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"2592000s\""]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["60 × 60 × 24 × 30 seconds"]}]}]}]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"limit-types-1","__idx":5},"children":["Limit types"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"per_tx","__idx":6},"children":["PER_TX"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Limits the maximum amount for any single transaction."]},{"$$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":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["limitType"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"PER_TX\""]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["duration"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Not used (returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"0s\""]},")"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example:"]}," Limit single ETH transactions to 10 ETH maximum."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"limitType\": \"PER_TX\",\n  \"symbol\": \"ETH\",\n  \"limitQty\": \"10\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"rolling_duration","__idx":7},"children":["ROLLING_DURATION"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Limits the cumulative amount over a sliding time window."]},{"$$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":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["limitType"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"ROLLING_DURATION\""]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["duration"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Required. Window size in seconds"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Common duration values:"]}]},{"$$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":"Duration"},"children":["Duration"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["1 hour"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"3600s\""]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["24 hours"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"86400s\""]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["7 days"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"604800s\""]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["30 days"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"2592000s\""]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example:"]}," Limit ETH withdrawals to 100 ETH per 24 hours."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"limitType\": \"ROLLING_DURATION\",\n  \"symbol\": \"ETH\",\n  \"limitQty\": \"100\",\n  \"duration\": \"86400s\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"constant","__idx":8},"children":["CONSTANT"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Sets a lifetime cap on total withdrawals. Once reached, no further withdrawals are permitted."]},{"$$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":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["limitType"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"CONSTANT\""]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["duration"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Not used (returns ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["\"0s\""]},")"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example:"]}," Limit total ETH withdrawals to 1,000 ETH ever."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"limitType\": \"CONSTANT\",\n  \"symbol\": \"ETH\",\n  \"limitQty\": \"1000\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"matchers","__idx":9},"children":["Matchers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Matchers filter which transactions a policy applies to. Add matchers to create policies that target specific scenarios."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"matcher-types-1","__idx":10},"children":["Matcher types"]},{"$$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":"Type"},"children":["Type"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Description"},"children":["Description"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value format"},"children":["Value format"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TRANSACTION_TYPE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by transaction type"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Transaction type string"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["USER"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by initiating user"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["User UUID"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["API_CREDENTIAL"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by API credential used"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Credential UUID"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ADDRESS_ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by destination address"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Address book entry UUID"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["COUNTERPARTY_ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by counterparty"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Counterparty UUID"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["WALLET_ID"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by related wallet"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Wallet UUID"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SIGN_FOR"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Filter by address being signed for"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Blockchain address"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"transaction_type","__idx":11},"children":["TRANSACTION_TYPE"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Applies the policy only to transactions of a specific type."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Values by blockchain:"]}]},{"$$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":"Blockchain"},"children":["Blockchain"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Transaction types"},"children":["Transaction types"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ethereum/EVM"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["WITHDRAWAL"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TRANSFER"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["XRP Ledger"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Payment"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OfferCreate"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OfferCancel"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TrustSet"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EscrowCreate"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["EscrowFinish"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMMCreate"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMMDeposit"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMMWithdraw"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Bitcoin"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["WITHDRAWAL"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"info","name":"XRP Ledger transaction types"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["XRP Ledger transaction type values are case-sensitive and use PascalCase (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OfferCreate"]},", not ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["OFFER_CREATE"]},"). EVM and Bitcoin types use uppercase (for example, ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["WITHDRAWAL"]},")."]}]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"AMM transactions require multi-asset policies"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMMCreate"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AMMDeposit"]}," transactions withdraw multiple assets from the wallet. The policy engine requires policies for ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["each affected asset"]},". For issued assets (such as RLUSD or USD), the policy must include the issuer. See the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/wallet/changelogs/xrp-ledger-amm-apis"},"children":["AMM APIs changelog"]}," for details."]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"limitType\": \"PER_TX\",\n  \"symbol\": \"XRP\",\n  \"limitQty\": \"1000\",\n  \"matchers\": [\n    {\n      \"type\": \"TRANSACTION_TYPE\",\n      \"value\": \"Payment\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"user","__idx":12},"children":["USER"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Applies the policy only when a specific user initiates the transaction."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"matchers\": [\n    {\n      \"type\": \"USER\",\n      \"value\": \"8617b5b5-dfcf-4ffc-9f46-f7cec35a88bd\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"api_credential","__idx":13},"children":["API_CREDENTIAL"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Applies the policy only when a specific API credential submits the transaction."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"matchers\": [\n    {\n      \"type\": \"API_CREDENTIAL\",\n      \"value\": \"cred-uuid-here\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"address_id","__idx":14},"children":["ADDRESS_ID"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Applies the policy only when sending to a specific address from your address book."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"matchers\": [\n    {\n      \"type\": \"ADDRESS_ID\",\n      \"value\": \"019d1b00-c1f5-77a0-bda7-0a3d09c668b9\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"counterparty_id","__idx":15},"children":["COUNTERPARTY_ID"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Applies the policy only when sending to a specific counterparty."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"matchers\": [\n    {\n      \"type\": \"COUNTERPARTY_ID\",\n      \"value\": \"019d1b00-c1f5-77a0-bda7-0a3d09c668b9\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"sign_for","__idx":16},"children":["SIGN_FOR"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Applies the policy only when signing for a specific address. Use this matcher for multi-signature scenarios where your wallet signs on behalf of another address."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"matchers\": [\n    {\n      \"type\": \"SIGN_FOR\",\n      \"value\": \"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Orphaned matcher references"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you delete a counterparty, address, or user that is referenced by a policy's matcher, the policy continues to exist with the now-invalid reference. No transaction will match the deleted entity, so the policy becomes effectively unmatchable. If it is the only policy for that asset, this silently blocks all matching transactions. Always check for policies referencing an entity before deleting it."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"combining-matchers","__idx":17},"children":["Combining matchers"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can add multiple matchers to a single policy. The transaction must match ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["all"]}," matchers for the policy to apply."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Example:"]}," Limit a specific user to 50 ETH per transaction when sending to a specific counterparty."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"limitType\": \"PER_TX\",\n  \"symbol\": \"ETH\",\n  \"limitQty\": \"50\",\n  \"matchers\": [\n    {\n      \"type\": \"USER\",\n      \"value\": \"user-uuid-here\"\n    },\n    {\n      \"type\": \"COUNTERPARTY_ID\",\n      \"value\": \"counterparty-uuid-here\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"erc-20-tokens","__idx":18},"children":["ERC-20 tokens"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For ERC-20 tokens, include the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["contract"]}," field with the token's contract address."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"limitType\": \"PER_TX\",\n  \"symbol\": \"USDC\",\n  \"limitQty\": \"10000\",\n  \"contract\": \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Admonition","attributes":{"type":"warning","name":"Contract address required"},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If you omit the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["contract"]}," field for an ERC-20 token, the API may accept the request but the policy will not match any transactions. Always include the contract address for ERC-20 policies."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"policy-statuses","__idx":19},"children":["Policy statuses"]},{"$$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":"Status"},"children":["Status"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Active"},"children":["Active"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Can delete"},"children":["Can delete"]},{"$$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":["LIMIT_CREATION_APPROVAL_PENDING"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Waiting for creation approval"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LIMIT_ENABLED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Active and enforcing"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LIMIT_REJECTED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Creation rejected; terminal state"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LIMIT_DELETION_APPROVAL_PENDING"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Yes"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Waiting for deletion approval; still enforcing"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["LIMIT_DELETED"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Deleted; terminal state"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"error-codes","__idx":20},"children":["Error 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":{"data-label":"Code"},"children":["Code"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Reason"},"children":["Reason"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Message"},"children":["Message"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"When it occurs"},"children":["When it occurs"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PAL006.023"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Conflict"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"limit policy already exists\""]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Creating a policy with the same wallet, limit type, symbol, and matchers as an existing policy (including rejected policies)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PAL006.016"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Forbidden"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"action not allowed\""]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Deleting a policy that is still pending approval"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PAL000.002"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unauthorized"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["\"unauthorized request\""]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Missing required API scope or accessing a vault you don't have permission for"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"related-documentation","__idx":21},"children":["Related documentation"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/wallet/user-interface/policies/policies-concepts"},"children":["Policy concepts"]}," – Understand scope, lifecycle, and evaluation"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/wallet/user-interface/policies/policies-manage"},"children":["Manage policies"]}," – Step-by-step guide and API operations"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"href":"/products/wallet/user-interface/policies/policies-best-practices"},"children":["Policy best practices"]}," – Recommended patterns and troubleshooting"]}]}]},"headings":[{"value":"Policy reference","id":"policy-reference","depth":1},{"value":"Quick reference","id":"quick-reference","depth":2},{"value":"Limit types","id":"limit-types","depth":3},{"value":"Matcher types","id":"matcher-types","depth":3},{"value":"Duration values","id":"duration-values","depth":3},{"value":"Limit types","id":"limit-types-1","depth":2},{"value":"PER_TX","id":"per_tx","depth":3},{"value":"ROLLING_DURATION","id":"rolling_duration","depth":3},{"value":"CONSTANT","id":"constant","depth":3},{"value":"Matchers","id":"matchers","depth":2},{"value":"Matcher types","id":"matcher-types-1","depth":3},{"value":"TRANSACTION_TYPE","id":"transaction_type","depth":3},{"value":"USER","id":"user","depth":3},{"value":"API_CREDENTIAL","id":"api_credential","depth":3},{"value":"ADDRESS_ID","id":"address_id","depth":3},{"value":"COUNTERPARTY_ID","id":"counterparty_id","depth":3},{"value":"SIGN_FOR","id":"sign_for","depth":3},{"value":"Combining matchers","id":"combining-matchers","depth":3},{"value":"ERC-20 tokens","id":"erc-20-tokens","depth":2},{"value":"Policy statuses","id":"policy-statuses","depth":2},{"value":"Error codes","id":"error-codes","depth":2},{"value":"Related documentation","id":"related-documentation","depth":2}],"frontmatter":{"title":"Policy reference","seo":{"title":"Policy reference"}},"lastModified":"2026-04-07T14:25:06.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/products/wallet/user-interface/policies/policies-reference","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}