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.
- 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
- Aragon
- Bancor
- Brace
- District0x
- Golem
- MysteriumNetwork
- Weifund
- StabL
git clone https://github.com/gnosis/MultiSigWallet.git
cd MultiSigWallet
npm install
npm test
npm run test-dapp
truffle migrate <account1,account2,...,accountN> <requiredConfirmations>
truffle migrate <account1,account2,...,accountN> <requiredConfirmations> <dailyLimit>
- Aragon 0xcafe1a77e84698c83ca8931f54a755176ef75f2c
- Bancor 0x5894110995b8c8401bd38262ba0c8ee41d4e4658
- Golem 0x7da82c7ab4771ff031b66538d2fb9b0b047f6cf9
- MysteriumDev 0x7e6614722614e434c4df9901bab31e466ba12fa4
- District0x 0xd20e4d854c71de2428e1268167753e4c7070ae68
You can find binaries for OSX, Windows and Linux here
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.
All contracts are WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
You can specify a custom Ethereum Node endpoint by going to settings
page. Click on Ethereum Node
dropdown menu and select Custom configuration
, this would make the Ethereum node's field editable. Please write your new endpoint there. Remember, if Web3 Provider
is set to Default (Metamask, Mist, Parity)
, Multisig will use the Ethereum Node endpoint coming with the Web3 Provider, so in that case go to your injected Web3 Provider (Metamask for instance) and update/switch your Ethereum Node endpoint.
I've imported a Multisig address or a contract address into address book but it gets detected as a EOA
Make sure you're connected to the same network your Multisig/contract was created on, if you created it on Mainnet, you should then connect to Mainnet in order to let the system detect its type correctly.