Skip to content

account.set()

[Source]

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

account.set(
  params: AccountSetParams,
  options?: AccountWriteOptions,
): Promise<SubmissionResult<undefined>>

Parameters

All parameters are optional individually, but at least one must be provided.

ParameterTypeRequiredDescription
noFreezebooleanNoPermanently give up the ability to freeze trust lines (irreversible).
clawbackEnabledbooleanNoPermanently allow this issuer to claw back issued tokens (irreversible).
trustLineLockingbooleanNoPermanently allow trust line locking (irreversible).
disableMasterbooleanNoPermanently disable the master key pair (irreversible).
requireAuthbooleanNoRequire holders to be authorized before they can hold issued tokens.
requireDestbooleanNoRequire a destination tag on incoming payments.
defaultRipplebooleanNoEnable rippling on trust lines by default.
globalFreezebooleanNoFreeze all trust lines issued by this account.
disallowXRPbooleanNoDisallow incoming XRP payments (advisory).
transferRatenumberNoTransfer fee for issued currencies, as a percentage (0.5 = 0.5%, range 0–100).
tickSizenumberNoTick size for offers (3–15, or 0 to disable).
domainstringNoThe 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.

OptionTypeRequiredDescription
fromAccountSelectorNoThe 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.)
feeFeeIntentNoFee override — a priority tier and/or a maxFeeDrops cap.
idempotencyKeystringNoA prior submission's idempotencyKey, to retry to the same intent instead of creating a duplicate. Auto-generated when omitted.

Returns

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:

FieldTypeDescription
intentTThe operation-specific output — see the operation's own return fields.
source'xrpld' | 'custody' | 'palisade'Which backend produced the result; discriminates response.
responseTxResponse | custody record | Palisade recordThe backend's raw response, preserved verbatim.
txHashstring (optional)The XRPL transaction hash, once the transaction is on-ledger.
intentIdstring (optional)The custodian intent id, when the path produced one. Hold onto this to resume via client.intent.
idempotencyKeystring (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 transaction.

Example

await client.account.set({
  requireAuth: true,
})