This question already has an answer here:

I am experimenting building an in-house Bitcoin payment system.

What is currently the recommended practice to get notifications to your web server when a certain Bitcoin address receives a transaction? E.g. trigger an action from somewhere which results a HTTP call made to a web server.

Are there any better alternatives than polling bitcoind?

External systems (blockchain.info) are good to go too for me.

Any way to filter for certain confirmation threshold (e.g. need 6 confirmations)?

marked as duplicate by John T Apr 10 '14 at 6:19

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


Polling bitcoind is superior to any other alternatives as there is zero lag, your operations don't depend on a 3rd party SPOF service, etc.

A fresh incoming payment is also an outspent output, so calling bitcoin-cli listunspent 6 9999999 "[\"localAddressInQuestion\"]" will provide you with the exact unspent amount for this address only. Replace 6 with any number you wish to set as the confirmation threshold or make it 0 to get the unconfirmed payments as well.


Blockchain.info provides exactly this functionality: https://blockchain.info/wallet/payment-notifications

With the HTTP post method, you just need a web server listening for POST data.

Regarding the 6 confirmations, you could easily achieve this by waiting 60 minutes (or so) after the data came in from blockchain.info. Or you could periodically lookup the transaction identifier on blockchain.info using its API to check when it has reached 6 confirmations.

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