See the canonical spec:
.TypeScriptimport { Client, Wallet } from 'xrpl'; async function setSignerList(): Promise<void> { const client = new Client('wss://honeycluster.dev'); await client.connect(); const wallet = Wallet.fromSeed('s...'); const prepared = await client.autofill({ TransactionType: 'SignerListSet', Account: wallet.address, SignerQuorum: 2, SignerEntries: [ { SignerEntry: { Account: 'r...A', SignerWeight: 1 } }, { SignerEntry: { Account: 'r...B', SignerWeight: 1 } }, ], }); const signed = wallet.sign(prepared); const res = await client.submitAndWait(signed.tx_blob); console.log(res); await client.disconnect(); } setSignerList().catch(console.error);
| Field | Type | Required | Description |
|---|---|---|---|
Account | String | Yes | The address of the account setting the signer list |
SignerQuorum | Number | Yes | Number of signers required for multi-signing |
SignerEntries | Array | Yes | Array of signer entries for the list |
SignerEntry | Object | Yes | Individual signer entry object |
Account | String | Yes | Address of the signer |
SignerWeight | Number | Yes | Weight of this signer's signature |
SignerQuorum:
Must be greater than 0
Cannot exceed the sum of all SignerWeight values
To remove the signer list, set to 0
SignerEntries Structure:
Json[ { "SignerEntry": { "Account": "r...A", "SignerWeight": 1 } }, { "SignerEntry": { "Account": "r...B", "SignerWeight": 1 } } ]
Note:
Maximum of 8 signers allowed
Each signer can have a weight from 1 to 255
The master key can always sign regardless of the signer list
Establishes multi-signature requirements for the account
SignerEntries defines the list of authorized signers
SignerQuorum specifies how many signatures are required
Useful for enhanced security and shared account control
Always use autofill to set fees and sequence safely when using the XRPL client library