<blockquote>
  <p>Because these api are very fast response, I think they're not using rescan.</p>
</blockquote>

<p>No, they maintain massive databases that index every transaction and transaction output and their associated addresses. Bitcoin Core does not need this for normal function, and the vast majority of users do not need access to such information. Bitcoin Core does not and cannot build such databases.</p>

<blockquote>
  <p>I'm using version 0.16</p>
</blockquote>

<p>Then there is nothing you can do.</p>

<p>If you were using 0.18, then you could use the <code>scantxoutset</code> command to just scan the UTXO set for UTXOs. This is very quick, and you can specify multiple addresses to do it as single batch scan. <code>scantxoutset</code> will give you all of the UTXOs for the specified addresses but will not add them to any wallets loaded in Bitcoin Core. However, it does not sound like you are using the wallet so that should be fine.</p>

CC BY-SA 4.0
2019-08-16T07:03:40.123Z
Thank you, I've understood. But I can not find more detail on this `scantxoutset` command. May you give me a simple format with a valid adress without publickey, example: 
`bitcoin-cli scantxoutset start '[{"desc":"MY_ADDRESS", "range":100}]'`
mmo2112
CC BY-SA 4.0
2019-08-16T14:25:11.380Z
`bitcoin-cli scantxoutset start '["addr(<address>)", "addr(<address2>)"]'` where `<address>` and <address2> are the addresses you want to scan for. Since it is an array, you can just add more `addr(<address>)` style descriptors.
Ava Chow
CC BY-SA 4.0
2019-08-16T04:38:07.493Z
2019-08-16T04:38:07.493Z
Ava Chow
<p>For few reasons, I must use rpc node to handle wallet at this time. In the near future, I will change the flow to use library to create addreses, store privatekey at database and create raw transaction. That means I will use rpc node for broadcasting only, not depend on it too much. But I need time to do, so I will divide this period to few parts, firstly, I will start at creating and store address: <br>
I have both hex private key and wif key, then I use <code>importprivkey</code> to import wif key to rpc node without <code>rescan</code> because I have a large request contacting to rpc. If those addresses are fresh, it's very nice scenario, each new input to them will automatically fetch UTXO by using <code>listunspent</code> command to check. <br>
In other case, the very worst scenario, for maintenance or backup, I import an address which contains old UTXO and wanna fetch these UTXOs to addresses without using <code>rescan</code> command (it takes a long time to complete), like other api just put address and get UTXOs in a blink.
<a href="https://testnet.blockexplorer.com/api/addr/myzhMVXT39L7nnco6TtJ2a7sYaEo8ixT4Q/utxo" rel="nofollow noreferrer">https://testnet.blockexplorer.com/api/addr/myzhMVXT39L7nnco6TtJ2a7sYaEo8ixT4Q/utxo</a> <br>
Is there any ways to fetch old UTXO to address in rpc node without rescan? Because these api are very fast response, I think they're not using rescan. For long term, using other api is not good for my project, I'm using version 0.16 (I know it's very old but the project need time to change it slowly and carefully), thanks for help so much.</p>

<bitcoind><utxo>
Fetch UTXO Bitcoin to address created by rpc importprivkey without rescan like other api
mmo2112
# Fetch UTXO Bitcoin to address created by rpc importprivkey without rescan like other api

(Asked by: username_0 on 2019-08-16)

For few reasons, I must use rpc node to handle wallet at this time. In the near future, I will change the flow to use library to create addreses, store privatekey at database and create raw transaction. That means I will use rpc node for broadcasting only, not depend on it too much. But I need time to do, so I will divide this period to few parts, firstly, I will start at creating and store address:   
I have both hex private key and wif key, then I use `importprivkey` to import wif key to rpc node without `rescan` because I have a large request contacting to rpc. If those addresses are fresh, it's very nice scenario, each new input to them will automatically fetch UTXO by using `listunspent` command to check.   
In other case, the very worst scenario, for maintenance or backup, I import an address which contains old UTXO and wanna fetch these UTXOs to addresses without using `rescan` command (it takes a long time to complete), like other api just put address and get UTXOs in a blink.
<https://testnet.blockexplorer.com/api/addr/myzhMVXT39L7nnco6TtJ2a7sYaEo8ixT4Q/utxo>   
Is there any ways to fetch old UTXO to address in rpc node without rescan? Because these api are very fast response, I think they're not using rescan. For long term, using other api is not good for my project, I'm using version 0.16 (I know it's very old but the project need time to change it slowly and carefully), thanks for help so much.

**Tags:** bitcoind, utxo


---

## 1 answers

### Answer by username_1 on 2019-08-16. Score: 0 | Accepted answer

> Because these api are very fast response, I think they're not using rescan.

No, they maintain massive databases that index every transaction and transaction output and their associated addresses. Bitcoin Core does not need this for normal function, and the vast majority of users do not need access to such information. Bitcoin Core does not and cannot build such databases.

> I'm using version 0.16

Then there is nothing you can do.

If you were using 0.18, then you could use the `scantxoutset` command to just scan the UTXO set for UTXOs. This is very quick, and you can specify multiple addresses to do it as single batch scan. `scantxoutset` will give you all of the UTXOs for the specified addresses but will not add them to any wallets loaded in Bitcoin Core. However, it does not sound like you are using the wallet so that should be fine.

> **Comments:**
> **username_0**: Thank you, I've understood. But I can not find more detail on this `scantxoutset` command. May you give me a simple format with a valid adress without publickey, example:  `bitcoin-cli scantxoutset start '[{"desc":"MY_ADDRESS", "range":100}]'`  
> **username_1**: `bitcoin-cli scantxoutset start '["addr(<address>)", "addr(<address2>)"]'` where `<address>` and <address2> are the addresses you want to scan for. Since it is an array, you can just add more `addr(<address>)` style descriptors.  

---

