Reference Rate

Definition

The CM Reference Rates represent the reference rate of one unit of the asset in quoted units (USD, BTC, ETH, EUR)

Name

MetricID

Unit

Interval

Reference Rate

USD

1d, 1d-ny-close, 1h, 1m, 1s, 200ms

Reference Rate, USD

USD

1d, 1d-ny-close, 1h, 1m, 1s, 200ms

Reference Rate, BTC

BTC

1d, 1d-ny-close, 1h, 1m, 1s, 200ms

Reference Rate, ETH

ETH

1d, 1d-ny-close, 1h, 1m, 1s, 200ms

Reference Rate, EUR

EUR

1d, 1d-ny-close, 1h, 1m, 1s, 200ms

Please note that ReferenceRate and ReferenceRateUSD metrics are identical to each other.

Details

  • The CM Reference Rates are published once a day, once an hour, once a minute, once a second, and once every 200 milliseconds and utilizes volume-weighted median, time-weighted average, and inverse price variance-weighted median techniques. \

  • Common use cases for the CM Reference Rates include research, backtesting, calculating net asset value for investment funds, calculating closing prices for indexes or financial benchmarks, serving as a data source for on-chain price oracles, risk management, indicative intraday values for investment funds and financial benchmarks, and settling financial derivatives.\

  • The CM Reference Rates supports multiple frequencies. The daily and hourly frequencies utilize one calculation methodology and the minute, second, and 200 millisecond frequencies ("real-time frequencies") utilize a separate calculation methodology.\

  • The daily and hourly frequencies are calculated at the end of every hour and day, respectively, (the "Calculation Time") and are published within 5 minutes (the “Publication Time”). The real-time frequencies are published in real-time with no delay.\

  • Please note that this metric is served through both the /timeseries/asset-metrics HTTP endpoint and the /timeseries-stream/asset-metrics websocket endpoint. The HTTP endpoint supports the frequencies 1d, 1h, 1m, and 1s. The websocket endpoint supports the frequencies 1s and 200ms.\

  • Please see our CM Prices Overview for more information on methodology and policies.

API Endpoints

ReferenceRate metrics are available in the endpoints:

  • /timeseries/asset-metrics

  • /timeseries-stream/asset-metrics by passing in the <metric_id> in the metrics parameter.

Asset metrics

get

Returns requested metrics for specified assets. Results for block by block metrics (1b frequency) are ordered by tuple (asset, height, block_hash), all other metrics are ordered by tuple (asset, time). You can change the sorting using sort query parameter. Supported output formats are json (default) and csv, use format query parameter to override it. To fetch the next page of results use next_page_url JSON response field or x-next-page-url CSV HTTP header if present. If multiple metrics are requested in the same time the strict policy for partially available metrics among requested ones is applied:

Authorizations
Query parameters
assetsstring[]Required

Comma separated list of assets. Use the /catalog-all/assets endpoint for the full list of supported assets or specify asterisk (*) in order to get metrics for all supported assets.

metricsstring[]Required

Comma separated metrics to request time series data for. Information on all available metrics can be found on page https://coverage.coinmetrics.io/asset-metrics-v2. Use the /catalog-all/metrics or /catalog-all/assets endpoint for the full list of supported metrics per asset.

Example: ["AdrActCnt","BlkHgt"]
frequencystringOptional

Frequency of the metrics. Supported values are 1b (block by block), 1s (one second), 1m (one minute), 5m (five minutes), 10m (ten minutes), 1h (one hour), 1d (one day), 1d-ny-close (one day at New York close time). Please refer to the /catalog/metrics endpoint for the full list. Use the /catalog-all/assets endpoint for the full list of supported frequencies per asset-metric pair.

Default: 1dExample: 1b
statusstring · enumOptional

Which metric values do you want to see. Applicable only for "reviewable" metrics. You can find them in the /catalog/metrics endpoint.

Default: allPossible values:
start_timestringOptional

Start of the time interval. This field refers to the time field in the response. Multiple formats of ISO 8601 are supported: 2006-01-20T00:00:00Z, 2006-01-20T00:00:00.000Z, 2006-01-20T00:00:00.123456Z, 2006-01-20T00:00:00.123456789Z, 2006-01-20, 20060120. Inclusive by default. Mutually exclusive with start_height and start_hash. UTC timezone by default. Z suffix is optional and timezone parameter has a priority over it. If start_time is omitted, response will include time series from the earliest time available.

end_timestringOptional

End of the time interval. This field refers to the time field in the response. Multiple formats of ISO 8601 are supported: 2006-01-20T00:00:00Z, 2006-01-20T00:00:00.000Z, 2006-01-20T00:00:00.123456Z, 2006-01-20T00:00:00.123456789Z, 2006-01-20, 20060120. Inclusive by default. Mutually exclusive with end_height and end_hash. UTC timezone by default. Z suffix is optional and timezone parameter has a priority over it. If end_time is omitted, response will include time series up to the latest time available.

start_heightinteger · int64Optional

The start height indicates the beginning block height for the set of data that are returned. Inclusive by default. Mutually exclusive with start_time and start_hash.

end_heightinteger · int64Optional

The end height indicates the ending block height for the set of data that are returned. Inclusive by default. Mutually exclusive with end_time and end_hash. This parameter is disabled for Community users.

start_hashstringOptional

The start hash indicates the beginning block height for the set of data that are returned. Inclusive by default. Mutually exclusive with start_time and start_height.

end_hashstringOptional

The end hash indicates the ending block height for the set of data that are returned. Inclusive by default. Mutually exclusive with end_time and end_height.

start_inclusivebooleanOptional

Inclusive or exclusive corresponding start_* parameters.

Default: true
end_inclusivebooleanOptional

Inclusive or exclusive corresponding end_* parameters.

Default: true
min_confirmationsinteger · int32 · max: 99Optional

Specifies how many blocks behind the chain tip block by block metrics (1b frequency) are based on. Default for btc is 2 and 99 for eth. For example, a min_confirmations of 0 means metrics are being calculated for the block at the tip of the chain (the latest block received by our node) whereas a min_confirmations of 6 means that metrics are being applied to the block that is 6 blocks behind the chain tip (i.e., the 7th block if the chain tip is block 1).

timezonestringOptional

Timezone name for start_time and end_time timestamps. This parameter does not modify the output times, which are always UTC. Format is defined by TZ database.

Default: UTCExample: America/New_York
page_sizeinteger · int32 · min: 1 · max: 10000Optional

Number of items per single page of results. The value of this parameter is ignored if the endpoint supports the format parameter and its value is set to json_stream.

Default: 100
paging_fromstring · enumOptional

Where does the first page start, at the start of the interval or at the end. The value of this parameter is ignored if the endpoint supports the format parameter and its value is set to json_stream.

Default: endPossible values:
sortstring · enumOptional

How results will be sorted. Metrics with 1b frequency are sorted by (asset, height, block_hash) tuples by default. Metrics with other frequencies are sorted by (asset, time) by default. If you want to sort 1d metrics by (time, asset) you should choose time as value for the sort parameter. Sorting by time is useful if you request metrics for a set of assets.

Default: assetPossible values:
limit_per_assetinteger · int32Optional

How many entries per asset result should contain. For example, this combination of parameters assets=btc,eth&metrics=ReferenceRate&limit_per_asset=1 returns the latest ReferenceRate values for btc and eth.

prettybooleanOptional

Human-readable formatting of JSON responses.

Default: false
formatstring · enumOptional

Format of the response.

Default: jsonPossible values:
null_as_zerobooleanOptional

Nulls are represented as zeros in the response.

Default: false
next_page_tokenstringOptional

Token for receiving the results from the next page of a query. Should not be used directly. To iterate through pages just use next_page_url response field.

ignore_forbidden_errorsbooleanOptional

Ignore "forbidden" errors for the items you currently don't have access to.

Default: false
ignore_unsupported_errorsbooleanOptional

Ignore "unsupported" errors for not currently supported by Coin Metrics items.

Default: false
Responses
200
Time series of metrics for an asset.
get
GET /v4/timeseries/asset-metrics HTTP/1.1
Host: api.coinmetrics.io
Accept: */*
{
  "data": [
    {
      "asset": "btc",
      "time": "2020-02-29T00:00:00.000000000Z",
      "PriceUSD": "8582.09029964933",
      "SplyBMXNtv": "283220.10827406",
      "SplyBMXNtv-status": "reviewed",
      "SplyBMXNtv-status-time": "2020-03-01T09:59:13.847251000Z"
    },
    {
      "asset": "btc",
      "time": "2020-03-01T00:00:00.000000000Z",
      "PriceUSD": "8541.77389392169",
      "SplyBMXNtv": "284691.32323907",
      "SplyBMXNtv-status": "reviewed",
      "SplyBMXNtv-status-time": "2020-03-02T14:00:02.622168000Z"
    }
  ],
  "next_page_token": "0.MjAyMC0wNi0wN1QwMDowMDowMFo,MjAyMC0wNi0wN1QwMDowMDowMFo",
  "next_page_url": "https://api.coinmetrics.io/v4/timeseries/asset-metrics?api_key=<your_key>&pretty=true&assets=btc&metrics=SplyBMXNtv,PriceUSD&page_size=2&next_page_token=0.MjAyMC0wNi0wN1QwMDowMDowMFo,MjAyMC0wNi0wN1QwMDowMDowMFo"
}

Asset metrics

get

Returns a WebSocket stream of metrics for specified assets. Endpoint supports only block by block (1b frequency), per second (1s frequency), and sub-second (200ms frequency) metrics. Different sets of metrics may come in different messages. If you are falling behind (slow client) you will get warning message first, then error message and disconnection will happen.

Authorizations
Query parameters
assetsstring[]Required

Comma separated list of assets. Use the /catalog-all/assets endpoint for the full list of supported assets.

metricsstring[]Required

Comma separated metrics to request time series data for. Information on all available metrics can be found on page https://coverage.coinmetrics.io/asset-metrics-v2. Use the /catalog-all/metrics or /catalog-all/assets endpoint for the full list of supported metrics per asset.

Example: ["AdrActCnt","BlkHgt"]
frequencystringOptional

Frequency of the metrics. Supported values are 1b (block by block), 1s, 200ms.

Default: 1bExample: 1s
backfillstring · enumOptional

What data should be sent upon a connection. By default the latest values are sent just before real-time data.

Default: latestPossible values:
prettybooleanOptional

Human-readable formatting of JSON responses.

Default: false
ignore_unsupported_errorsbooleanOptional

Ignore "unsupported" errors for not currently supported by Coin Metrics items.

Default: false
ignore_forbidden_errorsbooleanOptional

Ignore "forbidden" errors for the items you currently don't have access to.

Default: false
Responses
414
Provided URI is too long. It must not be greater than 10000 symbols.
get
GET /v4/timeseries-stream/asset-metrics HTTP/1.1
Host: api.coinmetrics.io
Accept: */*

No content

Example

A sample of the reference rates data for Bitcoin with one hour frequency is shown below:

{
  "data" : [ {
    "asset" : "btc",
    "time" : "2023-03-23T10:00:00.000000000Z",
    "ReferenceRateUSD" : "27706.6749620105"
  }, {
    "asset" : "btc",
    "time" : "2023-03-23T11:00:00.000000000Z",
    "ReferenceRateUSD" : "27720.9770701344"
  }, {
    "asset" : "btc",
    "time" : "2023-03-23T12:00:00.000000000Z",
    "ReferenceRateUSD" : "27617.113279661"
  }, {
    "asset" : "btc",
    "time" : "2023-03-23T13:00:00.000000000Z",
    "ReferenceRateUSD" : "27633.9196513735"
  }, {
    "asset" : "btc",
    "time" : "2023-03-23T14:00:00.000000000Z",
    "ReferenceRateUSD" : "27450.324137931"
  }
}

A sample of the reference rates data for Bitcoin with one second frequency is shown below:

{
  "data" : [ {
    "asset" : "btc",
    "time" : "2023-03-23T14:21:37.000000000Z",
    "ReferenceRateUSD" : "27460"
  }, {
    "asset" : "btc",
    "time" : "2023-03-23T14:21:38.000000000Z",
    "ReferenceRateUSD" : "27460"
  }, {
    "asset" : "btc",
    "time" : "2023-03-23T14:21:39.000000000Z",
    "ReferenceRateUSD" : "27460"
  }, {
    "asset" : "btc",
    "time" : "2023-03-23T14:21:40.000000000Z",
    "ReferenceRateUSD" : "27460"
  }, {
    "asset" : "btc",
    "time" : "2023-03-23T14:21:41.000000000Z",
    "ReferenceRateUSD" : "27460"
  }
}
  • asset: The ID of the asset.\

  • time: The reference rate time in ISO 8601 date-time format.\

  • ReferenceRateUSD: The published reference rate value in U.S. Dollars.

Release History

Availability for Assets

Community and pro asset availability does not differ. Community is available via HTTP API only, is limited to 1,000 API requests per 10 minutes per IP address and only showcases the last 24 hours of history for the 1 hour, 1 minute and 1 second frequencies. The full history is available for daily frequencies.

Please see our Coin Metrics Coverage below for our asset coverage universe.

Last updated

Was this helpful?