<p>The documentation for the <code>createmultisig</code> RPC is <a href="https://bitcoincore.org/en/doc/0.17.0/rpc/util/createmultisig/" rel="nofollow noreferrer">here</a>. It is a utility RPC rather than say a wallet RPC.</p>
<blockquote>
<p>Creates a multi-signature address with n signature of m keys required.
It returns a json object with the address and redeemScript.</p>
</blockquote>
<p>As always it is hard to know if anyone is using it but the <code>deriveaddresses</code> <a href="https://bitcoincore.org/en/doc/0.18.0/rpc/util/deriveaddresses/" rel="nofollow noreferrer">RPC</a> offers a superset of the functionality offered by <code>createmultisig</code> and so <code>deriveaddresses</code> would be recommended over <code>createmultisig</code>.</p>
<p>It was discussed whether the <code>createmultisig</code> RPC should be deprecated <a href="https://github.com/bitcoin/bitcoin/issues/24638" rel="nofollow noreferrer">here</a>. It was argued that rather than the RPC being entirely deprecated (and potentially breaking downstream projects if any are using it) documentation could be added to encourage users to use <code>deriveaddresses</code> instead so that <code>createmultisig</code> is effectively &quot;soft&quot; deprecated. This could be added in a future PR.</p>
<p>Personally I'm considering removing the associated <a href="https://github.com/bitcoin/bitcoin/blob/master/test/functional/rpc_createmultisig.py" rel="nofollow noreferrer">RPC functional test</a> when I run the <a href="https://github.com/bitcoin/bitcoin/blob/master/test/functional/test_runner.py" rel="nofollow noreferrer">test runner</a> locally as I don't think the RPC is being used and hence the test is offering minimal value. But it won't be removed from the test runner in Core without deprecation of the RPC and that looks unlikely at the time of writing.</p>

CC BY-SA 4.0
2022-03-23T11:35:37.163Z
2022-03-23T11:35:37.163Z
Michael Folkson
<p>What does the Bitcoin Core RPC createmultisig do? What would I use it for? Should it be deprecated?</p>

<bitcoin-core><json-rpc><multi-signature>
What does the Bitcoin Core RPC createmultisig do? Should it be deprecated?
Michael Folkson
# What does the Bitcoin Core RPC createmultisig do? Should it be deprecated?

(Asked by: username_0 on 2022-03-23)

What does the Bitcoin Core RPC createmultisig do? What would I use it for? Should it be deprecated?

**Tags:** bitcoin-core, json-rpc, multi-signature


---

## 1 answers

### Answer by username_0 on 2022-03-23. Score: 0 | Accepted answer

The documentation for the `createmultisig` RPC is [here](https://bitcoincore.org/en/doc/0.17.0/rpc/util/createmultisig/). It is a utility RPC rather than say a wallet RPC.

> Creates a multi-signature address with n signature of m keys required.
> It returns a json object with the address and redeemScript.

As always it is hard to know if anyone is using it but the `deriveaddresses` [RPC](https://bitcoincore.org/en/doc/0.18.0/rpc/util/deriveaddresses/) offers a superset of the functionality offered by `createmultisig` and so `deriveaddresses` would be recommended over `createmultisig`.

It was discussed whether the `createmultisig` RPC should be deprecated [here](https://github.com/bitcoin/bitcoin/issues/24638). It was argued that rather than the RPC being entirely deprecated (and potentially breaking downstream projects if any are using it) documentation could be added to encourage users to use `deriveaddresses` instead so that `createmultisig` is effectively "soft" deprecated. This could be added in a future PR.

Personally I'm considering removing the associated [RPC functional test](https://github.com/bitcoin/bitcoin/blob/master/test/functional/rpc_createmultisig.py) when I run the [test runner](https://github.com/bitcoin/bitcoin/blob/master/test/functional/test_runner.py) locally as I don't think the RPC is being used and hence the test is offering minimal value. But it won't be removed from the test runner in Core without deprecation of the RPC and that looks unlikely at the time of writing.


---

