Have you tried what I wrote yourself? I am still using 0.8.6 as I like the most. In 0.8.6 it is
addmultisigaddress <nrequired> <'["key","key"]'> [account]
Add a nrequired-to-sign multisignature address to the wallet"
each key is a Bitcoin address or hex-encoded public key
If [account] is specified, assign address to [account].
It might differ in the new qt releases 0.9.x (I doubt it) but at least in 0.8.6 if you type what I typed above it will work.For example I generated 3MuDqC9b3cFtWmVs6rJpD4oJ79CPVJMGzE this way(it is 4-4 and it is non-standard)
Try to type
addmultisigaddress 2 '["1AKCGRnjWqwwSj7dUpBmY89QbjUivCo278","1HHMyRDBpG5Kfbgc1XZNnjorWTd5GaLA6Q","1CrxaQV5DGbSi7SPKNQNZa7LUXadTs25rd"]'
in 0.9.x and you'll see that it works just fine.If I would be wrong qt would have not corresponded to 3CTqt1ryMJ7HU5PDgxHoJK3ThifLjqKYXQ
Well ofcourse you could use pubkeys but do you want to do the extra work to get the pubkeys?
Hey,
You can only provide an address IF the client you are making the multisig address on has access to the public keys of the address you specified! Your client will make a multisig address using your addresses, because it has your public keys for them, but you can't generate someone else's public keys from their address alone.
This is because an address is a hash of a public key, it is one way and can no be reversed, therefore it is impossible for your client to generate someone elses public key from their (unspent) address.
You can read more about how multisig works on a protocol level here
https://bitcoin.org/en/developer-guide#multisigSo unfortunetly in the real world your example is useless, because other peoples addresses will not be in your wallet!