Table of Contents

Instruments API

The T4 system uses MarketID to uniquely identify tradeable instruments on our platform. These instruments are partitioned in a hierarchical manner using:

ExchangeID Represents the exchange and market segment.
Examples include CME Equities CME_Eq, CME Commodities CME_C, CME NYMEX CME_Ny, and their option variants such as CME Equity Options CME_EqOp, CME Commodity Options CME_COp, and CME NYMEX Options CME_NyOp.
ContractID Represents the specific product group.
Examples include Corn ZC, E-Mini S&P 500 ES, and Crude Oil CL.
MarketID Uniquely identifies the tradeable instrument.
Examples:
- Future: Corn May25 XCME_C ZC (K25)
- Option: Corn Mar26 500 Call XCME_COp OZC (H26P 500)

Note: MarketID is unique across the platform.

Warning: Never parse MarketID into it's component parts. Even if it appears that may work, it will not work across our whole platform.

Authentication

The Market Data API supports two authentication methods, depending on your integration scenario:

JWT Authentication

To obtain a JWT token:

  1. Send a JWT request Protocol Buffer message to the authentication endpoint
  2. The server will respond with a JWT token that should be included in subsequent API requests
  3. Include the JWT token in the Authorization header using the Bearer scheme

AuthKey Authentication

For B2B integrations:

  1. Use your provided AuthKey for direct API access
  2. Include the AuthKey in the request header as specified in the API documentation
  3. AuthKeys have configurable permissions and can be managed through the administration portal

Swagger API Documentation

For a complete reference of all available endpoints, request parameters, and response formats, please refer to our interactive Swagger documentation:

Market Data API Swagger Documentation

Exchanges

Retrieves a list of exchanges available in the market data system.

API Endpoint

GET https://api-sim.t4login.com/markets/exchanges

Include Authorization which should contain a valid bearer token.

Authorization: Bearer YOUR_ACCESS_TOKEN

The JSON response is an array of objects, each representing an exchange with its ID, clearing exchange, and description.

Response Structure

Element Description
exchangeId Identifier for the exchange.
clearingExchange The clearing exchange name.
description A brief description of the exchange.

Example JSON Response

[
    {
        "exchangeId": "CME_C",
        "clearingExchange": "CBOT",
        "description": "CBOT Commodity Futures"
    },
    {
        "exchangeId": "CME_CL",
        "clearingExchange": "NYMEX",
        "description": "NYMEX CrudeOil Futures"
    },
    {
        "exchangeId": "CME_CLOp",
        "clearingExchange": "NYMEX",
        "description": "NYMEX CrudeOil Options"
    },
    {
        "exchangeId": "CME_CO",
        "clearingExchange": "COMEX",
        "description": "COMEX Futures"
    },
    // ... additional exchanges ...
]

Contracts

The Contracts API endpoint retrieves a list of contracts for a given exchange.

API Endpoint

GET https://api-sim.t4login.com/markets/contracts

Header

Include Authorization which should contain a valid bearer token.

Authorization: Bearer YOUR_ACCESS_TOKEN

Parameters

Parameter Description
exchangeID Identifier for the exchange.

Response Structure

Element Description
exchangeID Identifier for the exchange.
contractID Identifier for the contract.
contractType Type of the contract (e.g., Future).
description A brief description of the contract.

Example JSON Response

[
    {
        "exchangeID": "CME_Eq",
        "contractID": "ES",
        "contractType": "Future",
        "description": "E-mini S&P 500"
    },
    {
        "exchangeID": "CME_Eq",
        "contractID": "ES1",
        "contractType": "Future",
        "description": "E-mini S&P 500 Forward BTIC Nearby"
    },
    {
        "exchangeID": "CME_Eq",
        "contractID": "ES1",
        "contractType": "Future",
        "description": "E-mini S&P 500 Forward BTIC Nearby"
    },
    {
        "exchangeID": "CME_Eq",
        "contractID": "ES2",
        "contractType": "Future",
        "description": "E-mini S&P 500 Forward BTIC Deferred"
    },
  // ... additional contracts...
]

The JSON response is an array of objects, each representing a contract with its exchange ID, contract ID, type, and description.

Contract Search

The Contract Search API endpoint is used to search for contracts based on a given search query.

API Endpoint

GET https://api-sim.t4login.com/markets/contracts/search

Header

Include Authorization which should contain a valid bearer token.

Authorization: Bearer YOUR_ACCESS_TOKEN

Parameters

Parameter Description
s The search query string used to search for contracts.

Response Structure

The response structure will be an array of contract objects. Each object includes details about the contract found in the search.

Example JSON Response

[
    {
        "exchangeID": "CME_CO",
        "contractID": "GC",
        "contractType": "Future",
        "description": "Gold"
    },
    {
        "exchangeID": "CME_CO",
        "contractID": "GC",
        "contractType": "Future",
        "description": "Gold"
    },
    {
        "exchangeID": "CME_COOp",
        "contractID": "OG",
        "contractType": "Option",
        "description": "Gold"
    },
    {
        "exchangeID": "LME_PR",
        "contractID": "AU",
        "contractType": "Future",
        "description": "Gold"
    },
    {
        "exchangeID": "CME_CO",
        "contractID": "GCT",
        "contractType": "Future",
        "description": "Gold TAS"
    },
    {
        "exchangeID": "CME_CO",
        "contractID": "GVF",
        "contractType": "Future",
        "description": "Gold VIX"
    },
	// ... additional results ...
]

Markets

The Markets API endpoint retrieves information about markets based on specified criteria, including exchange ID, contract ID, and optionally market ID and strategy type.

API Endpoint

GET https://api-sim.t4login.com/markets

Header

Include Authorization which should contain a valid bearer token.

Authorization: Bearer YOUR_ACCESS_TOKEN

Parameters

Parameter Description
exchangeID Required. Identifier for the exchange.
contractID Required. Identifier for the contract.
marketID Optional identifier for the market.
strategyType Optional. Type of strategy (Default is Any).

Response

The JSON response is an array of objects, each representing a market with specific details such as exchange ID, contract ID, market ID, description, contract type, expiry date, and last trading date.

Element Description
exchangeID Identifier for the exchange.
contractID Identifier for the contract.
marketID Identifier for the market.
description Description of the market.
contractType Type of the contract (e.g., Future).
expiryDate Expiry date of the contract.
lastTradingDate Last trading date for the contract.

Example JSON Response

[
    {
        "exchangeID": "CME_C",
        "contractID": "ZS",
        "marketID": "XCME_C ZS (F24)",
        "description": "Soybean Jan24",
        "contractType": "Future",
        "expiryDate": 20240100,
        "lastTradingDate": "2024-01-12T12:01:00"
    },
    // ... additional markets ...
]

Market Details

The Market Details API endpoint retrieves detailed information about a specific market expiry.

API Endpoint

GET https://api-sim.t4login.com/markets/marketdetails

Header

Include Authorization which should contain a valid bearer token.

Authorization: Bearer YOUR_ACCESS_TOKEN

Parameters

Parameter Description
exchangeID Required. Identifier for the exchange.
contractID Required. Identifier for the contract.
marketID Required. Identifier for the market.

Response Structure

Element Description
marketID Identifier for the market.
lastUpdateTime Last update time of market details.
lastClientUpdateTime Last update time of market details on the client side.
description Description of the market.
exchangeID Identifier for the exchange.
contractID Identifier for the contract.
expiryDate Expiry date of the contract.
lastTradingDate Last trading date for the contract.
delistDate Delist date of the contract.
exchangeDelistDate Delist date of the contract on the exchange.
activationDate Activation date of the market.
volumeIncrement Increment of the volume.
numerator Numerator for calculating market values.
denominator Denominator for calculating market values.
priceCode Price code for the market.
tickValue Value per tick for the market.
orderTypes Types of orders allowed in the market.
contractType Type of the contract (e.g., Future).
rtsPriceCode Real-time system price code.
rtsNumerator Real-time system numerator.
rtsDenominator Real-time system denominator.
rtsTickValue Real-time system tick value.
marketRef Market reference.
legs Details of the contract legs.
realDecimals Number of real decimals.
clearingDecimals Number of clearing decimals.
group Group identifier for the market.
marketRef2 Additional market reference.
details Additional details of the market.
vtt Variable pertaining to the market.
underlyingMarketID Underlying market identifier.
maintIntraMargin Maintenance intraday margin.
maintMargin Maintenance margin.
maintVolScan Maintenance volume scan.
minPriceIncrement Minimum price increment.
pointValue Point value for the market.
securityGroup Security group for the market.
exchangeDetailsJSON JSON-formatted exchange details.
messageType Type of message.
messageCategory Category of the message.
messageVersion Version of the message.

Example JSON Response

{
    "marketID": "XCME_Eq ES (Z23)",
    "lastUpdateTime": "2023-12-10T15:00:35.31",
    "lastClientUpdateTime": "2023-12-10T15:00:35.31",
    // ... other properties as outlined in the response structure ...
}

The JSON response provides detailed information about the specified market, including various attributes like market IDs, dates, margin requirements, and order types.

Market Picker Endpoints

The Market Picker endpoints provide an efficient way to navigate and select markets, particularly for options markets that may contain thousands of individual instruments. Rather than loading all market definitions at once, these endpoints enable hierarchical browsing and targeted retrieval of market data.

Benefits of the Market Picker Approach

Available Endpoints

Market Groups

The Market Groups API endpoint retrieves groupings of markets based on strategy type and expiry date, particularly useful for building hierarchical market selection interfaces.

API Endpoint

GET https://api-sim.t4login.com/markets/picker/groups

Header

Include Authorization which should contain a valid bearer token.

Authorization: Bearer YOUR_ACCESS_TOKEN

Parameters

Parameter Description
exchangeID Required. Identifier for the exchange.
contractID Required. Identifier for the contract.

Response

The response provides groups of markets organized by strategy type. For options, outright markets are further grouped by expiry date. The response includes count of markets in each group.

Use Case

Market List

The Market List API endpoint retrieves a filtered list of markets based on specified criteria, providing essential information for market selection.

API Endpoint

GET https://api-sim.t4login.com/markets/picker

Header

Include Authorization which should contain a valid bearer token.

Authorization: Bearer YOUR_ACCESS_TOKEN

Parameters

Parameter Description
exchangeID Required. Identifier for the exchange.
contractID Required. Identifier for the contract.
strategyType Optional. Filter by strategy type.
expiryDate Optional. Filter by specific expiry date.

Response

The response is a list of markets matching the filter criteria. Each market includes MarketID, ExpiryDescription, ExpiryDate, ContractType, and StrategyType. Results are ordered by market details.

Use Case

First Market

The First Market API endpoint retrieves the first available market matching specified criteria, typically used to find the front-month contract.

API Endpoint

GET https://api-sim.t4login.com/markets/picker/firstmarket

Header

Include Authorization which should contain a valid bearer token.

Authorization: Bearer YOUR_ACCESS_TOKEN

Parameters

Parameter Description
exchangeID Required. Identifier for the exchange.
contractID Required. Identifier for the contract.
contractType Required. Type of contract (Future, Option, etc.).
strategyType Required. Strategy type to filter by.

Response

The response provides a complete market definition for the first matching market. Markets are ordered according to standard market details comparison.

Use Case

Next Market

The Next Market API endpoint finds the next market in sequence after a specified market, maintaining the same contract and strategy types.

API Endpoint

GET https://api-sim.t4login.com/markets/picker/nextmarket

Header

Include Authorization which should contain a valid bearer token.

Authorization: Bearer YOUR_ACCESS_TOKEN

Parameters

Parameter Description
exchangeID Required. Identifier for the exchange.
contractID Required. Identifier for the contract.
marketID Required. The current market identifier.

Response

The response provides a complete market definition for the next market in sequence. Returns 404 if there is no next market.

Use Case

Next Expiry

The Next Expiry API endpoint locates the next market with a later expiry date than the specified market, while maintaining the same contract and strategy types.

API Endpoint

GET https://api-sim.t4login.com/markets/picker/nextexpiry

Header

Include Authorization which should contain a valid bearer token.

Authorization: Bearer YOUR_ACCESS_TOKEN

Parameters

Parameter Description
exchangeID Required. Identifier for the exchange.
contractID Required. Identifier for the contract.
marketID Required. The current market identifier.

Response

The response provides a complete market definition for the next expiry market. Returns 404 if there is no market with a later expiry.

Use Case