<p>Currently the keypool is not an address pool. You cannot put addresses in the keypool. You need to be importing public keys in order for anything to be added to the keypool.</p>

CC BY-SA 4.0
2019-07-23T17:51:27.483Z
Ok, so it is not possible to add a multi-sig address to the keypool then I take it?
Fontaine
CC BY-SA 4.0
2019-07-23T21:08:15.860Z
No, it is not possible. You currently cannot get any addresses from Bitcoin Core except for the standard single key addresses.
Ava Chow
CC BY-SA 4.0
2019-07-23T04:59:40.680Z
2019-07-23T04:59:40.680Z
Ava Chow
<p>I create a wallet with private keys disabled.</p>

<p>Then use <code>importmulti</code> like so:</p>

<pre><code>
command curl --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "importmulti", "params":[[{ "scriptPubKey": { "address": "bcrt1qeappehxje9d46zjeyvh3cqslzzda9p92nx2xg495e8memcjvppvqhk6hcn" }, "label": "Imported Address", "timestamp": "now", "watchonly": true, "keypool": true, "internal": false }], ''{"rescan": false}''] }' -H 'content-type: text/plain;' http://user:password@127.0.0.1:18443/wallet/Test
result = Optional({
    error = "&lt;null&gt;";
    id = curltest;
    result =     (
                {
            success = 1;
        }
    );
})

</code></pre>

<p>But when I run <code>getnewaddress</code> it says keypool empty:</p>

<pre><code>curl --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params":["", "bech32"] }' -H 'content-type: text/plain;' http://user:password@127.0.0.1:18443/wallet/Test
result = Optional({
    error =     {
        code = "-4";
        message = "Error: This wallet has no available keys";
    };
    id = curltest;
    result = "&lt;null&gt;";
})

</code></pre>

<p>This also happens when I use <code>importmulti</code> descriptor approach to import a multisig.</p>

<p>I am trying to create a watch-only wallet for my multisig, where the only key that is in the keypool is the multisig address, just to make building transactions with the wallet seamless.</p>

<bitcoind><json-rpc><bitcoin-cli>
Using importmulti to import a single address to keypool does not work
Fontaine
# Using importmulti to import a single address to keypool does not work

(Asked by: username_0 on 2019-07-23)

I create a wallet with private keys disabled.

Then use `importmulti` like so:

```

command curl --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "importmulti", "params":[[{ "scriptPubKey": { "address": "bcrt1qeappehxje9d46zjeyvh3cqslzzda9p92nx2xg495e8memcjvppvqhk6hcn" }, "label": "Imported Address", "timestamp": "now", "watchonly": true, "keypool": true, "internal": false }], ''{"rescan": false}''] }' -H 'content-type: text/plain;' http://user:password@127.0.0.1:18443/wallet/Test
result = Optional({
    error = "<null>";
    id = curltest;
    result =     (
                {
            success = 1;
        }
    );
})

```

But when I run `getnewaddress` it says keypool empty:

```
curl --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params":["", "bech32"] }' -H 'content-type: text/plain;' http://user:password@127.0.0.1:18443/wallet/Test
result = Optional({
    error =     {
        code = "-4";
        message = "Error: This wallet has no available keys";
    };
    id = curltest;
    result = "<null>";
})

```

This also happens when I use `importmulti` descriptor approach to import a multisig.

I am trying to create a watch-only wallet for my multisig, where the only key that is in the keypool is the multisig address, just to make building transactions with the wallet seamless.

**Tags:** bitcoind, json-rpc, bitcoin-cli


---

## 1 answers

### Answer by username_1 on 2019-07-23. Score: 2 | Accepted answer

Currently the keypool is not an address pool. You cannot put addresses in the keypool. You need to be importing public keys in order for anything to be added to the keypool.

> **Comments:**
> **username_0**: Ok, so it is not possible to add a multi-sig address to the keypool then I take it?  
> **username_1**: No, it is not possible. You currently cannot get any addresses from Bitcoin Core except for the standard single key addresses.  

---

