<p>TXIDs cannot change. TXIDs are simply hashes of the transaction. It is <strong>possible</strong> for two different transactions to have the same TXID - that's called a hash collision. However, the chances of that happening are so low and I believe you will actually win prize money if you find a collision.</p>

CC BY-SA 3.0
2013-08-22T08:05:06.490Z
2013-08-22T08:05:06.490Z
apscience
<blockquote>
  <p>I am building a Bitcoin IPN to poll bitcoind every 5 minutes</p>
</blockquote>

<p>Investivate -blocknotify, which will turn your system from pull to push. Any command given to <code>blocknotify</code> will be executed when a new block is encountered, and you can use this to update your internal systems with the newly confirmed data. </p>

CC BY-SA 3.0
2013-09-21T21:40:11.640Z
2013-09-21T21:40:11.640Z
Anonymous
<p>I am building a Bitcoin IPN to poll bitcoind every 5 minutes, find new payments with at least 1 confirm, and notify a server.</p>

<p>It looks like I am going to have to load them all up with 'listtransactions' every time and parse out new ones.  Inelegant, but I don't see any other option.</p>

<p>So the next problem is that I need a unique identifier of payments so that I can see if it has already sent a notice.  I have read that txid can change?  Well, that is not a bloody ID then, is it?!  How can I identify a payment?  sha1(address . amount . time) ?  What is the difference between 'time' and 'timereceived'? Are they static?</p>

<p>The best discussion I found about this is here but it doesn't look like it went anywhere;</p>

<p><a href="https://bitcointalk.org/index.php?topic=3092.0" rel="nofollow">https://bitcointalk.org/index.php?topic=3092.0</a></p>

<p>Cheers.</p>

CC BY-SA 3.0
2013-08-14T01:02:09.600Z
Where did you see that txid can change?
RentFree
<transactions><bitcoind>
Building a Bitcoin IPN. Need unique identifier
fmrk
# Building a Bitcoin IPN. Need unique identifier

(Asked by: username_0 on 2013-07-07)

I am building a Bitcoin IPN to poll bitcoind every 5 minutes, find new payments with at least 1 confirm, and notify a server.

It looks like I am going to have to load them all up with 'listtransactions' every time and parse out new ones. Inelegant, but I don't see any other option.

So the next problem is that I need a unique identifier of payments so that I can see if it has already sent a notice. I have read that txid can change? Well, that is not a bloody ID then, is it?! How can I identify a payment? sha1(address . amount . time) ? What is the difference between 'time' and 'timereceived'? Are they static?

The best discussion I found about this is here but it doesn't look like it went anywhere;

<https://bitcointalk.org/index.php?topic=3092.0>

Cheers.

**Tags:** transactions, bitcoind

> **Comments:**
> **username_1**: Where did you see that txid can change?  

---

## 2 answers

### Answer by username_2 on 2013-08-22. Score: 1

TXIDs cannot change. TXIDs are simply hashes of the transaction. It is **possible** for two different transactions to have the same TXID - that's called a hash collision. However, the chances of that happening are so low and I believe you will actually win prize money if you find a collision.


---

### Answer by username_3 on 2013-09-21. Score: 0

> I am building a Bitcoin IPN to poll bitcoind every 5 minutes

Investivate -blocknotify, which will turn your system from pull to push. Any command given to `blocknotify` will be executed when a new block is encountered, and you can use this to update your internal systems with the newly confirmed data.


---

