Skip to Content

How a multisig works

What a multisig account is, how weights and the threshold decide who can move funds, and why the address depends on the setup.

What a multisig account is

A multisig account is a Sui address that several people control together. Instead of one private key, it has a list of signers, a weight for each, and a threshold. A transaction from the account goes through only when the signers who signed it have enough weight between them to meet the threshold.

Multisig is built into Sui. The account’s address is derived from the signers’ public keys, their weights and the threshold, so there is no smart contract to deploy. The app shows a live preview of the address while you create the account.

The app and the API only coordinate: they store proposals and signatures and show who has signed. The account is a standard Sui multisig address, so anyone who knows its public keys, weights and threshold can derive it and use it with other Sui tooling, without this service. See the trust model.

Signers and public keys

Each signer is one public key, usually the key behind your wallet. When you create an account, each signer’s field takes either a public key or an address (Paste a public key, or search by address). Paste an address and the app looks for its public key in the service’s records and on chain at the same time, and fills in the key as soon as either has it. That gives three ways to add someone, easiest first:

  1. They sign in to the app once. They choose Connect wallet, then Sign in. Signing in registers the public key of the account they signed in with, so from then on their address is enough.
  2. Their address has sent a transaction. The app reads the public key from the signature of a transaction the address has sent on mainnet, testnet or devnet.
  3. You paste their public key. If the app shows “No public key found for this address”, ask the signer for their public key and paste it instead of the address.

The app accepts Ed25519, Secp256k1 and Secp256r1 keys.

An account has between 2 and 10 signers. When you create one, any of your own keys in the list accept right away. Every other signer gets an invitation to accept or reject, by signing a message with their wallet. The account shows up in your list once you have accepted, and the app marks signers who have not answered yet as Invited.

Weights and the threshold

Each signer has a weight, a whole number from 1 to 255. The threshold is a whole number from 1 up to the total weight of all signers. A proposal is ready to execute when the weights of the signers who signed it add up to the threshold or more.

A worked example

Three signers, threshold 3:

SignerWeight
Alice2
Bob1
Carol1
Who signedTotal weightReady to execute
Alice2No
Bob and Carol2No
Alice and Bob3Yes
Alice and Carol3Yes
All three4Yes

Alice cannot act alone, and Bob and Carol cannot act without her.

Why the address depends on the setup

The address is a hash of the threshold and of every signer’s public key and weight, in the order you list them. Change any of these and you get a different address. That is why the address preview changes as you edit the form, and why the app refuses a second account with exactly the same signers, weights and threshold.

An existing account’s signers, weights and threshold cannot be edited. A different setup is a different account, with its own address and its own balances.

Accounts and networks

An account and its address are the same on every Sui network. Proposals and balances are not: each proposal belongs to the network it was created on, and the app shows the proposals and balances of the network you have selected.

Next

Read How proposals work for how a transaction goes from proposed to executed, and the trust model for what the service stores and what Sui enforces.

On this page