Update account settings. Flags are named booleans (true enables, false disables); transferRate, tickSize, and domain are set directly. At least one parameter is required.
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.
account.set(
params: AccountSetParams,
options?: AccountWriteOptions,
): Promise<SubmissionResult<undefined>>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 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. |
Resolves to a SubmissionResult<undefined>.
Every simpleXRPL write resolves to a SubmissionResult<T> — 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. |
Account.set attaches no intent output; intent is undefined.
Builds and submits a single AccountSet transaction.
await client.account.set({
requireAuth: true,
})