How do I set up multi-sig for XRP?
Last updated:
Setting up multi-signature functionality for your XRP account on the XRPL involves several technical steps requiring careful execution and understanding of XRPL account settings. This guide provides a comprehensive walkthrough suitable for users comfortable with advanced cryptocurrency operations and willing to use tools beyond simple consumer wallet apps.
Prerequisites and Planning: Before beginning, decide on your multisig scheme—common patterns include 2-of-2 (both keys required, no redundancy but maximum security), 2-of-3 (any two of three keys, providing backup if one key is lost), 3-of-5 (majority approval model suitable for organizations), and custom weight-based schemes for complex organizational structures. Determine who or what devices will control each signing key, ensuring true independence (different devices, different locations, different people as appropriate). Prepare the necessary tools, primarily XRP Toolkit (xrptoolkit.com) which provides comprehensive multisig configuration interfaces, or direct XRPL API interaction for advanced users.
Step 1: Generate Signing Keys. Create the separate XRPL accounts or keys that will serve as signers. Each signer should be a separate XRPL account with its own address starting with 'r'. Generate these on separate hardware wallets, different software wallet instances, or using secure key generation tools. Fund each signer account with enough XRP to cover the reserve requirement (currently 1 XRP base reserve). Secure each signing key's seed phrase according to best practices, storing them in separate physical locations to ensure independence.
Step 2: Access Your Main Account. Connect to your main XRPL account (the one you want to protect with multisig) using XRP Toolkit. Navigate to the Account Settings section. You can connect using a hardware wallet, imported seed phrase, or existing account secret.
Step 3: Configure Signer List. In XRP Toolkit's Account Settings, find the Multi-Signing section or Signer List configuration. Add each signer by entering their XRPL address (the addresses of the accounts you created in Step 1). Assign each signer a weight—typically 1 for equal signers, but you can assign different weights for more complex arrangements (like giving a primary administrator weight 2 while regular signers have weight 1). Set the SignerQuorum threshold—this is the total weight required to authorize transactions. For 2-of-3 with equal weights, set quorum to 2. For weighted schemes, set quorum to your desired threshold.
Step 4: Submit Signer List Transaction. Review all signer addresses and weights carefully—errors here could lock you out of your account. Submit the SignerListSet transaction, signing it with your current master key (since the multisig isn't active yet). Pay the transaction fee (typically a few drops of XRP). Wait for transaction confirmation on the XRPL network.
Step 5: Disable Master Key (Recommended). After successfully setting the signer list, disable your master key to ensure only the multisig signers can authorize transactions. In XRP Toolkit Account Settings, find the Master Key Disable option. Submit the AccountSet transaction with the asfDisableMaster flag. After this transaction confirms, your master key becomes ineffective, and only signers from your signer list can authorize transactions. WARNING: Before disabling the master key, verify that your multisig setup works by testing a small transaction. If you disable the master key before confirming multisig works, and your configuration is incorrect, you could lose access to your account permanently.
Step 6: Test Multisig Transactions. Execute a small test transaction using multisig to verify everything works. In XRP Toolkit, create a payment transaction from your multisig account. Instead of immediately submitting, choose the option to export for multi-signing. Save the transaction blob (JSON format). Transfer this transaction blob to another signer (via USB drive, QR code, or secure messaging). The second signer imports the transaction blob into XRP Toolkit or compatible software. They review transaction details carefully and add their signature. Export the now-doubly-signed transaction. Once sufficient signatures accumulate to meet your SignerQuorum, submit the fully-signed transaction to the XRPL network.
Ongoing Operations: For subsequent transactions, follow the collaborative signing process—one signer creates transactions, others sequentially add signatures until the quorum is reached, and the fully-signed transaction is submitted. Store signing keys securely in different locations to prevent single points of compromise. Document your multisig setup comprehensively, including which addresses are signers, where their keys are stored, who controls them, and the SignerQuorum threshold. Plan for edge cases like a signer losing their key (ensure your N is higher than your M to allow redundancy) or a signer becoming unavailable.
Modifying Signer Lists: You can update your signer list later by submitting new SignerListSet transactions, but these must be signed according to your current multisig requirements. This allows adding new signers, removing old ones, or changing weights and quorum thresholds.
Multisig setup requires technical competence and careful attention to detail, but provides security impossible with single-signature accounts.