Page tree
Skip to end of metadata
Go to start of metadata

This topic contains information about 24-7 CME CF Cryptocurrency Indices. CME Group and Cryptocurrency Facilities (CF) offer customers 24/7 access to cryptocurrency pricing data via web service technology. This solution is offered in addition to Streamlined SBE Cryptocurrency Market Data, providing CME Group clients a robust pricing index source for virtual currencies: CME CF Cryptocurrency Reference Rate and CME CF Cryptocurrency Real Time Index. This data goes back to December 19, 2016.

The pricing data can be used as Cryptocurrency price reference points in derivatives that help manage the risk of cryptocurrency investments through: 

  • CME CF Cryptocurrency Real Time Index, which allows users real-time access to cryptocurrency prices for 24 hours a day, 7 days a week and 365 days a year.   
    • The cryptocurrency Real Time Index aggregates global demand to buy and sell cryptocurrency into a consolidated order book and reflects the real-time U.S. dollar price of cryptocurrency.
  • CME CF Cryptocurrency Reference Rate, which provides a final settlement price in U.S. dollars shortly after 4 p.m. London time.
    • The cryptocurrency reference rate aggregates the trade flow of major cryptocurrency spot exchanges during a specific calculation window into a once-a-day reference rate of the U.S. dollar price of the cryptocurrency.

Contents

Onboarding and Certification

Contact CME Group support to begin the onboarding process. Firm administrators can use CME Group Login to manage CME Group Cryptocurrency API IDs and passwords. 

Certification for 24/7 cryptocurrency market data is not required. 

Hours of Availability

CME Group publishes cryptocurrency real-time index pricing data once per second for 24 hours, 7 days a week and 365 days a year. The settlement price, based on transactions from several cryptocurrency spot exchanges, is disseminated daily, shortly after 4 p.m. London time.

Self-Service Platform

CME Group Self-Service provides a suite of tools designed to help customers manage registration and on-boarding to CME Group applications and services.

Accessing Self-Service Platform

To access the self-service platform, users must register for a CME Group Login.

To source the 24/7 cryptocurrency market data, users must register for a CME Group API ID.

API Delivery Set-Up

  1. Log in with your CME Group Login (See CME DataMine Self-Service Platform for information on setting up CME Group Login).
  2. In the top right corner, click CME Group Login, then click "My Profile."
  3. Click "API Management."
  4. Register for an API ID.
For more information on the self-service platform, visit the website or download the guide.
For support, visit the Self-Service Center WebHelp.

Support

CME Group provides a number of customer service teams for assistance with the Self-Service platform.

Support

Market Technology Sales Team

Email: markettechsales@cmegroup.com

Please reach out for support with the following:

  • Data availability and formats
  • Data pricing and licensing
  • Ordering and purchasing questions
  • Your current subscription
  • General questions

Enterprise Application & System Entitlements (EASE) 

Toll Free: 866 716 7274 (United States only)
Phone: 312 456 1560 (United States)
Phone: 44 203 379 3802 (Europe) Phone: 65 6593.5536 (Asia)
Email: EASE.atyourservice@cmegroup.com

Please reach out for support with:

  • Creating a CME Group Login
  • Creating an API ID
  • Using your online account
Global Command Center (GCC)

Phone: 800 438 8616 (US)
Phone: 44 20 7623 4747 (Europe)
Phone: 65 6532 5010 (Asia)
Email: gcc@cmegroup.com

Please reach out for support with:

  • Layout guides
  • Security definition files
  • Data interpretation

Certification Support for Electronic Trading (CSET)

Phone: 312 930 2322 (US)

Phone: 44 20 3379 3803 (London)
Phone: 65 6593 5593 (Asia)
Email: cset@cmegroup.com

Please reach out for support with:

 

  • New Release API Support


24/7 Cryptocurrency Market Data Access

Technology

24/7 cryptocurrency market data is built upon Representation State Transfer (REST) web service technology. In this methodology, HTTP URLs and methods (such as GET, POST, etc.), parameters, and statuses are used to model the remote procedure call behavior. 

The implementation utilizes the industry standard JSON format with custom CME Group extensions. 

HTTP Usage

Users send Query Requests by invoking the HTTP POST method to a URL of the form https://{{Path}}/streaming/v1/btcindexJson? where CME Group assigns {{Path}} and communicates it to the user. Connections to the API utilize HTTPS to provide security. Users transmit a username and password, assigned by CME Group, via HTTP Basic authentication.

Access is defined at the dataset level, in JSON format, through a group and role-based entitlement system.

  • Users accessing 24/7 cryptocurrency market data through a web browser can use the following curl request:
 Format of a Curl Request
curl -k --user {{UNO_API_KEY}}:{{UNO_API_PASSWORD}} https://{{URL}}/streaming/v1/btcIndexJson?
An example curl request:
curl -k --user API_JOHNSMITH:12345 https://https://datamine.api.cmegroup.com/streaming/v1/btcIndexJson?
  • Users accessing 24/7 cryptocurrencymarket data through an API can use the following websocket request:
 Format of a Websocket Request:
wscat -c wss://{{URL}}/streaming/v1/btcIndexJson? -n --auth{{UNO_API_KEY}}:{{UNO_API_PASSWORD}}
An example websocket request:
wscat -c wss://datamine.api.cmegroup.com/streaming/v1/btcIndexJson? -n --auth API_JOHNSMITH:12345

Streaming Criteria 

Users can append streaming criteria to the end of the url to query certain streaming data.

Available criteria for streamed data:

Criteria DefinitionTypeValueRequiredDescription
seekIntYYYYMMDDhhmmssSSSN

Returns streaming data starting from the timestamp specified on the request up to the current time, then continues streaming real time market data.

Note: The seek request can only retrieve data streamed within the past 24 hours. The timestamp from which to initiate streaming must be in milliseconds and UTC format. Not including this argument starts streaming from the current moment.

Example: https://datamine.api.cmegroup.com/streaming/v1/btcIndexJson?seek=20161115093023000

Message Specification

Market Data Incremental Refresh Message (msgType=MarketDataIncrementalRefresh)

This section describes the Cryptocurrency Market Data Incremental Refresh (msgType=MarketDataIncrementalRefresh) message for CME Group Cryptocurrency Spot Real Time Index and the daily Reference Price.

The → symbol indicates a repeating group field.

Field NameFormatValid ValuesDescription

msgSeqNum

SeqNum (9)


Integer message sequence number.

msgType

String (50)

MarketDataIncrementalRefresh

Defines message type.

senderCompId

String (7)

CME


sendingTime

UTCTimeStamp (21)


Time of message transmission (always expressed in UTC (Universal Time Coordinated, also known as "GMT").

Format: YYYYMMDDHHMMSSsss

UTC Timestamps are sent in number of nanoseconds since Unix epoch synced to a master clock to microsecond accuracy.

transactTime

UTCTimeStamp (21)


Indicates time of trade referenced in the Market Data Incremental Refresh message.

Format: YYYYMMDDHHMMSSsss

UTC Timestamps are sent in number of nanoseconds since Unix epoch synced to a master clock to microsecond accuracy.

noMdEntriesNumInGroup (5)
Number of Market Data Incremental Refresh data blocks in the Market Data Incremental Refresh message.

matchEventIndicator

String (50)

NOT_END_OF_EVENT

END_OF_EVENT

Indicates whether the message denotes the start of an event or the end of an event. For Cryptocurrency Facilities, this should be set to END_OF_EVENT if there is no need to maintain continuity between messages to infer when a particular event started and ended.

mdEntries

→symbol

String (50)


Index Name.

→rptSeq

Int (3)


Sequence number per instrument update or index.

→mdEntryType

String (50)

INDEX_VALUE
SETTLEMENT_PRICE

Indicates the type of market data entry. 
  
Note: The following fields are NOT sent for the index price or the settlement index price:

  • Bid
  • Ask
  • Trade Volume
  • Opening Price
  • Closing Price
  • High Price
  • Low Price

→mdEntryPx

Price (20)


Price of the market data entry.

→mdEntryDate

UTC_DATE_ONLY  (8)


Date of the market data entry.

Format: YYYYMMDD (i.e. 20071215)

→mdEntryTime

UTC_TIMEONLY (12)


Timestamp of market data entry.

→mdUpdateAction

String (50)

NEW

Indicates the type of market data update action.

Note: The following tag values are NOT sent for the index price or the settlement index price

  • Change
  • Delete

→openCloseSettlFlag

String (50)

Daily Open / Close / Settlement entry

Entry from previous business day

Theoretical Price Value

Settlement Index value 

Identifies a market data entry. Indicates whether the price is the daily open/close/settle from the current trading session or from the previous trading session.

Note: The following tag values are NOT sent for the index price or the settlement index price:

  • Daily Open / Close / Settlement entry
  • Entry from previous business day
  • Theoretical Price Value

→netChgPrevDay

Price (20)


Net change from the previous day's closing price vs. the last traded price.

Applies to BRR only.

→netPctChgInt (3)

Percentage value of the net change.

Applies to BRR only.

→mdEntryCode

MultipleValueString (50)

Indicative 

Pre-Market 

Preliminary Close 

Session Close 

Close

List of conditions describing an index value.

Message Layout per Pricing Data (msgType=MarketDataIncrementalRefresh)

Field Name

Index Price (BRTI)

Settlement Index Price (BRR)

transactTime

Y

Y

matchEventIndicator

Y

Y

symbol

Y

Y

rptSeq

Y

Y

mdEntryType

INDEX_VALUE

SETTLEMENT_PRICE

mdEntryPx

Y

Y

mdEntryDate

Y

Y

mdEntryTime

Y

Y

mdUpdateAction

NEW

NEW

openCloseSettlFlag

N/A

Y

netChgPrevDay

N

Y

netPctChg

N

Y

mdEntryCode

N/A

Y

Y = Required, C = Conditional, N/A = Not Applicable 

Sample Incremental Messages

  JSON Formatted BRTI Incremental Refresh Message sample

 JSON Formatted BRR Incremental Refresh Message sample


Security Definition Message (msgType=SecurityDefinition)

Security Definition (msgType= SecurityDefinition) messages are disseminated on the incremental feed when the client system logs on and at one hour intervals.

Field NameFormatValid ValuesDescription

msgSeqNum

SeqNum (9)


Integer message sequence number.

msgType

String (50)

SecurityDefinition

Defines message type.

senderCompId

String (7)


CME


sendingTime

UTCTimeStamp (21)


Time of message transmission (always expressed in UTC (Universal Time Coordinated, also known as "GMT")).

Format: YYYYMMDDHHMMSSsss

currency

Currency (3)


Identifies currency used for price.

symbol

String (50)

BRR

BRTI

Instrument/Index Name.

securityExchange

String (50)

CRYPTO FACILITIES

Used to help identify a security/index.

product

String (50)

Index

Identifies the type of product.

Always ‘Index’

noEvents

NumInGroup (1)


Number of repeating EventType entries.

noInstrAttrib

NumInGroup (2)


Number of repeating group InstrAttribType entries.

applID

String (50)


The channel ID as defined in the XML configuration file.

events


→eventType

String (50)

Activation

Inactivation

Modification

Indicates type of event.

→eventTime

UTC_TIMEONLY (20)


Time of event. This is a UTC time expressed as the number of nanoseconds since the Unix epoch time (Jan 1, 1970).

instrAttrib
instrAttribTypeString (50)
InstAttribType and InstAttribValue function together where InstAttribType indicates the type of value that InstAttribValue will contain.
instrAttribValueString (50)
Attribute value appropriate for the InstrAttribType field.

InstAttribType and InstAttribValue Table of Values

The following index attributes may be included in the Security Definition (msgType=SecurityDefinition) message:

InstrAttribType Valid ValuesDescription

DISPLAY_PRICE_PRECISION

Number of decimals in displayed price.

INDEX_KEY

Unique ID.

FREE_CODE

When the preceding InstAttribType= Fee Code, the following value is valid for InstAttribValue:

  • XW = All Fee Waived Indices

FREQUENCY

Publishing frequency (in seconds).

START_PUBLISH_TIME

Time that the messages will begin to be published. 

UTC Format: HHMMSSsss

END_PUBLISH_TIME

Time that the messages will no longer be published.

UTC Format: HHMMSSsss

INDEX_LONG_NAME

Name of the Index.

  • CME CF Bitcoin Real Time Index
  • CME CF Ether-Dollar Real Time Index
  • CME CF Bitcoin Reference Rate
  • CME CF Ether-Dollar Reference Rate

Sample Security Definition Message

 JSON Formatted BRTI Security Definition Message Sample


 JSON Formatted BRR Security Definition Message Sample



Listed Products

Reference Rates

Description

Symbol 

CME CF Bitcoin Reference Rate

BRR

CME CF Ether-Dollar Reference RateETHUSD_RR

Real Time Indices

Description

Symbol 

CME CF Bitcoin Real Time Index

BRTI

CME CF Ether-Dollar Reference RateETHUSD_RTI