FIXAccounts FIX

FIXMsgType 35=A
FIX 4.4 Gateway TLS/TCP

The client sends Logon (35=A) to the server over TLS/TCP at fix.bitgo.com:5100 (or test). This is not an HTTP request.

Required before order entry or market-data application messages on a new session. One active order-entry session per Go Account (56=BITGO); market data uses a separate session (56=BITGO-MD).

SenderCompID (49) identifies the account; there is no separate Username (tag 553). Your access token goes in Password (554).

On success: server echoes Logon (35=A).

On failure: server sends Logout (35=5) with Text (58) describing the reason. The session does not reach the logged-on state. Common rejection texts:

Text (tag 58) Cause
invalid access token Token malformed, expired at Logon, or otherwise invalid
missing or empty access token (tag 554) Tag 554 absent or empty
invalid Go Account ID in TargetCompID: expected 32 hex chars Bad account ID format (swapped CompIDs)
unknown SenderCompID: expected BITGO or BITGO-MD Wrong session type in tag 56 (or swapped 49/56)
token missing trade_fix scope Token lacks FIX permission
not authorised for this account No spend permission on the account
rate limit exceeded on logon, retry shortly More than 10 Logon attempts per minute
authentication failed Generic auth failure
access token expired Token already expired at Logon
active session exists for this account Another FIX session is already active for this account
session enforcement failed Session store could not claim the account slot
server shutting down, please reconnect Acceptor is draining / shutting down

Mid-session token expiry and revocation use Logout (35=5) with session expired / access token revoked (see Logout page), not these Logon reject texts.

Message fields

TagFieldRequiredDescription
554 Password Required

Required. BitGo access token.

98 EncryptMethod Required

Required. Must be 0 (None). TLS encrypts the transport.

108 HeartBtInt Required

Required. Heartbeat interval in seconds. Must be 30 to match the server.

141 ResetSeqNumFlag Optional

Optional. Must be Y when sent. Sequence numbers reset to 1 on every connection (stateless session model) regardless, as the server is configured with ResetOnLogon=Y.

Response messages

  • On success
    Session established. Server echoes Logon (35=A).
  • On reject
    Logout (35=5) with rejection reason in tag 58.

Examples

Example (pipe-delimited FIX):

8=FIX.4.4|9=128|35=A|49=0123456789abcdef0123456789abcdef|56=BITGO|34=1|554=v2_your_access_token_here|141=Y|98=0|108=30|52=20260415-14:30:00.000|10=XXX|