developers:websocket:connecting

Connecting and Authenticating

To start using the Plus500 Futures Technologies WebSocket API, clients must establish a secure WebSocket connection and authenticate before subscribing to data streams or submitting orders.

Environment WebSocket URL
Live wss://wss.t4login.com/v1
Simulator wss://wss-sim.t4login.com/v1

Clients must connect using WebSocket Secure (WSS) over SSL/TLS on port 443. Messages are encoded using Google Protocol Buffers (Protobuf).

To maintain an active connection, both the client and server must send a heartbeat message every 20 seconds. If no other message is sent during that interval, the server will send a heartbeat automatically. If the server does not receive any message for 3 consecutive heartbeat intervals, it will terminate the connection.

Authentication must be performed immediately after establishing a connection by sending a `LoginRequest` message. This API supports two authentication methods: - API Key Authentication (provide only the `api_key` field). - Username/Password Authentication (send `firm`, `username`, `password`, `app_name`, and `app_license`).

Example LoginRequest (API Key Authentication):

{
  "api_key": "abc123-xyz789"
}

Example LoginRequest (Username/Password Authentication):

{
  "firm": "T4Futures",
  "username": "trader123",
  "password": "securepassword",
  "app_name": "CustomTradingApp",
  "app_license": "LICENSE-4567"
}

If authentication succeeds, the server will return a `LoginResponse` with a session ID and assigned roles.

Example Successful LoginResponse:

{
  "result": "LOGIN_SUCCESS",
  "session_id": "sess-123456789",
  "user_id": "user-456",
  "firm_id": "firm-789",
  "roles": ["Trader", "RiskManager"]
}

If authentication fails, the server will return an error message. Some common reasons for failure include:

LoginResult Code Meaning
`LOGIN_FAILED` Invalid credentials.
`TWO_FACTOR_REQUIRED` Two-factor authentication is required.
`UNAUTHORIZED` API key or username/password is incorrect.
`PASSWORD_EXPIRED` The password must be changed before logging in.
`LOCKED_OUT` Too many failed login attempts.

For detailed message formats, refer to the Message Reference page.

If the connection is lost, clients should reconnect automatically and re-authenticate as session resumption is not supported. Connections remain valid as long as heartbeats are exchanged.

The system undergoes scheduled maintenance every week, shutting down at midnight on Friday and resuming service on Sunday morning. During this period, all connections will be dropped.

Once authenticated, clients can:


💡 Tip: Test your WebSocket connection using tools like `wscat` or a sample SDK.

  • developers/websocket/connecting.txt
  • Last modified: 2025/03/14 03:11
  • by chad