This is an old revision of the document!
Market Definition Service
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:
- AuthKey Authentication: Designed for business-to-business (B2B) integrations, providing a simplified authentication mechanism for server-to-server communication.
- JWT Authentication: Utilized for client-to-business (C2B) scenarios, offering secure token-based authentication for end-user applications.
JWT Authentication
To obtain a JWT token:
- Send a JWT request Protocol Buffer message to the authentication endpoint
- The server will respond with a JWT token that should be included in subsequent API requests
- Include the JWT token in the Authorization header using the Bearer scheme
AuthKey Authentication
For B2B integrations:
- Use your provided AuthKey for direct API access
- Include the AuthKey in the request header as specified in the API documentation
- AuthKeys have configurable permissions and can be managed through the administration portal
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
The Swagger interface allows you to:
- Browse all available endpoints
- Test API calls directly from your browser
- View request and response schemas
- Understand authentication requirements for each endpoint
Exchanges
Retrieves a list of exchanges available in the market data system.
API Endpoint
GET https://api-sim.t4login.com/markets/exchanges
Header
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.