Setting Up a THORChain Multisig
Last updated
Last updated
This guide walks you through the complete process of creating and using a multisig wallet on THORChain, including the installation of thornode
, setting up the multisig key, generating and signing transactions, and finally broadcasting them.
This guide has been prepared with love by the team
If you're on macOS, you may encounter issues with default versions of tools like awk
, sed
, and find
, which are not GNU-compliant. To fix this:
Install the GNU versions of the required utilities using Homebrew:
Add the GNU versions to your PATH
. Add the following lines to your shell config (~/.zshrc
or ~/.bash_profile
):
Then run:
Update Go to the required version (at least Go 1.23.4):
Verify with:
Once all is set up, you're good to go with make install
.
Each member of the multisig must:
Have access to a local terminal.
Install thornode
.
Share their public key with the group.
Be able to sign and submit transactions individually.
thornode
Install the Thorchain CLI binary on your machine:
This installs the
thornode
binary in your$GOPATH/bin
. Make sure it's in your system path.
Each participant should create a new key (if they don't already have one):
Then export your public key:
Share this public key with all other members.
To import a public key shared by another participant, use:
Once you have everyone's pubkeys imported, you can create the multisig key.
Each participant must locally create the multisig key with the same set of public keys and threshold:
Example:
⚠️ This must be done identically by all participants.
One participant prepares a transaction to send 1 RUNE and exports it to JSON (leave some RUNE for paying the fee):
This transaction file is then shared with all multisig participants.
Each participant signs the transaction using their own key and the multisig key:
Everyone sends their sig-<your-name>.json
file to the coordinator.
One person aggregates the signatures and broadcasts the final signed transaction:
Once the multisig address is finalized and funded, you can test the setup by executing a multisig transaction that sends 1 RUNE to a known address as shown above.
Every member installs thornode
, generates their key, and shares the pubkey.
All members must create the same multisig locally.
One person creates the transaction; everyone signs.
The final signed transaction is broadcast by one member.
The process ensures security and collective review before execution.