user100646: AFIK, UTXO of an address cannot be retrieved using bitcoin-core, without importing the address in the wallet. 

How are application in production able to get UTXO ?
Does all the application use Indexed database like Insight or Abe to get UTXO ?
Is there any way to get UTXO from bitcoin core without importing the address into the wallet?


user7272: Most services operating large scale wallets only use Bitcoin Core for networking information, and maintain a separate utxo set for wallet purposes.
There are many existing options to build a full utxo set that can be queried for arbitrary addresses, such as the insight project.
Moreover, recent versions of Bitcoin Core come with the scantxoutset RPC call, which allows you to locate unspent outputs for a given address or locking script.

user48884: Most services run their own services which track the UTXOs that they need. They use Bitcoin Core as an edge node which forwards all of the valid blocks and transactions to their internal software that adds them all to a database. This could be a software based on insight or Abe or something homegrown. In this way, they don't need to implement consensus and validation logic, just deserialization and database storage.

Is there any way to get UTXO from bitcoin core without importing the address into the wallet?

Bitcoin Core has a scantxoutset command that you can use to get the UTXOs for a particular scriptPubKey (from an address, descriptor, raw script, etc.).

user100646: My major concern was having privatekey in the Bitcoin Core wallet, So I did generate the address outside the Bitcoin core from third party library or HSM and used importaddress RPC method to import the address as watch-only address and then Bitcoin core handled all UTXO monitoring, Then use listunspent to get the UTXO of the imported address. By this approach privatekey is cold from the core.
Thanks @yyforyongyu for suggesting this.

100646: <p>AFIK, UTXO of an address cannot be retrieved using bitcoin-core, without importing the address in the wallet. </p>

<ol>
<li>How are application in production able to get UTXO ?</li>
<li>Does all the application use Indexed database like Insight or Abe to get UTXO ?</li>
<li>Is there any way to get UTXO from bitcoin core without importing the address into the wallet?</li>
</ol>
 7272: <p>Most services operating large scale wallets only use Bitcoin Core for networking information, and maintain a separate utxo set for wallet purposes.</p>

<p>There are many existing options to build a full utxo set that can be queried for arbitrary addresses, such as the insight project.</p>

<p>Moreover, recent versions of Bitcoin Core come with the <code>scantxoutset</code> RPC call, which allows you to locate unspent outputs for a given address or locking script.</p>
 48884: <p>Most services run their own services which track the UTXOs that they need. They use Bitcoin Core as an edge node which forwards all of the valid blocks and transactions to their internal software that adds them all to a database. This could be a software based on insight or Abe or something homegrown. In this way, they don't need to implement consensus and validation logic, just deserialization and database storage.</p>

<blockquote>
  <p>Is there any way to get UTXO from bitcoin core without importing the address into the wallet?</p>
</blockquote>

<p>Bitcoin Core has a <code>scantxoutset</code> command that you can use to get the UTXOs for a particular scriptPubKey (from an address, descriptor, raw script, etc.).</p>
 100646: <p>My major concern was having privatekey in the Bitcoin Core wallet, So I did generate the address outside the Bitcoin core from third party library or HSM and used <code>importaddress</code> RPC method to import the address as watch-only address and then Bitcoin core handled all UTXO monitoring, Then use <code>listunspent</code> to get the UTXO of the imported address. By this approach privatekey is cold from the core.</p>
<p>Thanks @yyforyongyu for suggesting this.</p>
