Mutable multisig

It seams it’s not possible to modify the multisig key participants.
I have the following use case: For ASA manager address I would like to have a multisig key which we can modify.

Here is one idea how to do it:

  1. Create the initial multisig: acc_ms1
  2. Create a normal account (single public-private key): acc_1
  3. Create ASA and set manager address to acc_1 address.
  4. Rekey acc_1 to acc_ms1.

Later, when we need to update the participants of the multisig, we:

  1. create a new multisig: acc_ms2
  2. Rekey acc_1 to acc_ms2. Note for the readers: it will still require a valid acc_ms1 signature for that operation.

Question

Is there a better way to do it? What would you recommend?

Yes, that looks like the proper process to rotate the auth-addr of acc_1 from acc_ms1 to acc_ms2. What have you attempted and where is it failing?

Oh, I forgot to add the question. I’ve updated the post.

The better way to do it is to wait till MyAlgo releases its upcoming ASA Manager where you will be able to create the ASA directly in MyAlgo with a multisig account and have everyone sign the transaction in an intuitive way.

Why do you first use acc_1 as manager instead of acc_ms1?

To keep the same address, and use rekey to change the signature keys.

I might have misunderstood the use case, but I am not sure why you don’t directly set the manager address to acc_ms1.

Then you can still rekey acc_ms1 to acc_ms2.
And then acc_ms2 to acc_ms3 and so on.

Note that for the specific case of ASA manager, instead of rekeying, you can just update the address of the manager: Algorand Developer Docs

This sounds good. I didn’t know you can rekey multisig.

instead of rekeying, you can just update the address of the manager.

I know, but I wanted to keep the same address.

You can actually rekey any account, including smart contract account.