<p>The <a href="https://docs.bitfinex.com/v1/reference#ws-auth-executed-trades" rel="nofollow noreferrer">documentation of the authenticated side of the API</a> from where these orders are created states the following:</p>

<blockquote>
  <p>After a <code>te</code> message you receive shortly a <code>tu</code> message that contains
  the real trade id (<code>TRD_ID</code>) and additional/updated fields.</p>
</blockquote>

<p>These updated fields are for example fees that are charged afterwards.</p>

<p>Although from the public side of the API this real trade ID is already known and fees are irrelevant. Therefore, the data of the <code>te</code>-message is identical to the <code>tu</code>-message.</p>

<p>So, <strong>it seems <code>tu</code>-messages can be ignored.</strong></p>

<p>+</p>

<p>Bitfinex now has it explained at their Bitfinex API module for Node.JS.
<a href="https://github.com/bitfinexcom/bitfinex-api-node" rel="nofollow noreferrer">https://github.com/bitfinexcom/bitfinex-api-node</a></p>

<h2>How do <code>te</code> and <code>tu</code> messages differ?</h2>

<p>A <code>te</code> packet is sent first to the client immediately after a trade has been matched &amp; executed, followed by a <code>tu</code> message once it has completed processing. During times of high load, the <code>tu</code> message may be noticably delayed, and as such <strong>only the <code>te</code> message should be used for a realtime feed.</strong></p>

CC BY-SA 3.0
2017-10-07T13:48:22.007Z
2018-01-03T22:16:50.280Z
2018-01-03T22:16:50.280Z
seymar
<p>Using the <a href="https://bitfinex.readme.io/v2/reference#rest-public-trades" rel="nofollow noreferrer">Bitfinex WebSocket API</a> I am subscribing to trades.</p>

<p>The data I receive looks like this:</p>

<pre><code>  chanId  msgType tradeID   Timestamp      Amount     Price
[ 139260, 'te', [ 73962571, 1507383025000, 97.628437, 0.503 ] ]
[ 139260, 'tu', [ 73962571, 1507383025000, 97.628437, 0.503 ] ]
</code></pre>

<p><code>te</code> = Trade Execution</p>

<p><code>tu</code> = Trade Execution Update</p>

<p><em>As stated by the <a href="https://bitfinex.readme.io/v2/docs/abbreviations-glossary" rel="nofollow noreferrer">Abbreviations Glossary</a></em></p>

<p>What I do not understand is that for the same <code>tradeId</code> I first get a <code>te</code> message and then a moment later a <code>tu</code> message. There is no difference in content of these messages, so what is the purpose of the <code>tu</code> message?</p>

<p><strong>What is the difference between a Trade Execution and a Trade Execution Update?</strong></p>

<trading><bitfinex><websockets>
Trade Execution v.s. Trade Execution Update
seymar
# Trade Execution v.s. Trade Execution Update

(Asked by: username_0 on 2017-10-07)

Using the Bitfinex WebSocket API I am subscribing to trades.
The data I receive looks like this:
  chanId  msgType tradeID   Timestamp      Amount     Price
[ 139260, 'te', [ 73962571, 1507383025000, 97.628437, 0.503 ] ]
[ 139260, 'tu', [ 73962571, 1507383025000, 97.628437, 0.503 ] ]

te = Trade Execution
tu = Trade Execution Update
As stated by the Abbreviations Glossary
What I do not understand is that for the same tradeId I first get a te message and then a moment later a tu message. There is no difference in content of these messages, so what is the purpose of the tu message?
What is the difference between a Trade Execution and a Trade Execution Update?

**Tags:** trading, bitfinex, websockets


---

## 1 answers

### Answer by username_0 on 2017-10-07. Score: 1 | Accepted answer

The [documentation of the authenticated side of the API](https://docs.bitfinex.com/v1/reference#ws-auth-executed-trades) from where these orders are created states the following:

> After a `te` message you receive shortly a `tu` message that contains
> the real trade id (`TRD_ID`) and additional/updated fields.

These updated fields are for example fees that are charged afterwards.

Although from the public side of the API this real trade ID is already known and fees are irrelevant. Therefore, the data of the `te`-message is identical to the `tu`-message.

So, **it seems `tu`-messages can be ignored.**

+

Bitfinex now has it explained at their Bitfinex API module for Node.JS.
<https://github.com/bitfinexcom/bitfinex-api-node>

## How do `te` and `tu` messages differ?

A `te` packet is sent first to the client immediately after a trade has been matched & executed, followed by a `tu` message once it has completed processing. During times of high load, the `tu` message may be noticably delayed, and as such **only the `te` message should be used for a realtime feed.**


---

