Allows multiple parties to agree on transactions before execution.
Clone or download

README.md

Ethereum Multisignature Wallet

Join the chat at https://gitter.im/gnosis/MultiSigWallet

The purpose of multisig wallets is to increase security by requiring multiple parties to agree on transactions before execution. Transactions can be executed only when confirmed by a predefined number of owners. A web user interface can be found here.

Features

  • Can hold Ether and all kind of tokens with multisig support
  • Easy to use offline signing (cold wallet) support
  • Integration with web3 wallets (Metamask, Mist, Parity, etc)
  • Transaction data and log decoding, makes transactions more readable
  • Interacting with any contracts with UI support
  • Hardware wallet support (Ledger Wallet)
  • Optional email notifications when an event is triggered or you are required to sign a transaction

Being used by

Install

git clone https://github.com/gnosis/MultiSigWallet.git
cd MultiSigWallet
npm install

Test

Run contract tests:

npm test

Run interface tests:

npm run test-dapp

Deploy

Deploy multisig wallet:

truffle migrate <account1,account2,...,accountN> <requiredConfirmations>

Deploy multisig wallet with daily limit:

truffle migrate <account1,account2,...,accountN> <requiredConfirmations> <dailyLimit>

Interface Releases

You can find binaries for OSX, Windows and Linux here

Limitations

This implementation does not allow the creation of smart contracts via multisignature transactions. Transactions to address 0 cannot be done. Any other transaction can be done.

Security

All contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Deployed instances with significant funds

License

LGPL v3