ZagTrader

FIX Protocol Tag 52: SendingTime

Time the message was sent, in UTC.

Tag number
52
Data type
UTCTIMESTAMP
FIX versions
FIX 4.0 to 5.0 SP2 and FIXT 1.1
Location
Standard header

Practical notes on SendingTime

SendingTime is the UTC time the message was sent. It is a required header field on every message.

  • Format: YYYYMMDD-HH:MM:SS, optionally with fractional seconds, always UTC with no time zone suffix.
  • Set it when the message is written to the socket, not when the order was created; TransactTime (60) carries the business time.
  • Receivers compare it with their own clock. QuickFIX allows 120 seconds by default before rejecting with SessionRejectReason 10.
  • On a replay, SendingTime is the time of the replay and the original goes in OrigSendingTime (122).

Common mistakes

  • Local time instead of UTC: the message is hours off and is rejected, then the session logs out.
  • Microsecond or nanosecond precision sent to an engine that only accepts milliseconds.

See also:SendingTime accuracy problem (373=10)

Tag 52 in each FIX version

Values and message usage as defined in a specific version.

Data type

UTCTIMESTAMP: Date and time in UTC as YYYYMMDD-HH:MM:SS, optionally followed by fractions of a second (.sss).

Example

52=20261020-14:30:05.123

Illustrative value. In a message, fields are separated by the SOH character (0x01), often shown as | or ^ in logs.

Decode a message with this tag

Message types that use tag 52

SendingTime belongs to the standard message header, which every FIX message carries, so it is not listed against individual message types.

Field and message data comes from the QuickFIX data dictionaries for FIX 4.0 to 5.0 SP2 and FIXT 1.1, used under the QuickFIX Software License. This product includes software developed by quickfixengine.org (http://www.quickfixengine.org/). Enumerated value names are converted to plain text for reading.