Docs Quickstart

Quickstart Guide

This guide walks through connecting your first order session to EurekaLabs. Estimated time: 20 to 30 minutes for an engineer familiar with FIX protocol.

Prerequisites

Before starting, you will need:

  • An active EurekaLabs account (request access at login/register)
  • Your EKL API credentials from the management console
  • A FIX engine capable of FIX 4.2 or higher (QuickFIX, CameronFIX, or native)
  • Network connectivity to the EKL co-location endpoint (your assigned gateway IP and port are in the management console)

FIX Session Setup

Configure your FIX engine with the following session parameters. Your SenderCompID and the logon passphrase are issued at account provisioning.

1

Configure session identity

Set SenderCompID to your assigned firm identifier. Set TargetCompID to EUREKAHQ for all sessions.

config
[SESSION]
SenderCompID=YOUR_FIRM_ID
TargetCompID=EUREKAHQ
HeartBtInt=30
ResetOnLogon=Y
SocketConnectHost=gw.eurekahq.org
SocketConnectPort=9443
2

Set logon credentials

EKL uses custom FIX tag 553 (Username) and tag 554 (Password) on the Logon message. Your credentials are distinct from your management console password.

fix
8=FIX.4.4|9=XX|35=A|49=YOUR_FIRM_ID|56=EUREKAHQ|
553=YOUR_SESSION_USER|554=YOUR_SESSION_PASS|
98=0|108=30|10=XXX
3

Enable mTLS transport

All EKL sessions require mutual TLS. Download your client certificate bundle from the management console and configure your FIX engine's SSL context to present it on connect.

config
SSLEnable=Y
SSLCertificate=/path/to/ekl-client.crt
SSLPrivateKey=/path/to/ekl-client.key
SSLCACertificate=/path/to/ekl-ca.crt

Submit Your First Order

Once your FIX session logs on, submit a limit order using standard FIX 4.4 NewOrderSingle (tag 35=D). EKL accepts standard FIX order types with no custom extensions required for basic order submission.

fix 4.4
// NewOrderSingle limit buy
8=FIX.4.4  // BeginString
35=D      // MsgType = NewOrderSingle
49=YOUR_FIRM_ID
56=EUREKAHQ
11=ORD-001  // ClOrdID
55=AAPL    // Symbol
54=1       // Side = Buy
60=20260101-09:30:00.000  // TransactTime
38=100     // OrderQty
40=2       // OrdType = Limit
44=175.50  // Price
59=0       // TimeInForce = Day

Verify Latency Data

After your first order is confirmed, you can pull the hardware-timestamp latency measurement via the management API. This confirms that your session is being timestamped and that the data pipeline is flowing correctly.

bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.eurekahq.org/v1/latency?session=YOUR_SESSION&period=1h"

# Example response
{
  "session": "YOUR_SESSION",
  "p50_ns": 210,
  "p99_ns": 380,
  "p999_ns": 620,
  "samples": 2847
}

For p50 values significantly above 500ns on your first session, contact support. This usually indicates a routing configuration issue or suboptimal physical path in the co-location switch topology.

Docs Home API Reference