# account.set() [[Source]](https://github.com/ripple/simpleXRPL/blob/95b977b15f8950c5bc076b25165217869c0b06d3/src/verticals/account.ts#L198) Update account settings. Flags are named booleans (`true` enables, `false` disables); `transferRate`, `tickSize`, and `domain` are set directly. At least one parameter is required. Note A single `AccountSet` enables at most one flag and disables at most one. Toggling more than one flag in the same direction is rejected. Call `set()` once per such change. ## Signature ```ts account.set( params: AccountSetParams, options?: AccountWriteOptions, ): Promise> ``` ## Parameters All parameters are optional individually, but at least one must be provided. | Parameter | Type | Required | Description | | --- | --- | --- | --- | | `noFreeze` | `boolean` | No | Permanently give up the ability to freeze trust lines (irreversible). | | `clawbackEnabled` | `boolean` | No | Permanently allow this issuer to claw back issued tokens (irreversible). | | `trustLineLocking` | `boolean` | No | Permanently allow trust line locking (irreversible). | | `disableMaster` | `boolean` | No | Permanently disable the master key pair (irreversible). | | `requireAuth` | `boolean` | No | Require holders to be authorized before they can hold issued tokens. | | `requireDest` | `boolean` | No | Require a destination tag on incoming payments. | | `defaultRipple` | `boolean` | No | Enable rippling on trust lines by default. | | `globalFreeze` | `boolean` | No | Freeze all trust lines issued by this account. | | `disallowXRP` | `boolean` | No | Disallow incoming XRP payments (advisory). | | `transferRate` | `number` | No | Transfer fee for issued currencies, as a percentage (`0.5` = 0.5%, range 0–100). | | `tickSize` | `number` | No | Tick size for offers (3–15, or `0` to disable). | | `domain` | `string` | No | The account domain, as a plain string (hex-encoded on the ledger). | ## Options `options` is an optional second argument that sets the source account and overrides the fee. | Option | Type | Required | Description | | --- | --- | --- | --- | | `from` | `AccountSelector` | No | The account to act as — an r-address string, or an object `{ address }` or `{ signer, account? }`. Defaults to the primary signer's primary account. (For IOU operations, this is the issuer.) | | `fee` | `FeeIntent` | No | Fee override — a priority tier and/or a `maxFeeDrops` cap. | | `idempotencyKey` | `string` | No | A prior submission's `idempotencyKey`, to retry to the same intent instead of creating a duplicate. Auto-generated when omitted. | ## Returns Resolves to a `SubmissionResult`. Every simpleXRPL write resolves to a `SubmissionResult` — a union tagged by `source`, with the backend's raw response preserved verbatim. Its common fields are: | Field | Type | Description | | --- | --- | --- | | `intent` | `T` | The operation-specific output — see the operation's own return fields. | | `source` | `'xrpld' | 'custody' | 'palisade'` | Which backend produced the result; discriminates `response`. | | `response` | `TxResponse` | custody record | Palisade record | The backend's raw response, preserved verbatim. | | `txHash` | `string` *(optional)* | The XRPL transaction hash, once the transaction is on-ledger. | | `intentId` | `string` *(optional)* | The custodian intent id, when the path produced one. Hold onto this to resume via `client.intent`. | | `idempotencyKey` | `string` *(optional)* | The UUIDv7 this submission carried. Pass it back as a later call's `idempotencyKey` to retry to the same intent rather than creating a duplicate. | ### Return fields `Account.set` attaches no `intent` output; `intent` is `undefined`. ## Underlying XRPL transactor Builds and submits a single [AccountSet](https://xrpl.org/docs/references/protocol/transactions/types/accountset) transaction. ## Example ```ts await client.account.set({ requireAuth: true, }) ```