Accounts

How to Set Up a Multi-Sig Wallet

Post by
Kyle McCollom
Welcome, Lumenaut!
Oops! Something went wrong while submitting the form
clarity ahead

Double down on security with multi-sig

This tutorial assumes you want to set up a simple, two-signer, equally-weighted multi-sig account. If you’d like to accomplish something more complicated, learn more in the Stellar Dev Docs.

Background

A multisignature - or “multi-sig” - account requires two or more secret key signatures before allowing an operation to occur on the account. This increases the security of account, as long as the two or more secret keys are stored separately.

Account Creation

Create two accounts, preferably on a device not connected to the internet. If you already have an account and want to add a signer account to it, just create one new account. You can create accounts using the Stellar Account Viewer (online) or a paper wallet generator (offline). Copy down these two accounts’ secret keys and store them in multiple safe locations.

Laboratory Prep

Visit the Stellar Laboratory (the official Stellar transaction builder). Enter your primary public key in the “Source Account” text field. A blue button will appear after you type in your public key that says “Fetch next sequence number for account starting with…”. Click it to populate the text field with your next transaction number.

Set Thresholds

Skip down to the “Operation Type” section and select "Set Options".
For Master Weight, input “1”.
Skip “Low Threshold”.
For “Medium Threshold”, input “2”.
For “High Threshold”, input “2”.

Add Signer

For “Signer Type", select “Ed25519 Public Key”. After selecting, two text boxes will appear below. In the first text box (new signer public key), paste in the public key of your new additional signer account. In the second text box (new signer weight), input “1”.

Transaction Signer

Skip the rest of the inputs and click the button at the bottom left of the page that says “Sign in Transaction Signer”.

Sign Transaction

On the next page, scroll to the bottom and either paste in your private key in the text area next to “Add Signer” or sign in with your Ledger Wallet. If you are using your Ledger Wallet, you will need to confirm the transaction on your hardware device.

Endpoint

After signing the transaction, scroll down and click the 'Submit to Post Transaction endpoint'.

Submit

After submitting your operation to the transaction endpoint, you will be taken to a new page that summarizes your transaction. Press the "Submit" button - this will tell the Stellar network to add your new signer!

Verify Via Endpoint

If you’d like to verify, visit the Endpoint Explorer (make sure you are on the public network). Select "Accounts" and then "Single Account". Paste your primary account ID in the text box next to "Account ID" and submit.

Verify Thresholds

In the resulting JSON, find "Thresholds" and confirm that each threshold has the proper weight.

Verify Signers

In the same JSON, find "Signers" and confirm that the proper account IDs, weights, and types are present. If everything is correct, your multi-sig setup is ready!

More From Lumenauts

Featured Tutorials

Community Projects
How to Tip with the Stellar Subreddit Tipping Bot
Read Tutorial
Wallets
Stellar Ledger - How to Use Lumens on the Ledger Nano S
Read Tutorial