user27581: I am aware it is possible to use "importaddress" to import bitcoin addresses without their associated private keys.
For an online shop that uses "getnewaddress" in order to present a customer with an address, is it possible for "getnewaddress" to only ever serve up "watch-only" addresses?
Ie - I do not want the Bitcoin core wallet to create new addresses. I want to use "importaddress" to import 10k watch-only addresses.
Is the above possible? And, if so, what is the expected behaviour of "getnewaddress" in the event of all 10k watch-only addresses being used up?

user3697: I don't thing your approach makes sense. Why would you importaddress as watch only and give them out over getnewaddress? Do you try to missuse bitcoind as a address database (importaddress = store  |   getnewaddress = retrieve)?
If you need endless amounts of addresses, you probably like to switch to Bip32 (a.k.a HDWallets). There is a experimental patch for bitcoin-core (https://github.com/bitcoin/bitcoin/pull/6265) which would allow you to call hdgetaddress without having the master seed (private key) in the wallet.

user27592: There are libraries out there built upon bitcoind. These libraries pull with 'getnewaddress'. However, bitcoind will automatically generate new keys once the keypool is exhausted. I was attempting to avoid having private keys on the server.
Another method could be to regularly sweep incoming funds..

27581: <p>I am aware it is possible to use "importaddress" to import bitcoin addresses without their associated private keys.</p>

<p>For an online shop that uses "getnewaddress" in order to present a customer with an address, is it possible for "getnewaddress" to only ever serve up "watch-only" addresses?</p>

<p>Ie - I do not want the Bitcoin core wallet to create new addresses. I want to use "importaddress" to import 10k watch-only addresses.</p>

<p>Is the above possible? And, if so, what is the expected behaviour of "getnewaddress" in the event of all 10k watch-only addresses being used up?</p>
 3697: <p>I don't thing your approach makes sense. Why would you <code>importaddress</code> as watch only and give them out over <code>getnewaddress</code>? Do you try to missuse bitcoind as a address database (<code>importaddress</code> = store  |   <code>getnewaddress</code> = retrieve)?</p>

<p>If you need endless amounts of addresses, you probably like to switch to Bip32 (a.k.a HDWallets). There is a experimental patch for bitcoin-core (<a href="https://github.com/bitcoin/bitcoin/pull/6265" rel="nofollow">https://github.com/bitcoin/bitcoin/pull/6265</a>) which would allow you to call <code>hdgetaddress</code> without having the master seed (private key) in the wallet.</p>
 27592: <p>There are libraries out there built upon bitcoind. These libraries pull with 'getnewaddress'. However, bitcoind will automatically generate new keys once the keypool is exhausted. I was attempting to avoid having private keys on the server.</p>

<p>Another method could be to regularly sweep incoming funds..</p>
