# Update XRPL account settings

You can use the `AccountSet` operation to update account settings. This operation involves the creation of a transaction order.

For more information about the `AccountSet` operation, see AccountSet Flags in the XRPL documentation.

System change process
All new requests to change the system state follow the same process. To familiarize yourself with this process first, follow the [Request a change with an intent](/products/custody/v1.26/resources/tutorials/intent) tutorial.

## Supported settings

You can set or clear the following settings:

- `asfGlobalFreeze`: Freeze all assets issued by the account.
- `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.
- `asfRequireAuth`: Require authorization for accounts to hold balances issued by this address.
- `asfAllowTrustLineClawback`: Allow the issuer account to claw back tokens it has issued. Can only be set before issuing tokens.
- `asfAccountTxnID`: Track the ID of this account's most recent transaction.
- `asfDepositAuth`: Enable deposit authorization on the holder account. Applies to both tokens and XRP.
- `asfRequireDest`: Require a destination tag for incoming payments to the account.
- `asfDefaultRipple`: Enable rippling on this account's trust lines by default. For more information, see [Rippling](https://xrpl.org/docs/concepts/tokens/fungible-tokens/rippling#rippling) in the XRPL documentation.


To update account settings, follow the steps in [Request a change with an intent](/products/custody/v1.26/resources/tutorials/intent) with a transaction order payload similar to the following example.

### Payload example


```json
{
    "payload": {   
        "id": "8fd2d859-77de-4bcc-976c-3f4ccdfdcc3d",
        "accountId": "c8b9519a-be18-4db7-9aca-cce93834841b",
        "parameters": {
            "operation": {
                "type": "AccountSet",
                "setFlag": "asfGlobalFreeze",
                "clearFlag": "asfNoFreeze",
                "transferRate": [],
            }
            "sourceTag": 123456,
            "memos": [],
            "feeStrategy": {
                "drops": "5",
                "type": "SpecifiedAdditionalFee"
            },
            "maximumFee": "50",
            "type": "XRPL",
        },
        "description": "string",
        "customProperties": {},
        "type": "v0_CreateTransactionOrder"
    }
}
```

Fields of the `payload` block to note are as follows:

| Field | Description |
|  --- | --- |
| `id` | ID of the transaction order |
| `accountId` | ID of the account to update |
| `parameters.operation` | Details of the operation:`type`: `AccountSet``setFlag`: Enable the specified setting.`clearFlag`: Disable the specified setting. You must set at least one of fields `setFlag` or `clearFlag`. For a list of supported settings, see [Supported settings](#supported-settings). |
| `parameters.feeStrategy` | The fee strategy to use for the transaction. For more information, see [Fee strategy and maximum fee](/products/custody/v1.26/overview/blockchain/transactions/transaction-fees#fee-strategy-and-maximum-fee). |
| `parameters.maximumFee` | The maximum fee, in drops. For more information, see [Fee strategy and maximum fee](/products/custody/v1.26/overview/blockchain/transactions/transaction-fees#fee-strategy-and-maximum-fee). |
| `parameters.type` | Ledger type, in this case `XRPL`. |
| `type` | `v0_CreateTransactionOrder` |