Market Data
Get CME contracts
Overview
Returns all available CME futures contracts. Use this endpoint to discover tradeable instruments and their specifications.
Filtering Options
| Filter | Type | Description |
|---|---|---|
product | string | Filter by product code (e.g., ES, NQ, CL, GC) |
activeOnly | boolean | Only return contracts that are currently active |
frontMonthOnly | boolean | Only return front month (nearest expiry) contracts |
Contract Fields
| Field | Description |
|---|---|
product | Product code (ES, NQ, CL, etc.) |
symbol | Short symbol (e.g., ESH26) |
fullSymbol | Full symbol including year (e.g., ESH2026) |
name | Human-readable name |
expiryDate | Contract expiration date |
isActive | Whether the contract is currently tradeable |
isFrontMonth | Whether this is the front month contract |
tickSize | Minimum price increment for the contract |
pricePerPoint | Dollar value per full point move |
quantityStep | Size increment in the instrument’s own unit. One engine quantity unit is one step |
quantityPrecision | Decimal places to accept and display for size (0 = whole contracts) |
sizeUnitLabel | What a size is measured in, e.g. BTC. Null means contracts |
feePerSide | Commission/fee per side, in feeCurrency |
feeCurrency | Currency code for the fee (e.g., USD) |
isVolumeLeader | Whether this is the volume-leading contract |
Order size: engine units vs the instrument’s unit
Order quantity on the trading endpoints is always a whole integer count of
engine units. What one unit MEANS comes from the contract:
size in the instrument's unit = quantity * quantityStep
quantity = round(size / quantityStep)
| Contract | quantityStep | quantityPrecision | sizeUnitLabel | quantity: 500 means |
|---|---|---|---|---|
MNQU6 | 1 | 0 | null | 500 contracts |
BTCUSDT | 0.001 | 3 | BTC | 0.500 BTC |
So the smallest BTCUSDT order is quantity: 1 = 0.001 BTC, which is Binance’s
own minimum, and 1 BTC is quantity: 1000. Read quantityStep rather than
hardcoding it: adding an instrument with a different lot size is a catalog
change, not an API change.
Example: Get all E-mini S&P 500 contracts
curl -X GET "https://api.hyperprop.com/platform/v1/contracts?product=ES" \
-H "Authorization: Bearer YOUR_SESSION_TOKEN"
Example: Get front month contracts only
curl -X GET "https://api.hyperprop.com/platform/v1/contracts?frontMonthOnly=true&activeOnly=true" \
-H "Authorization: Bearer YOUR_SESSION_TOKEN"
GET
Get CME contracts
Related topics
Get contract by IDGet available productsGet fills for a trading dayGET /depth/history — rolling order-book depth history.Get end-of-day account snapshots