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;



  • 2
    Where did you see that txid can change?
    – RentFree
    Commented Aug 14, 2013 at 1:02

2 Answers 2


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.


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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.