MultiSig accounts

Multi-signature accounts

MultiSig refers to a special type of account that requires multiple separate entities or keys to confirm transactions before they are executed.

MultiSig accounts are commonly used to secure very sensitive accounts that either hold large amount of funds directly, or that might have indirect access to those funds through privileged access.

MultiSig accounts in Celo Terminal

Celo Terminal comes with the native support for Celo MultiSig contract.

You can either create a new MultiSig account or import an existing one using the Accounts app. MultiSig account has an associated local owner account that proxies the transactions.

Using MultiSig account

MultiSig accounts, for the most part, can be used seamlessly throughout Celo Terminal as if they were just another regular account. A caveat is that if a MultiSig requires multiple signatures to execute a transaction, it won't show its effects until other owners confirm it.

NOTE: There is currently a restriction in the implementation such that MultiSig accounts can not deploy new contracts. Thus, if an app is attempting to deploy a new contract, it will fail for MultiSig accounts.

MultiSig app in Celo Terminal

To confirm transactions that other owners send, you can install the MultiSig app from the app store. MultiSig app also provides other functionality to change owners, signature requirements, and other properties of the account.

MultiSig app

Recommendations for creating MultiSig accounts

We recommend following these steps when creating a new MultiSig account:

  • In "Create MultiSig" window, set "Signatures required to change MultiSig properties" to number of configured owners.

  • Once MultiSig is created, using MultiSig app, submit a transaction to change required signatures to actual desired amount.

  • All owners will have to confirm the transaction for it to succeed.

These extra steps are useful to make sure all MultiSig owners are familiar with the app and it also tests that all owners are capable of signing/confirming transactions.