<p>"Is it reliable to develop a transactions notification system?"</p>

<p>this is already existing, you could be interested in looking at  : </p>

<p><a href="https://github.com/MORA99/BitPing.Net" rel="nofollow">https://github.com/MORA99/BitPing.Net</a></p>

<p>afaik you dont really need the timestamp to do that, but just use a block explorer like abe :
<a href="http://github.com/jtobey/bitcoin-abe" rel="nofollow">http://github.com/jtobey/bitcoin-abe</a></p>

<p>and your application will be notified of any new transaction</p>

CC BY-SA 3.0
2012-10-31T15:24:47.013Z
2012-10-31T15:24:47.013Z
neofutur
<p>The timestamp is not a part of the standard transaction as per <a href="https://en.bitcoin.it/wiki/Protocol_specification#tx">Bitcoin Protocol Specification</a>. It is most likely generated by the standard client during the api call. The standard client might use its internal time (that might differ from the machine time), which is vulnerable to <a href="http://culubas.blogspot.com/2011/05/timejacking-bitcoin_802.html">timejacking</a>. I might be wrong, however.</p>

<p>As long as your client is running properly, it should be okay to use its timestamps for various notifications. They might represent the time the client received the transaction however, which may differ from the time the transaction was broadcast the first time.</p>

CC BY-SA 3.0
2012-11-01T14:24:54.120Z
This is a good question.  When a block arrives with that transaction the timestamp would probably be different from the timestamp that the local node gave it.

I haven't looked at what the bitcoin.org client does, so I don't know if it changes the timestamp to that from the mined block.

If it does, then the value for time from the API call response can vary between when the transaction is first seen and when it has confirmed.
Stephen Gornick
CC BY-SA 3.0
2012-10-31T10:41:19.357Z
2012-10-31T10:41:19.357Z
ThePiachu
<p>Just one question. Where and how is the TIMESTAMP of a transaction generated?</p>

<p>Is it reliable to develop a transactions notification system?</p>

<p>Thank you! <em>(I mean the time node below)</em></p>

<blockquote>
  <p>{
  "hash":"44ffca26a089ccc806a7861e715d237d9f63b373085492f2ee82901171e8d661",
  "ver":1, "vin_sz":1, "vout_sz":2, "size":257,
  "relayed_by":"127.0.0.1", "tx_index":31066681,"result":0,
  <strong>"time":1351624745</strong>,"block_height":205754, "inputs":[ { "prev_out":{
  "type":0, "addr":"1PAPY4UN1NtFwRibWRuFT1CkgK3NvnMpoC",<br>
  "value":879000000, "tx_index":31055718, "n":1 } } ], "out":[ {
  "addr":"1ELop4RiQtsVnqPJZHqErCvmJZPHsVn2YT",   "value":5000000, 
  "type":0 } ,{ "addr":"1PAPY4UN1NtFwRibWRuFT1CkgK3NvnMpoC",<br>
  "value":874000000,  "type":0 } ] },</p>
</blockquote>

<transactions>
Which is the reliability of a transaction timestamp?
flaab
# Which is the reliability of a transaction timestamp?

(Asked by: username_0 on 2012-10-31)

Just one question. Where and how is the TIMESTAMP of a transaction generated?

Is it reliable to develop a transactions notification system?

Thank you! *(I mean the time node below)*

> {
> "hash":"44ffca26a089ccc806a7861e715d237d9f63b373085492f2ee82901171e8d661",
> "ver":1, "vin\_sz":1, "vout\_sz":2, "size":257,
> "relayed\_by":"127.0.0.1", "tx\_index":31066681,"result":0,
> **"time":1351624745**,"block\_height":205754, "inputs":[ { "prev\_out":{
> "type":0, "addr":"1PAPY4UN1NtFwRibWRuFT1CkgK3NvnMpoC",  
> "value":879000000, "tx\_index":31055718, "n":1 } } ], "out":[ {
> "addr":"1ELop4RiQtsVnqPJZHqErCvmJZPHsVn2YT", "value":5000000,
> "type":0 } ,{ "addr":"1PAPY4UN1NtFwRibWRuFT1CkgK3NvnMpoC",  
> "value":874000000, "type":0 } ] },

**Tags:** transactions


---

## 2 answers

### Answer by username_2 on 2012-10-31. Score: 9 | Accepted answer

The timestamp is not a part of the standard transaction as per [Bitcoin Protocol Specification](https://en.bitcoin.it/wiki/Protocol_specification#tx). It is most likely generated by the standard client during the api call. The standard client might use its internal time (that might differ from the machine time), which is vulnerable to [timejacking](http://culubas.blogspot.com/2011/05/timejacking-bitcoin_802.html). I might be wrong, however.

As long as your client is running properly, it should be okay to use its timestamps for various notifications. They might represent the time the client received the transaction however, which may differ from the time the transaction was broadcast the first time.

> **Comments:**
> **username_3**: This is a good question.  When a block arrives with that transaction the timestamp would probably be different from the timestamp that the local node gave it.  I haven't looked at what the bitcoin.org client does, so I don't know if it changes the timestamp to that from the mined block.  If it does, then the value for time from the API call response can vary between when the transaction is first seen and when it has confirmed.  

---

### Answer by username_1 on 2012-10-31. Score: 2

"Is it reliable to develop a transactions notification system?"

this is already existing, you could be interested in looking at :

<https://github.com/MORA99/BitPing.Net>

afaik you dont really need the timestamp to do that, but just use a block explorer like abe :
<http://github.com/jtobey/bitcoin-abe>

and your application will be notified of any new transaction


---

