{"templateId":"markdown","versions":[{"version":"v1.43","label":"v1.43 LTS","link":"/pt-br/products/custody/accounts-and-assets/accounts/ledger-specific-settings/xrpl-api","default":true,"active":true,"folderId":"714bb270"},{"version":"v1.42","label":"v1.42 STS","link":"/pt-br/products/custody/v1.42/accounts-and-assets/accounts/ledger-specific-settings/xrpl-api","default":false,"active":false,"folderId":"714bb270"},{"version":"v1.41","label":"v1.41 STS","link":"/pt-br/products/custody/v1.41/accounts-and-assets/accounts/ledger-specific-settings/xrpl-api","default":false,"active":false,"folderId":"714bb270"},{"version":"v1.34","label":"v1.34 LTS","link":"/pt-br/products/custody/v1.34/accounts-and-assets/accounts/ledger-specific-settings/xrpl-api","default":false,"active":false,"folderId":"714bb270"},{"version":"v1.26","label":"v1.26 LTS","link":"/pt-br/products/custody/v1.26/accounts-and-assets/accounts/ledger-specific-settings/xrpl-api","default":false,"active":false,"folderId":"714bb270"},{"version":"v1.19","label":"v1.19 LTS","link":"/pt-br/products/custody/v1.19/accounts-and-assets/accounts/ledger-specific-settings/xrpl-api","default":false,"active":false,"folderId":"714bb270"},{"version":"v1.15","label":"v1.15 LTS","link":"/pt-br/products/custody/v1.15/accounts-and-assets/accounts/ledger-specific-settings/xrpl-api","default":false,"active":false,"folderId":"714bb270"}],"sharedDataIds":{"sidebar":"sidebar-@l10n/pt-BR/products/custody/@v1.15/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":["partial","tabs","tab"]},"type":"markdown"},"seo":{"title":"Update XRPL account settings with the API","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":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"a","attributes":{"id":"update-xrpl-account-settings"},"children":[]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"update-xrpl-account-settings-with-the-api","__idx":0},"children":["Update XRPL account settings with the API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountSet"]}," operation to update account settings. This operation involves the creation of a transaction order."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For more information about the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountSet"]}," operation, see ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://xrpl.org/docs/references/protocol/transactions/types/accountset#accountset-flags","target":"_blank"},"children":["AccountSet Flags"]}," in the XRPL documentation."]},{"$$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":"/pt-br/products/custody/governance/intents/manage-intents-and-approvals"},"children":["Manage intents and approvals"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"supported-settings","__idx":1},"children":["Supported settings"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can set or clear the following settings:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asfGlobalFreeze"]},": Freeze all assets issued by the account."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asfNoFreeze"]},": Permanently give up the ability to freeze individual trust lines or disable global freeze on the issuer account. This flag can only be set once and can't be unset."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asfRequireAuth"]},": Require authorization for accounts to hold balances issued by this address."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asfAllowTrustLineClawback"]},": Allow the issuer account to claw back tokens it has issued. Can only be set before issuing tokens."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asfAccountTxnID"]},": Track the ID of this account's most recent transaction."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asfDepositAuth"]},": Enable deposit authorization on the holder account. Applies to both tokens and XRP."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asfRequireDest"]},": Require a destination tag for incoming payments to the account."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["asfDefaultRipple"]},": Enable rippling on this account's trust lines by default. For more information, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"https://xrpl.org/docs/concepts/tokens/fungible-tokens/rippling#rippling"},"children":["Rippling"]}," in the XRPL documentation."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To update account settings, follow the steps in ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/custody/governance/intents/manage-intents-and-approvals"},"children":["Manage intents and approvals"]}," with a transaction order payload similar to the following example."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"payload-example","__idx":2},"children":["Payload example"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The SDK examples assume a configured client. See ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/custody/get-started/integrate-via-sdk"},"children":["Integrate via SDK"]},". The SDK methods build the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountSet"]}," operation, submit the intent, and return a pending intent that you can wait on. The following examples set and clear account flags:"]},{"$$mdtype":"Tag","name":"Tabs","attributes":{"size":"medium"},"children":[{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"API","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n    \"payload\": {\n        \"id\": \"8fd2d859-77de-4bcc-976c-3f4ccdfdcc3d\",\n        \"accountId\": \"c8b9519a-be18-4db7-9aca-cce93834841b\",\n        \"parameters\": {\n            \"operation\": {\n                \"type\": \"AccountSet\",\n                \"setFlag\": \"asfGlobalFreeze\",\n                \"clearFlag\": \"asfRequireDest\",\n                \"transferRate\": 1000000000\n            },\n            \"sourceTag\": 123456,\n            \"memos\": [],\n            \"feeStrategy\": {\n                \"drops\": \"5\",\n                \"type\": \"SpecifiedAdditionalFee\"\n            },\n            \"maximumFee\": \"50\",\n            \"type\": \"XRPL\"\n        },\n        \"description\": \"string\",\n        \"customProperties\": {},\n        \"type\": \"v0_CreateTransactionOrder\"\n    }\n}\n","lang":"json"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"TypeScript","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"typescript","header":{"controls":{"copy":{}}},"source":"import { CoreXrplAccountSetFlag } from '@ripple/ripple-custody-client-lib-typescript';\n\nconst pending = await client.transactions.xrpl.accountSet(accountId, {\n  setFlag: CoreXrplAccountSetFlag.AsfGlobalFreeze,\n  clearFlag: CoreXrplAccountSetFlag.AsfRequireDest,\n  transferRate: 1000000000,\n  maximumFee: '50',\n});\n\nawait pending.waitAccepted(30_000);\nawait pending.waitExecuted(120_000);\nconst result = await pending.waitTxHash(300_000);\nconsole.log(result.isSuccess, result.errorCode);\n","lang":"typescript"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Java","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"java","header":{"controls":{"copy":{}}},"source":"import com.ripple.custody.PendingIntent;\nimport com.ripple.custody.models.CoreApiTransaction;\nimport com.ripple.custody.models.CoreFeePriority;\nimport com.ripple.custody.models.CoreXrplAccountSetFlag;\nimport com.ripple.custody.models.CoreXrplFeeStrategy;\nimport com.ripple.custody.models.CoreXrplFeeStrategyPriority;\n\nCoreXrplFeeStrategy feeStrategy = new CoreXrplFeeStrategy(\n    new CoreXrplFeeStrategyPriority().priority(CoreFeePriority.MEDIUM));\n\nPendingIntent pending = client.transactions().xrplAccountSet(\n    domainId,\n    accountId,\n    \"xrpl-testnet\", // the ledger ID; required unless the account has a default ledger\n    CoreXrplAccountSetFlag.ASF_GLOBAL_FREEZE,\n    CoreXrplAccountSetFlag.ASF_REQUIRE_DEST,\n    1000000000,\n    feeStrategy,\n    \"50\",\n    null);\n\npending.waitAccepted(30);\nvar intent = pending.waitExecuted(120);\nif (!\"Executed\".equals(String.valueOf(intent.getData().getState().getStatus()))) {\n    throw new IllegalStateException(\"Intent did not execute: \" + intent.getData().getState().getStatus());\n}\nCoreApiTransaction tx = pending.waitTxHash(300);\n","lang":"java"},"children":[]}]},{"$$mdtype":"Tag","name":"TabItemFragment","attributes":{"label":"Python","disable":false},"children":[{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"python","header":{"controls":{"copy":{}}},"source":"pending = client.transactions.xrpl.account_set(\n    account_id,\n    set_flag=\"asfGlobalFreeze\",\n    clear_flag=\"asfRequireDest\",\n    transfer_rate=1000000000,\n    maximum_fee=\"50\",\n    source_tag=123456,\n)\n\npending.wait_accepted(timeout=30)\nintent = pending.wait_executed(timeout=120)\nif intent.data.state.status != \"Executed\":\n    raise RuntimeError(f\"Intent did not execute: {intent.data.state.status}\")\nresult = pending.wait_tx_hash(timeout=300)\nprint(result.is_success, result.error_code)\n","lang":"python"},"children":[]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The TypeScript and Python methods use the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Priority"]}," fee strategy. You set the priority with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["feePriority"]}," or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["fee_priority"]},", which defaults to ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Medium"]},". The Java method takes a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CoreXrplFeeStrategy"]},", which wraps either a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Priority"]}," or a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SpecifiedAdditionalFee"]}," strategy. Only the Python method accepts a source tag."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can't set the same flag in ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["setFlag"]}," and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["clearFlag"]},". The SDKs reject that combination before they submit the intent."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Fields of the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["payload"]}," block to note are as follows:"]},{"$$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":"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":["id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ID of the transaction order"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["accountId"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["ID of the account to update"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters.operation"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Details of the operation:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]},": ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["AccountSet"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["setFlag"]},": Enable the specified setting."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["clearFlag"]},": Disable the specified setting."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transferRate"]},": Optional XRPL transfer rate integer, for example ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1000000000"]}," for no transfer fee."]}]}," You must set at least one of ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["setFlag"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["clearFlag"]},", or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["transferRate"]},". For a list of supported settings, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#supported-settings"},"children":["Supported settings"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters.sourceTag"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Optional source tag for the XRPL transaction."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters.memos"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["XRPL memos to include. Use an empty array when there are no memos."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters.feeStrategy"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The fee strategy to use for the transaction. For more information, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/custody/transactions/reference#fee-strategy-and-maximum-fee"},"children":["Fee strategy and maximum fee"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters.maximumFee"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The maximum fee, in drops. For more information, see ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/pt-br/products/custody/transactions/reference#fee-strategy-and-maximum-fee"},"children":["Fee strategy and maximum fee"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["parameters.type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Ledger type, in this case ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["XRPL"]},"."]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["v0_CreateTransactionOrder"]}]}]}]}]}]}]},"headings":[{"value":"Update XRPL account settings with the API","id":"update-xrpl-account-settings-with-the-api","depth":1},{"value":"Supported settings","id":"supported-settings","depth":2},{"value":"Payload example","id":"payload-example","depth":3}],"frontmatter":{"seo":{"title":"Update XRPL account settings with the API"}},"lastModified":"2026-10-09T10:42:29.000Z","isTranslationFallback":true,"pagePropGetterError":{"message":"","name":""}},"slug":"/pt-br/products/custody/accounts-and-assets/accounts/ledger-specific-settings/xrpl-api","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}