user6918: As an example, in Eternl wallet, a new transaction is marked as follows:

red (0 to 9 confirmations)
yellow (10 to 19 confirmations)
green (20+ confirmations)

I have been watching blocks in db-sync, and have observed that 20 confirmations takes anywhere from 7 to 8 minutes.
In my service, I think I will be starting with a value of 20 for minimum confirmations, or block depth in my query for new transactions, but I also would like to keep it as low as possible to shave as many minutes off users seeing their new transaction reflected in my service, while still remaining confident in the level of finality I am accepting as valid.
So...I am not yet sure where the sweet spot between speed of acceptance and confidence of finality is, so I am hoping everyone will state their view on the matter, and importantly, why.
Thank you!
EDIT:
I have examined my node console and remarked the "Switch to new fork" is an event that occurs consistently, perhaps a number of confirmations that on average correlates to that is an objective measure of confidence? Here's what I observed:
2022-07-28 06:50
2022-07-28 07:14 => 24 mins
2022-07-28 07:29 => 15 mins
2022-07-28 07:37 =>   8 mins
2022-07-28 07:44 =>   7 mins
2022-07-28 08:12 => 28 mins
2022-07-28 08:22 => 10 mins
2022-07-28 08:34 => 12 mins
2022-07-28 09:11 => 37 mins
2022-07-28 09:31 => 20 mins
2022-07-28 09:33 =>   2 mins
2022-07-28 09:36 =>   3 mins
2022-07-28 09:45 =>   9 mins
2022-07-28 10:13 => 28 mins
2022-07-28 10:23 => 10 mins
===================
               Sum =>213 mins


                Avg=>14.2 mins 


So, switches to new fork on average about every 15 mins which is a long time in terms of confirmations...if I were to say, select the number of confirmations that on average certainly pushes beyond the most recent "switch to new fork" than I'd guess about 40 to 50 confirmations, and though it would often be overkill, it would also almost always be enough to cause a delay that extended beyond whatever the next "switch to fork" was following a given new transaction being tracked.

user5926: I have not had to do this, but if I did, my level of comfort would depend on the amount in question. If it was US$20 I might want 2 confirmations whereas if it was US$20,000 I might want 20 confirmations.

have observed that 20 confirmations takes anywhere from 7 to 8 minutes.

Basically each block added to the chain adds a confirmation. The average block time interval is about 20 seconds and if you have the ocassional missed block it will be slightly higher than that.
20 blocks * 20 second block interval => 400 seconds => 6.667 minutes


6918: <p>As an example, in Eternl wallet, a new transaction is marked as follows:</p>
<ul>
<li>red (0 to 9 confirmations)</li>
<li>yellow (10 to 19 confirmations)</li>
<li>green (20+ confirmations)</li>
</ul>
<p>I have been watching blocks in db-sync, and have observed that 20 confirmations takes anywhere from 7 to 8 minutes.</p>
<p>In my service, I think I will be starting with a value of 20 for minimum confirmations, or block depth in my query for new transactions, but I also would like to keep it as low as possible to shave as many minutes off users seeing their new transaction reflected in my service, while still remaining confident in the level of finality I am accepting as valid.</p>
<p>So...I am not yet sure where the sweet spot between speed of acceptance and confidence of finality is, so I am hoping everyone will state their view on the matter, and importantly, why.
Thank you!</p>
<h2>EDIT:</h2>
<p>I have examined my node console and remarked the &quot;Switch to new fork&quot; is an event that occurs consistently, perhaps a number of confirmations that on average correlates to that is an objective measure of confidence? Here's what I observed:</p>
<p>2022-07-28 06:50</p>
<p>2022-07-28 07:14 =&gt; 24 mins</p>
<p>2022-07-28 07:29 =&gt; 15 mins</p>
<p>2022-07-28 07:37 =&gt;   8 mins</p>
<p>2022-07-28 07:44 =&gt;   7 mins</p>
<p>2022-07-28 08:12 =&gt; 28 mins</p>
<p>2022-07-28 08:22 =&gt; 10 mins</p>
<p>2022-07-28 08:34 =&gt; 12 mins</p>
<p>2022-07-28 09:11 =&gt; 37 mins</p>
<p>2022-07-28 09:31 =&gt; 20 mins</p>
<p>2022-07-28 09:33 =&gt;   2 mins</p>
<p>2022-07-28 09:36 =&gt;   3 mins</p>
<p>2022-07-28 09:45 =&gt;   9 mins</p>
<p>2022-07-28 10:13 =&gt; 28 mins</p>
<p>2022-07-28 10:23 =&gt; 10 mins</p>
<p>===================</p>
<pre><code>               Sum =&gt;213 mins
</code></pre>
<hr />
<pre><code>                Avg=&gt;14.2 mins 
</code></pre>
<hr />
<p>So, switches to new fork on average about every 15 mins which is a long time in terms of confirmations...if I were to say, select the number of confirmations that on average certainly pushes beyond the most recent &quot;switch to new fork&quot; than I'd guess about 40 to 50 confirmations, and though it would often be overkill, it would also almost always be enough to cause a delay that extended beyond whatever the next &quot;switch to fork&quot; was following a given new transaction being tracked.</p>
 5926: <p>I have not had to do this, but if I did, my level of comfort would depend on the amount in question. If it was US$20 I might want 2 confirmations whereas if it was US$20,000 I might want 20 confirmations.</p>
<blockquote>
<p>have observed that 20 confirmations takes anywhere from 7 to 8 minutes.</p>
</blockquote>
<p>Basically each block added to the chain adds a confirmation. The average block time interval is about 20 seconds and if you have the ocassional missed block it will be slightly higher than that.</p>
<pre><code>20 blocks * 20 second block interval =&gt; 400 seconds =&gt; 6.667 minutes
</code></pre>
