
CCData.io
https://data-api.cryptocompare.com/.well-known/ai-plugin.json
{
"schema_version": "v1",
"name_for_human": "CCData.io",
"name_for_model": "CryptoPrices",
"description_for_human": "Access the latest crypto prices and news aggregated by CCData.io (formerly CryptoCompare.com).",
"description_for_model": "Access the latest crypto prices for our CCIX index (previosuly CCCAGG) and news aggregated by CCData.io (formerly CryptoCompare.com). You can use the API to get form any Digital Asset to any fiat currency and vice-versa. Also used for all the latest news from the crypto industry.",
"auth": {
"type": "none"
},
"api": {
"type": "openapi",
"url": "https://data-api.cryptocompare.com/info/v1/openapi/chatgpt",
"is_user_authenticated": false
},
"logo_url": "https://data-api.cryptocompare.com/ccdata-logo.jpg",
"contact_email": "vcealicu@ccdata.io",
"legal_info_url": "https://ccdata.io/terms-and-conditions"
}
https://data-api.cryptocompare.com/info/v1/openapi/chatgpt
{
"openapi": "3.0.3",
"info": {
"title": "CCData.io Market, Index, Reference Data, News and Overview Metrics API for the Cryptocurrency Industry",
"description": "# CCData.io is the world's leading digital asset data company, providing services that cater to corporate, government and retail clients. \n\n### Our main reference index is widely recognized as a reliable benchmark, and we have been authorized by the Financial Conduct Authority (FCA) in the United Kingdom to operate as [a benchmark administrator](https://register.fca.org.uk/s/firm?id=0014G00002ZchX7QAJ). \n \nIn addition to catering to corporate, government, and retail clients, we offer a range of services including comprehensive market data for cryptocurrency exchanges in both the centralized and decentralized finance sectors, as well as individual asset data on custodians, supported platforms, and privacy solutions. \n \nOur offerings include price, volume, trade, and orderbook updates, as well as historical OHLCV data.\n\nYou can browse the menu on the left in order to discover all the endpoints available. There is also a menu just above this to discover all the sections available. \n\n### Some of the endpoints in our API require a registered account. Please make sure to create an account and create an API Key.",
"termsOfService": "https://www.cryptocompare.com/terms-conditions/",
"contact": {
"name": "API Support",
"url": "https://cryptocompare.zendesk.com/hc/en-gb/requests/new",
"email": "data@cryptocompare.com"
},
"license": {
"name": "CCData.io API License Agreement",
"url": "https://www.cryptocompare.com/api-licence-agreement/"
},
"version": "2.1.16553"
},
"servers": [
{
"url": "https://data-api.cryptocompare.com",
"description": "Production API load balancer URL."
}
],
"paths": {
"/index/cc/v1/latest/tick": {
"get": {
"summary": "Instrument Latest Tick",
"description": "This endpoint retrieves the most recent index values and other index data for specified index instrument(s) on a selected market. Also delivers the current index value, along with OHLC (open, high, low, close) metrics aggregated across diverse time intervals.",
"x-extended-description-with-markdown": "",
"tags": [
"Reference Rates"
],
"operationId": "index_cc_v1_latest_tick",
"x-section": "Reference Rates",
"x-roles-required": [],
"x-cache-length-seconds": 10,
"x-visible-in-ai": true,
"x-endpoint-group-id": "index_cc_v1_latest",
"x-endpoint-group-name": "Latest Tick",
"parameters": [
{
"name": "market",
"in": "query",
"description": "The index family to obtain data from. The default value is cadli, our 24-hour volume-weighted average with time penalty and outlier adjustment index.",
"required": true,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"minLength": 2,
"maxLength": 30
},
"example": "cadli"
},
{
"name": "instruments",
"in": "query",
"description": "A comma separated array of instruments to retrieve for a specific market.",
"required": true,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "array",
"minItems": 1,
"maxItems": 25,
"items": {
"type": "string"
}
},
"example": [
"BTC-USD",
"ETH-USD"
]
},
{
"name": "groups",
"in": "query",
"description": "When requesting tick data you can filter by specific groups of interest. To do so just pass the groups of interest into the URL as a comma separated list. If left empty it will get all data that your account is allowed to access.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "array",
"default": [],
"items": {
"type": "string",
"enum": [
"ID",
"VALUE",
"LAST_UPDATE",
"CURRENT_HOUR",
"CURRENT_DAY",
"CURRENT_WEEK",
"CURRENT_MONTH",
"CURRENT_YEAR",
"MOVING_24_HOUR",
"MOVING_7_DAY",
"MOVING_30_DAY",
"MOVING_90_DAY",
"MOVING_180_DAY",
"MOVING_365_DAY",
"LIFETIME"
]
}
},
"example": []
},
{
"name": "apply_mapping",
"in": "query",
"description": "Determines if provided instrument values are converted according to internal mappings. When true, values are translated (e.g., coinbase 'USDT-USDC' becomes 'USDC-USDT' and we invert the values); when false, original values are used.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "boolean",
"default": true
},
"example": true
}
],
"deprecated": false,
"responses": {
"200": {
"description": "Success response from the API.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/INDEX_CC_CALCULATED_INSTRUMENT_MARKET_DATA_RESPONSE"
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"401": {
"description": "The 401 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"403": {
"description": "The 403 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"404": {
"description": "The 404 error can either be returned when some/all of parameters sent are not found within our system. This could be beacuse parameters like market, instrument, news source, symbol, asset_id etc. are invalid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"405": {
"description": "The 405 error occurs the user tries to use a http method (GET,POST,PUT etc) that is not supported.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"429": {
"description": "The 429 error occurs when you go over the API Key limit. Rate limits are eforced on a second (resets every second), minute (resers every minute), hour (resets every hour), day (resets every day) and month (resets every month) granularity. You can upgrade your account and access higher rate limits.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"500": {
"description": "The 500 error occurs our API is up but does not know how to / can't handle the request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"502": {
"description": "The 502 error occurs when our API is not running. This error is returned by our proxy / load balancer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"503": {
"description": "The 503 error occurs when there is an issue with one of our data sources and we can't even return a partial answer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
}
}
}
},
"/index/cc/v1/historical/days": {
"get": {
"summary": "Historical OHLCV+ Day",
"description": "Get detailed index candlestick information at one-day intervals, encompassing open, high, low, and close values. This data enables a comprehensive understanding of the index's performance over time, allowing for in-depth analysis and decision-making.",
"x-extended-description-with-markdown": "",
"tags": [
"Reference Rates"
],
"operationId": "index_cc_v1_historical_days",
"x-section": "Reference Rates",
"x-roles-required": [],
"x-cache-length-seconds": 300,
"x-visible-in-ai": true,
"x-endpoint-group-id": "index_cc_v1_historical",
"x-endpoint-group-name": "Historical OHLCV+",
"parameters": [
{
"name": "market",
"in": "query",
"description": "The index family to obtain data from. The default value is cadli, our 24-hour volume-weighted average with time penalty and outlier adjustment index.",
"required": true,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"minLength": 2,
"maxLength": 30
},
"example": "cadli"
},
{
"name": "instrument",
"in": "query",
"description": "An instrument to retrieve from a specific market. For example, BTC-USD on cadli.",
"required": true,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"example": "BTC-USD"
},
{
"name": "groups",
"in": "query",
"description": "When requesting historical entries you can filter by specific groups of interest. To do so just pass the groups of interest into the URL as a comma separated list. If left empty it will get all data that your account is allowed to access.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "array",
"default": [],
"items": {
"type": "string",
"enum": [
"ID",
"OHLC",
"OHLC_MESSAGE",
"MESSAGE",
"VOLUME"
]
}
},
"example": []
},
{
"name": "limit",
"in": "query",
"description": "The number of data points to return",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "integer",
"default": 30,
"minimum": 1,
"maximum": 5000
},
"example": 30
},
{
"name": "to_ts",
"in": "query",
"description": "Returns historical data before this unix timestamp. If you want to get all the available historical data, you can use limit=2000 and keep going back in time using the to_ts param. You can then keep requesting batches using: &limit=2000&to_ts={the earliest unix timestamp received}",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "integer",
"x-is-timestamp": true
}
},
{
"name": "aggregate",
"in": "query",
"description": "The number of points to aggregate for each returned value. E.g. passing 5 on a minute histo data endpoint will return data at 5 minute intervals. You are still limited to a maximum of 2000 minute points so the maximum you can get is 400 5 minutes interval entries",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "integer",
"default": 1,
"minimum": 1,
"maximum": 30
},
"example": 1
},
{
"name": "fill",
"in": "query",
"description": "Boolean value, if set to false or 0 we will not return data points for periods with no trading activity.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "boolean",
"default": true
},
"example": true
},
{
"name": "apply_mapping",
"in": "query",
"description": "Determines if provided instrument values are converted according to internal mappings. When true, values are translated (e.g., coinbase 'USDT-USDC' becomes 'USDC-USDT' and we invert the values); when false, original values are used.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "boolean",
"default": true
},
"example": true
},
{
"name": "response_format",
"in": "query",
"description": "This parameter allows you to choose the format of the data response from the API. Select \"JSON\" for a structured JSON object, suitable for programmatic access and manipulation. Select \"CSV\" for a text file that includes a header row and multiple data rows, with comma-separated values and new line delimiters, ideal for spreadsheet applications or bulk data processing.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"default": "JSON",
"enum": [
"JSON",
"CSV"
]
},
"example": "JSON"
}
],
"deprecated": false,
"responses": {
"200": {
"description": "Success response from the API.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/INDEX_CC_CALCULATED_INSTRUMENT_HISTO_DATA_RESPONSE"
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"401": {
"description": "The 401 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"403": {
"description": "The 403 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"404": {
"description": "The 404 error can either be returned when some/all of parameters sent are not found within our system. This could be beacuse parameters like market, instrument, news source, symbol, asset_id etc. are invalid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"405": {
"description": "The 405 error occurs the user tries to use a http method (GET,POST,PUT etc) that is not supported.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"429": {
"description": "The 429 error occurs when you go over the API Key limit. Rate limits are eforced on a second (resets every second), minute (resers every minute), hour (resets every hour), day (resets every day) and month (resets every month) granularity. You can upgrade your account and access higher rate limits.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"500": {
"description": "The 500 error occurs our API is up but does not know how to / can't handle the request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"502": {
"description": "The 502 error occurs when our API is not running. This error is returned by our proxy / load balancer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"503": {
"description": "The 503 error occurs when there is an issue with one of our data sources and we can't even return a partial answer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
}
}
}
},
"/index/cc/v1/historical/hours": {
"get": {
"summary": "Historical OHLCV+ Hour",
"description": "Get detailed index candlestick information at one-hour intervals, encompassing open, high, low, and close values. This data enables a comprehensive understanding of the index's performance over time, allowing for in-depth analysis and decision-making.",
"x-extended-description-with-markdown": "",
"tags": [
"Reference Rates"
],
"operationId": "index_cc_v1_historical_hours",
"x-section": "Reference Rates",
"x-roles-required": [],
"x-cache-length-seconds": 300,
"x-visible-in-ai": true,
"x-endpoint-group-id": "index_cc_v1_historical",
"x-endpoint-group-name": "Historical OHLCV+",
"parameters": [
{
"name": "market",
"in": "query",
"description": "The index family to obtain data from. The default value is cadli, our 24-hour volume-weighted average with time penalty and outlier adjustment index.",
"required": true,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"minLength": 2,
"maxLength": 30
},
"example": "cadli"
},
{
"name": "instrument",
"in": "query",
"description": "An instrument to retrieve from a specific market. For example, BTC-USD on cadli.",
"required": true,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"example": "BTC-USD"
},
{
"name": "groups",
"in": "query",
"description": "When requesting historical entries you can filter by specific groups of interest. To do so just pass the groups of interest into the URL as a comma separated list. If left empty it will get all data that your account is allowed to access.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "array",
"default": [],
"items": {
"type": "string",
"enum": [
"ID",
"OHLC",
"OHLC_MESSAGE",
"MESSAGE",
"VOLUME"
]
}
},
"example": []
},
{
"name": "limit",
"in": "query",
"description": "The number of data points to return",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "integer",
"default": 30,
"minimum": 1,
"maximum": 2000
},
"example": 30
},
{
"name": "to_ts",
"in": "query",
"description": "Returns historical data before this unix timestamp. If you want to get all the available historical data, you can use limit=2000 and keep going back in time using the to_ts param. You can then keep requesting batches using: &limit=2000&to_ts={the earliest unix timestamp received}",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "integer",
"x-is-timestamp": true
}
},
{
"name": "aggregate",
"in": "query",
"description": "The number of points to aggregate for each returned value. E.g. passing 5 on a minute histo data endpoint will return data at 5 minute intervals. You are still limited to a maximum of 2000 minute points so the maximum you can get is 400 5 minutes interval entries",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "integer",
"default": 1,
"minimum": 1,
"maximum": 30
},
"example": 1
},
{
"name": "fill",
"in": "query",
"description": "Boolean value, if set to false or 0 we will not return data points for periods with no trading activity.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "boolean",
"default": true
},
"example": true
},
{
"name": "apply_mapping",
"in": "query",
"description": "Determines if provided instrument values are converted according to internal mappings. When true, values are translated (e.g., coinbase 'USDT-USDC' becomes 'USDC-USDT' and we invert the values); when false, original values are used.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "boolean",
"default": true
},
"example": true
},
{
"name": "response_format",
"in": "query",
"description": "This parameter allows you to choose the format of the data response from the API. Select \"JSON\" for a structured JSON object, suitable for programmatic access and manipulation. Select \"CSV\" for a text file that includes a header row and multiple data rows, with comma-separated values and new line delimiters, ideal for spreadsheet applications or bulk data processing.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"default": "JSON",
"enum": [
"JSON",
"CSV"
]
},
"example": "JSON"
}
],
"deprecated": false,
"responses": {
"200": {
"description": "Success response from the API.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/INDEX_CC_CALCULATED_INSTRUMENT_HISTO_DATA_RESPONSE"
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"401": {
"description": "The 401 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"403": {
"description": "The 403 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"404": {
"description": "The 404 error can either be returned when some/all of parameters sent are not found within our system. This could be beacuse parameters like market, instrument, news source, symbol, asset_id etc. are invalid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"405": {
"description": "The 405 error occurs the user tries to use a http method (GET,POST,PUT etc) that is not supported.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"429": {
"description": "The 429 error occurs when you go over the API Key limit. Rate limits are eforced on a second (resets every second), minute (resers every minute), hour (resets every hour), day (resets every day) and month (resets every month) granularity. You can upgrade your account and access higher rate limits.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"500": {
"description": "The 500 error occurs our API is up but does not know how to / can't handle the request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"502": {
"description": "The 502 error occurs when our API is not running. This error is returned by our proxy / load balancer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"503": {
"description": "The 503 error occurs when there is an issue with one of our data sources and we can't even return a partial answer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
}
}
}
},
"/index/cc/v1/historical/minutes": {
"get": {
"summary": "Historical OHLCV+ Minute",
"description": "Get detailed index candlestick information at one-minute intervals, encompassing open, high, low, and close values. This data enables a comprehensive understanding of the index's performance over time, allowing for in-depth analysis and decision-making.",
"x-extended-description-with-markdown": "",
"tags": [
"Reference Rates"
],
"operationId": "index_cc_v1_historical_minutes",
"x-section": "Reference Rates",
"x-roles-required": [],
"x-cache-length-seconds": 60,
"x-visible-in-ai": true,
"x-endpoint-group-id": "index_cc_v1_historical",
"x-endpoint-group-name": "Historical OHLCV+",
"parameters": [
{
"name": "market",
"in": "query",
"description": "The index family to obtain data from. The default value is cadli, our 24-hour volume-weighted average with time penalty and outlier adjustment index.",
"required": true,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"minLength": 2,
"maxLength": 30
},
"example": "cadli"
},
{
"name": "instrument",
"in": "query",
"description": "An instrument to retrieve from a specific market. For example, BTC-USD on cadli.",
"required": true,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"example": "BTC-USD"
},
{
"name": "groups",
"in": "query",
"description": "When requesting historical entries you can filter by specific groups of interest. To do so just pass the groups of interest into the URL as a comma separated list. If left empty it will get all data that your account is allowed to access.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "array",
"default": [],
"items": {
"type": "string",
"enum": [
"ID",
"OHLC",
"OHLC_MESSAGE",
"MESSAGE",
"VOLUME"
]
}
},
"example": []
},
{
"name": "limit",
"in": "query",
"description": "The number of data points to return",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "integer",
"default": 30,
"minimum": 1,
"maximum": 2000
},
"example": 30
},
{
"name": "to_ts",
"in": "query",
"description": "Returns historical data before this unix timestamp. If you want to get all the available historical data, you can use limit=2000 and keep going back in time using the to_ts param. You can then keep requesting batches using: &limit=2000&to_ts={the earliest unix timestamp received}",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "integer",
"x-is-timestamp": true
}
},
{
"name": "aggregate",
"in": "query",
"description": "The number of points to aggregate for each returned value. E.g. passing 5 on a minute histo data endpoint will return data at 5 minute intervals. You are still limited to a maximum of 2000 minute points so the maximum you can get is 400 5 minutes interval entries",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "integer",
"default": 1,
"minimum": 1,
"maximum": 30
},
"example": 1
},
{
"name": "fill",
"in": "query",
"description": "Boolean value, if set to false or 0 we will not return data points for periods with no trading activity.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "boolean",
"default": true
},
"example": true
},
{
"name": "apply_mapping",
"in": "query",
"description": "Determines if provided instrument values are converted according to internal mappings. When true, values are translated (e.g., coinbase 'USDT-USDC' becomes 'USDC-USDT' and we invert the values); when false, original values are used.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "boolean",
"default": true
},
"example": true
},
{
"name": "response_format",
"in": "query",
"description": "This parameter allows you to choose the format of the data response from the API. Select \"JSON\" for a structured JSON object, suitable for programmatic access and manipulation. Select \"CSV\" for a text file that includes a header row and multiple data rows, with comma-separated values and new line delimiters, ideal for spreadsheet applications or bulk data processing.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"default": "JSON",
"enum": [
"JSON",
"CSV"
]
},
"example": "JSON"
}
],
"deprecated": false,
"responses": {
"200": {
"description": "Success response from the API.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/INDEX_CC_CALCULATED_INSTRUMENT_HISTO_DATA_RESPONSE"
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"401": {
"description": "The 401 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"403": {
"description": "The 403 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"404": {
"description": "The 404 error can either be returned when some/all of parameters sent are not found within our system. This could be beacuse parameters like market, instrument, news source, symbol, asset_id etc. are invalid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"405": {
"description": "The 405 error occurs the user tries to use a http method (GET,POST,PUT etc) that is not supported.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"429": {
"description": "The 429 error occurs when you go over the API Key limit. Rate limits are eforced on a second (resets every second), minute (resers every minute), hour (resets every hour), day (resets every day) and month (resets every month) granularity. You can upgrade your account and access higher rate limits.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"500": {
"description": "The 500 error occurs our API is up but does not know how to / can't handle the request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"502": {
"description": "The 502 error occurs when our API is not running. This error is returned by our proxy / load balancer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"503": {
"description": "The 503 error occurs when there is an issue with one of our data sources and we can't even return a partial answer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
}
}
}
},
"/news/v1/article/list": {
"get": {
"summary": "Article: List",
"description": "Serving as the pulse of the crypto news landscape, this endpoint grants users instant access to the latest articles spanning the entirety of the industry. Drawing from a vast array of reputable sources, it curates a fresh, real-time stream of information, insights, and developments, ensuring users ",
"tags": [
"News"
],
"operationId": "news_v1_article_list",
"x-section": "News",
"x-roles-required": [],
"x-cache-length-seconds": 0,
"x-visible-in-ai": true,
"x-endpoint-group-id": "news_v1_article_list",
"x-endpoint-group-name": "Article: List",
"parameters": [
{
"name": "source_ids",
"in": "query",
"description": "Get articles from specific sources; either by their ids or keys",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "array",
"default": [
""
],
"items": {
"type": "string"
}
}
},
{
"name": "lang",
"in": "query",
"description": "The preferred language - English (EN), Portuguese (PT), Espanol (ES), Turkish (TR)",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"default": "EN",
"enum": [
"EN",
"ES",
"PT",
"TR",
""
],
"minLength": 1
}
},
{
"name": "categories",
"in": "query",
"description": "News article categories to return",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "array",
"default": [
""
],
"maxItems": 200,
"items": {
"type": "string",
"enum": [
"1INCH",
"AAVE",
"ADA",
"ALGO",
"ALTCOIN",
"ASIA",
"ATOM",
"AVAX",
"AXS",
"BAL",
"BAT",
"BCH",
"BLOCKCHAIN",
"BTC",
"BUSINESS",
"COMMODITY",
"COMP",
"CRV",
"DASH",
"DOGE",
"DOT",
"ENJ",
"ETC",
"ETH",
"EXCHANGE",
"FIAT",
"FIL",
"FTM",
"ICO",
"KNC",
"LINK",
"LRC",
"LTC",
"LUNA",
"LUNC",
"MANA",
"MARKET",
"MATIC",
"MINING",
"MKR",
"REGULATION",
"REN",
"SAND",
"SHIB",
"SNX",
"SOL",
"SPONSORED",
"SUSHI",
"TECHNOLOGY",
"TRADING",
"TRX",
"UMA",
"UNI",
"USDT",
"WALLET",
"XLM",
"XMR",
"XRP",
"XTZ",
"YFI",
"ZEC",
"ZRX",
""
]
}
}
},
{
"name": "exclude_categories",
"in": "query",
"description": "News article categories to exclude from results",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "array",
"default": [
""
],
"maxItems": 200,
"items": {
"type": "string",
"enum": [
"1INCH",
"AAVE",
"ADA",
"ALGO",
"ALTCOIN",
"ASIA",
"ATOM",
"AVAX",
"AXS",
"BAL",
"BAT",
"BCH",
"BLOCKCHAIN",
"BTC",
"BUSINESS",
"COMMODITY",
"COMP",
"CRV",
"DASH",
"DOGE",
"DOT",
"ENJ",
"ETC",
"ETH",
"EXCHANGE",
"FIAT",
"FIL",
"FTM",
"ICO",
"KNC",
"LINK",
"LRC",
"LTC",
"LUNA",
"LUNC",
"MANA",
"MARKET",
"MATIC",
"MINING",
"MKR",
"REGULATION",
"REN",
"SAND",
"SHIB",
"SNX",
"SOL",
"SPONSORED",
"SUSHI",
"TECHNOLOGY",
"TRADING",
"TRX",
"UMA",
"UNI",
"USDT",
"WALLET",
"XLM",
"XMR",
"XRP",
"XTZ",
"YFI",
"ZEC",
"ZRX",
""
]
}
}
},
{
"name": "limit",
"in": "query",
"description": "Number of total news articles to return",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "integer",
"default": 50,
"minimum": 1,
"maximum": 100
},
"example": 10
},
{
"name": "to_ts",
"in": "query",
"description": "Articles published on or before this timestamp",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "integer",
"default": -1,
"x-is-timestamp": true
}
}
],
"deprecated": false,
"responses": {
"200": {
"description": "Success response from the API.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NEWS_ARTICLES_RESPONSE"
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"401": {
"description": "The 401 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"403": {
"description": "The 403 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"404": {
"description": "The 404 error can either be returned when some/all of parameters sent are not found within our system. This could be beacuse parameters like market, instrument, news source, symbol, asset_id etc. are invalid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"405": {
"description": "The 405 error occurs the user tries to use a http method (GET,POST,PUT etc) that is not supported.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"429": {
"description": "The 429 error occurs when you go over the API Key limit. Rate limits are eforced on a second (resets every second), minute (resers every minute), hour (resets every hour), day (resets every day) and month (resets every month) granularity. You can upgrade your account and access higher rate limits.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"500": {
"description": "The 500 error occurs our API is up but does not know how to / can't handle the request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"502": {
"description": "The 502 error occurs when our API is not running. This error is returned by our proxy / load balancer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"503": {
"description": "The 503 error occurs when there is an issue with one of our data sources and we can't even return a partial answer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
}
}
}
},
"/asset/v1/metadata": {
"get": {
"summary": "Full Asset Metadata",
"description": "This endpoint retrieves comprehensive asset information for a specific asset identified by either their CCData asset ID or unique asset symbol. It covers aspects such as asset description and classification, blockchain network and token properties, social presence analysis, token sales overview, an",
"x-extended-description-with-markdown": "This endpoint retrieves comprehensive asset information for a specific asset identified by either their CCData asset ID or unique asset symbol. It covers aspects such as asset description and classification, blockchain network and token properties, social presence analysis, token sales overview, and equity sales information.\n\n- **Asset Description and Classification**: Provides a multifaceted view, including details like asset type, symbol, name, associated IDs, classification such as ISO codes, flags for smart contract, DeFi, and NFT usage, and essential links to official documents and stakeholder information.\n- **Blockchain Network and Token Properties**: Defines key properties of a network or token, detailing consensus mechanisms, algorithms, supply attributes, block creation/handling, and essential addresses, supporting analysis, monitoring, and development.\n- **Social Presence Analysis**: Offers an in-depth snapshot of social engagement across platforms like Twitter, Discord, and Telegram, with details on account links, verification, statistics, membership, and other engagement metrics for comprehensive tracking and planning.\n- **Token Sales Overview**: Incorporates the TOKEN_SALES object, with an array of details including type, dates, supply, payment methods, legal aspects, and more, controlled by the HELD_TOKEN_SALE boolean flag, enabling a rich understanding of the token sale's nature and status.\n- **Equity Sales Information**: Includes access to the EQUITY_SALES fields, encompassing stages, legal entity, dates, shares, funding targets, notable investors, jurisdictions, regulatory frameworks, legal advisers, and more, governed by the HELD_EQUITY_SALE boolean flag, ensuring a complete view of the sale's financial, legal, and structural characteristics.",
"tags": [
"Asset"
],
"operationId": "asset_v1_metadata",
"x-section": "Asset",
"x-roles-required": [],
"x-cache-length-seconds": 30,
"x-visible-in-ai": true,
"x-endpoint-group-id": "asset_v1_metadata_group",
"x-endpoint-group-name": "Metadata",
"parameters": [
{
"name": "asset",
"in": "query",
"description": "Specify the digital asset for which you want to retrieve information by providing either its unique SYMBOL or the CCData internal asset ID. When using the SYMBOL, provide a string that corresponds to the asset's common ticker symbol. When using the internal asset ID, provide an integer or bigint that uniquely identifies the asset within CCData. For assets with numerical SYMBOLS, use the asset_lookup_priority field to clarify whether the numerical value should be matched as a SYMBOL or an ID.",
"required": true,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"example": "BTC"
},
{
"name": "groups",
"in": "query",
"description": "When requesting asset data you can filter by specific groups of interest",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "array",
"default": [],
"minItems": 0,
"maxItems": 2000,
"items": {
"type": "string",
"enum": [
"ID",
"BASIC",
"SUPPORTED_PLATFORMS",
"CUSTODIANS",
"SUPPLY",
"SUPPLY_ADDRESSES",
"ASSET_TYPE_SPECIFIC_METRICS",
"SOCIAL",
"TOKEN_SALE",
"EQUITY_SALE",
"RESOURCE_LINKS",
"CLASSIFICATION",
"PRICE",
"MKT_CAP",
"VOLUME",
"CHANGE",
"TOPLIST_RANK",
"DESCRIPTION",
"DESCRIPTION_SUMMARY",
"CONTACT",
"SEO",
"INTERNAL"
]
}
},
"example": []
},
{
"name": "asset_lookup_priority",
"in": "query",
"description": "Use this parameter to denote whether the asset you are sending in the asset paremeter should be matched against the list of asset SYMBOLS or list of CCData internal asset IDS.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "string",
"default": "SYMBOL",
"enum": [
"SYMBOL",
"ID"
]
},
"example": "SYMBOL"
}
],
"deprecated": false,
"responses": {
"200": {
"description": "Success response from the API.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ASSET_METADATA_RESPONSE"
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"401": {
"description": "The 401 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"403": {
"description": "The 403 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"404": {
"description": "The 404 error can either be returned when some/all of parameters sent are not found within our system. This could be beacuse parameters like market, instrument, news source, symbol, asset_id etc. are invalid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"405": {
"description": "The 405 error occurs the user tries to use a http method (GET,POST,PUT etc) that is not supported.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"429": {
"description": "The 429 error occurs when you go over the API Key limit. Rate limits are eforced on a second (resets every second), minute (resers every minute), hour (resets every hour), day (resets every day) and month (resets every month) granularity. You can upgrade your account and access higher rate limits.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"500": {
"description": "The 500 error occurs our API is up but does not know how to / can't handle the request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"502": {
"description": "The 502 error occurs when our API is not running. This error is returned by our proxy / load balancer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"503": {
"description": "The 503 error occurs when there is an issue with one of our data sources and we can't even return a partial answer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
}
}
}
},
"/onchain/v1/block/2/last": {
"get": {
"summary": "ETH: Latest Block Processed",
"description": "Detailed information about the latest Ethereum block in our processed format. Make sure to use the groups param to get access to all the data. Useful for developers, researchers, or users who require access to the most granular and easy to understand data available for a given block. The url struct",
"tags": [
"On-Chain Core"
],
"operationId": "onchain_v1_block_2_last",
"x-section": "On-Chain Core",
"x-roles-required": [],
"x-cache-length-seconds": 5,
"x-visible-in-ai": true,
"x-endpoint-group-id": "onchain_v1_block_2_last",
"x-endpoint-group-name": "ETH: Latest Block",
"parameters": [
{
"name": "groups",
"in": "query",
"description": "When requesting processed block data you can filter by specific groups of interest. To do so just pass the groups of interest into the URL as a comma separated list. If left empty it will get all data that your account is allowed to access.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "array",
"default": [
"ID",
"METADATA"
],
"items": {
"type": "string",
"enum": [
"ID",
"METADATA",
"TRANSACTIONS",
"ORPHAN_TRACES",
"UNCLES",
"WITHDRAWALS"
]
}
},
"example": [
"ID"
]
}
],
"deprecated": false,
"responses": {
"200": {
"description": "Success response from the API.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ETH_FULL_BLOCK_RESPONSE"
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"401": {
"description": "The 401 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"403": {
"description": "The 403 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"404": {
"description": "The 404 error can either be returned when some/all of parameters sent are not found within our system. This could be beacuse parameters like market, instrument, news source, symbol, asset_id etc. are invalid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"405": {
"description": "The 405 error occurs the user tries to use a http method (GET,POST,PUT etc) that is not supported.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"429": {
"description": "The 429 error occurs when you go over the API Key limit. Rate limits are eforced on a second (resets every second), minute (resers every minute), hour (resets every hour), day (resets every day) and month (resets every month) granularity. You can upgrade your account and access higher rate limits.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"500": {
"description": "The 500 error occurs our API is up but does not know how to / can't handle the request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"502": {
"description": "The 502 error occurs when our API is not running. This error is returned by our proxy / load balancer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"503": {
"description": "The 503 error occurs when there is an issue with one of our data sources and we can't even return a partial answer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
}
}
}
},
"/onchain/v1/block/8/last": {
"get": {
"summary": "BNB: Latest Block Processed",
"description": "Detailed information about the latest block on the BNB Smart Chain (BSC) in our processed format. Make sure to use the groups param to get access to all the data. Useful for developers, researchers, or users who require access to the most granular and easy to understand data available for a given b",
"tags": [
"On-Chain Core"
],
"operationId": "onchain_v1_block_8_last",
"x-section": "On-Chain Core",
"x-roles-required": [],
"x-cache-length-seconds": 5,
"x-visible-in-ai": true,
"x-endpoint-group-id": "onchain_v1_block_8_last",
"x-endpoint-group-name": "BNB: Latest Block",
"parameters": [
{
"name": "groups",
"in": "query",
"description": "When requesting processed block data you can filter by specific groups of interest. To do so just pass the groups of interest into the URL as a comma separated list. If left empty it will get all data that your account is allowed to access.",
"required": false,
"explode": false,
"style": "form",
"deprecated": false,
"schema": {
"type": "array",
"default": [
"ID",
"METADATA"
],
"items": {
"type": "string",
"enum": [
"ID",
"METADATA",
"TRANSACTIONS",
"ORPHAN_TRACES",
"UNCLES",
"WITHDRAWALS"
]
}
},
"example": [
"ID"
]
}
],
"deprecated": false,
"responses": {
"200": {
"description": "Success response from the API.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BNB_FULL_BLOCK_RESPONSE"
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"401": {
"description": "The 401 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"403": {
"description": "The 403 error occurs when you don't use a valid API Key on an endpoint that requires authentication.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"404": {
"description": "The 404 error can either be returned when some/all of parameters sent are not found within our system. This could be beacuse parameters like market, instrument, news source, symbol, asset_id etc. are invalid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"405": {
"description": "The 405 error occurs the user tries to use a http method (GET,POST,PUT etc) that is not supported.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"429": {
"description": "The 429 error occurs when you go over the API Key limit. Rate limits are eforced on a second (resets every second), minute (resers every minute), hour (resets every hour), day (resets every day) and month (resets every month) granularity. You can upgrade your account and access higher rate limits.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"500": {
"description": "The 500 error occurs our API is up but does not know how to / can't handle the request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"502": {
"description": "The 502 error occurs when our API is not running. This error is returned by our proxy / load balancer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
},
"503": {
"description": "The 503 error occurs when there is an issue with one of our data sources and we can't even return a partial answer.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ERROR"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"GENERIC_RESPONSE": {
"type": "object",
"x-visible-in-ai": true,
"properties": {
"Data": {
"type": "object",
"properties": {
"NO_DATA": {
"type": "string",
"description": "The endpoint does not have a response defined",
"example": "Please add a ResponseObject on the endpoint!"
}
}
},
"Err": {
"type": "object",
"properties": {}
}
}
},
"ERROR": {
"type": "object",
"x-visible-in-ai": true,
"properties": {
"Data": {
"type": "object",
"properties": {}
},
"Err": {
"type": "object",
"properties": {
"type": {
"type": "integer",
"description": "A public facing error type. If you want to treat a specific error use the type.",
"format": "int32",
"example": 1
},
"message": {
"type": "string",
"description": "A message describing the error",
"example": "Not found: market parameter. Value test_market_does_not_exist not integrated yet. We list all markets in lowercase and transform the parameter sent, make sure you check the https://data-api.cryptocompare.com/spot/v1/markets endpoint for a list of all the supported TRADE_SPOT markets"
},
"other_info": {
"type": "object",
"properties": {
"param": {
"type": "string",
"description": "The parameter that is responsible for the error",
"example": "market"
},
"values": {
"type": "array",
"description": "The values responsible for the error",
"example": [
"test_market_does_not_exist"
],
"items": {
"type": "string"
}
}
}
}
}
}
}
},
"INDEX_CC_CALCULATED_INSTRUMENT_MARKET_DATA": {
"type": "object",
"x-visible-in-ai": true,
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"x-cc-api-group": "ID"
},
"MARKET": {
"type": "string",
"description": "The index family you have requested (name of the index family e.g. ccix)",
"x-cc-api-group": "ID"
},
"INSTRUMENT": {
"type": "string",
"description": "The unmapped instrument ID",
"x-cc-api-group": "ID"
},
"CCSEQ": {
"type": "number",
"description": "Our internal sequence number for this tick update, this is unique per market / exchange and trading pair / instrument. It will always be increasing by 1 for each new tick update we send.",
"x-cc-api-group": "VALUE"
},
"VALUE": {
"type": "number",
"description": "The latest value (price) of the index.",
"x-cc-api-group": "VALUE"
},
"VALUE_FLAG": {
"type": "string",
"description": "The flag indicating if the value has increased, decreased, or not changed",
"x-cc-api-group": "VALUE"
},
"VALUE_LAST_UPDATE_TS": {
"type": "number",
"description": "The timestamp in seconds as reported by the market / exchange or the received timestamp if the market / exchange does not provide one of the last update that had an impact on the value.",
"x-cc-api-group": "VALUE"
},
"VALUE_LAST_UPDATE_TS_NS": {
"type": "number",
"description": "The nanoseconds part of the timestamp when the last update was reported by the market / exchange / calculation server.",
"x-cc-api-group": "VALUE"
},
"LAST_UPDATE_QUANTITY": {
"type": "number",
"description": "The quantity of the latest update in the from symbol (base / coin)",
"x-cc-api-group": "LAST_UPDATE"
},
"LAST_UPDATE_QUOTE_QUANTITY": {
"type": "number",
"description": "The quote quantity of the latest update in the to symbol (quote / coin)",
"x-cc-api-group": "LAST_UPDATE"
},
"LAST_UPDATE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The top tier quantity of the latest update in the from symbol (base / coin)",
"x-cc-api-group": "LAST_UPDATE"
},
"LAST_UPDATE_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The top tier quote quantity of the latest update in the to symbol (quote / coin).",
"x-cc-api-group": "LAST_UPDATE"
},
"LAST_UPDATE_VOLUME_DIRECT": {
"type": "number",
"description": "The direct quantity of the latest update in the from symbol (base / coin)",
"x-cc-api-group": "LAST_UPDATE"
},
"LAST_UPDATE_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The direct quote quantity of the latest update in the to symbol (quote / coin).",
"x-cc-api-group": "LAST_UPDATE"
},
"LAST_UPDATE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The top tier direct quantity of the latest update in the from symbol (base / coin)",
"x-cc-api-group": "LAST_UPDATE"
},
"LAST_UPDATE_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The top tier direct quote quantity of the latest update in the to symbol (quote / coin).",
"x-cc-api-group": "LAST_UPDATE"
},
"LAST_UPDATE_CCSEQ": {
"type": "number",
"description": "The CCSEQ of the last message update",
"x-cc-api-group": "LAST_UPDATE"
},
"CURRENT_HOUR_VOLUME": {
"type": "number",
"description": "The sum of all update quantities from the start of the current hour until now. Represented in the base asset.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities from the start of the current hour until now. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities from the start of the current hour until now. Represented in the base asset.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities from the start of the current hour until now. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities from the start of the current hour until now. Represented in the base asset.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities from the start of the current hour until now. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities from the start of the current hour until now. Represented in the base asset.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities from the start of the current hour until now. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_OPEN": {
"type": "number",
"description": "The open value for the current hour, this is based on the closest update before the start of the current hour.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_HIGH": {
"type": "number",
"description": "The highest value between the open and the highest update value in the current hour. The same as open when there no update in the time period.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_LOW": {
"type": "number",
"description": "The lowest value between the open and the lowest update value in the current hour. The same as open when there no update in the time period.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total updates since the start of the current hour.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_CHANGE": {
"type": "number",
"description": "The value change from the CURRENT_HOUR. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_HOUR_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the CURRENT_HOUR. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "CURRENT_HOUR"
},
"CURRENT_DAY_VOLUME": {
"type": "number",
"description": "The sum of all update quantities from the start of the current day (00:00:00 GMT/UTC) until now. Represented in the base asset.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities from the start of the current day (00:00:00 GMT/UTC) until now. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities from the start of the current day (00:00:00 GMT/UTC) until now. Represented in the base asset.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities from the start of the current day (00:00:00 GMT/UTC) until now. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities from the start of the current day (00:00:00 GMT/UTC) until now. Represented in the base asset.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities from the start of the current day (00:00:00 GMT/UTC) until now. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities from the start of the current day (00:00:00 GMT/UTC) until now. Represented in the base asset.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities from the start of the current day (00:00:00 GMT/UTC) until now. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_OPEN": {
"type": "number",
"description": "The open value for the current day, this is based on the closest update before the start of the current day (00:00:00 GMT/UTC).",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_HIGH": {
"type": "number",
"description": "The highest value between the open and the highest update value in the current day (00:00:00 GMT/UTC). The same as open when there no updates in the time period.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_LOW": {
"type": "number",
"description": "The lowest value between the open and the lowest update value in the current day (00:00:00 GMT/UTC). The same as open when there no updates in the time period.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total updates since the start of the current day (00:00:00 GMT/UTC).",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_CHANGE": {
"type": "number",
"description": "The value change from the CURRENT_DAY. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_DAY_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the CURRENT_DAY. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "CURRENT_DAY"
},
"CURRENT_WEEK_VOLUME": {
"type": "number",
"description": "The sum of all update quantities from Monday (00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the week. If today is Monday, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities from Monday (00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the week. If today is Monday, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities from Monday (00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the week. If today is Monday, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities from Monday (00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the week. If today is Monday, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities from Monday (00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the week. If today is Monday, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities from Monday (00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the week. If today is Monday, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities from Monday (00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the week. If today is Monday, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities from Monday (00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the week. If today is Monday, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_OPEN": {
"type": "number",
"description": "The value of the closest update to Monday (00:00:00 GMT/UTC) of this week. This would be, in a highly liquid market, the last update that happened on the previous Sunday at (23:59:59 999 GMT/UTC). This will always be supplied and there is no need to do any calculation to get the full weekly value.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_HIGH": {
"type": "number",
"description": "The highest value between the CURRENT_WEEK_OPEN and the highest update value of the week excluding the current day (Monday - 00:00:00 GMT/UTC to the beginning - 00:00:00 GMT/UTC of the current day of the week). If today is Monday, this value will be CURRENT_WEEK_OPEN.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_LOW": {
"type": "number",
"description": "The lowest value between the CURRENT_WEEK_OPEN and the lowest update value of the week excluding the current day (Monday - 00:00:00 GMT/UTC to the beginning - 00:00:00 GMT/UTC of the current day of the week). If today is Monday, this value will be CURRENT_WEEK_OPEN.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total count of updates between Monday (00:00:00 GMT/UTC) and the beginning (00:00:00 GMT/UTC) of the current day of the week. If today is Monday, this value will be 0.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_CHANGE": {
"type": "number",
"description": "The value change from the CURRENT_WEEK. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_WEEK_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the CURRENT_WEEK. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "CURRENT_WEEK"
},
"CURRENT_MONTH_VOLUME": {
"type": "number",
"description": "The sum of all update quantities from the 1st of the month (xxxx:xx:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the month. If today is the first of the month, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities from the 1st of the month (xxxx:xx:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the month. If today is the first of the month, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities from the 1st of the month (xxxx:xx:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the month. If today is the first of the month, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities from the 1st of the month (xxxx:xx:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the month. If today is the first of the month, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities from the 1st of the month (xxxx:xx:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the month. If today is the first of the month, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities from the 1st of the month (xxxx:xx:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the month. If today is the first of the month, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities from the 1st of the month (xxxx:xx:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the month. If today is the first of the month, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities from the 1st of the month (xxxx:xx:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the month. If today is the first of the month, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_OPEN": {
"type": "number",
"description": "The value of the closest update to the 1st day (00:00:00 GMT/UTC) of this month. This would be, in a highly liquid market, the last update that happened on the previous month at (23:59:59 999 GMT/UTC). This will always be supplied and there is no need to do any calculation to get the full monthly value.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_HIGH": {
"type": "number",
"description": "The highest value between the CURRENT_MONTH_OPEN and the highest update value of the month excluding the current day (1st of the month - 00:00:00 GMT/UTC to the beginning - 00:00:00 GMT/UTC of the current day of the month). If today is the 1st of the month, this value will be CURRENT_MONTH_OPEN.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_LOW": {
"type": "number",
"description": "The lowest value between the CURRENT_MONTH_OPEN and the lowest update value of the month excluding the current day (1st of the month - 00:00:00 GMT/UTC to the beginning - 00:00:00 GMT/UTC of the current day of the month). If today is the 1st of the month, this value will be CURRENT_MONTH_OPEN.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total count of trades between 1st of the month (xxxx:xx:01 00:00:00 GMT/UTC) and the beginning (00:00:00 GMT/UTC) of the current day of the month. If today is 1st of the month, this value will be 0.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_CHANGE": {
"type": "number",
"description": "The value change from the CURRENT_MONTH. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_MONTH_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the CURRENT_MONTH. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "CURRENT_MONTH"
},
"CURRENT_YEAR_VOLUME": {
"type": "number",
"description": "The sum of all update quantities from the 1st of January (xxxx:01:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the year. If today is the first of January, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities from the 1st of January (xxxx:01:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the year. If today is the first of January, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities from the 1st of January (xxxx:01:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the year. If today is the first of January, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities from the 1st of January (xxxx:01:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the year. If today is the first of January, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities from the 1st of January (xxxx:01:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the year. If today is the first of January, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities from the 1st of January (xxxx:01:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the year. If today is the first of January, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities from the 1st of January (xxxx:01:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the year. If today is the first of January, this value will be 0. Represented in the base asset.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities from the 1st of January (xxxx:01:01 00:00:00 GMT/UTC) to the beginning (00:00:00 GMT/UTC) of the current day of the year. If today is the first of January, this value will be 0. Represented in the quote asset.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_OPEN": {
"type": "number",
"description": "The value of the closest trade to the 1st of January (00:00:00 GMT/UTC) of this year. This would be, in a highly liquid market, the last update that happened on on the 31st of December of the previous year (23:59:59 999 GMT/UTC). This will always be supplied and there is no need to do any calculation to get the full yearly value.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_HIGH": {
"type": "number",
"description": "The highest value between the CURRENT_YEAR_OPEN and the highest update value of the year excluding the current day (1st of January - 00:00:00 GMT/UTC to the beginning - 00:00:00 GMT/UTC of the current day of the year). If today is the 1st of January, this value will be CURRENT_YEAR_OPEN.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_LOW": {
"type": "number",
"description": "The lowest value between the CURRENT_YEAR_OPEN and the lowest update value of the year excluding the current day (1st of January - 00:00:00 GMT/UTC to the beginning - 00:00:00 GMT/UTC of the current day of the year). If today is the 1st of January, this value will be CURRENT_YEAR_OPEN.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total count of updates between 1st of January (xxxx:01:01 00:00:00 GMT/UTC) and the beginning (00:00:00 GMT/UTC) of the current day of the year. If today is 1st of January, this value will be 0.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_CHANGE": {
"type": "number",
"description": "The value change from the CURRENT_YEAR. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "CURRENT_YEAR"
},
"CURRENT_YEAR_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the CURRENT_YEAR. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "CURRENT_YEAR"
},
"MOVING_24_HOUR_VOLUME": {
"type": "number",
"description": "The sum of all update quantities from 24 hours ago up to the beginning of the current hour (23 hours in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities from 24 hours ago up to the beginning of the current hour (23 hours in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities from the 24 hours ago up to the beginning of the current hour (23 hours in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities from the 24 hours ago up to the beginning of the current hour (23 hours in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities from the 24 hours ago up to the beginning of the current hour (23 hours in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities from the 24 hours ago up to the beginning of the current hour (23 hours in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities from the 24 hours ago up to the beginning of the current hour (23 hours in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities from the 24 hours ago up to the beginning of the current hour (23 hours in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_OPEN": {
"type": "number",
"description": "The value of the closest update to the period start date (23 hours + current hour ago). This will always be supplied and there is no need to do any calculation to get the full 24 hour value.",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_HIGH": {
"type": "number",
"description": "The highest value between the MOVING_24_HOUR_OPEN and the highest update value of the period - from 24 hours ago up to the beginning of the current hour (23 hours in total).",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_LOW": {
"type": "number",
"description": "The lowest value between the MOVING_24_HOUR_OPEN and the lowest update value of the period - from 24 hours ago up to the beginning of the current hour (23 hours in total).",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total count of updates between 24 hours ago and the beginning (xx:00:00) of the current hour (23 hours in total).",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_CHANGE": {
"type": "number",
"description": "The value change from the MOVING_24_HOUR. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_24_HOUR_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the MOVING_24_HOUR. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "MOVING_24_HOUR"
},
"MOVING_7_DAY_VOLUME": {
"type": "number",
"description": "The sum of all update quantities from 7 days ago up to the beginning of the current day (6 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities from 7 days ago up to the beginning of the current day (6 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities from the 7 days ago up to the beginning of the current day (6 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities from the 7 days ago up to the beginning of the current day (6 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities from the 7 days ago up to the beginning of the current day (6 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities from the 7 days ago up to the beginning of the current day (6 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities from the 7 days ago up to the beginning of the current day (6 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities from the 7 days ago up to the beginning of the current day (6 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_OPEN": {
"type": "number",
"description": "The value of the closest update to the period start date (6 days + current day - 00:00:00 GMT/UTC to now). This will always be supplied and there is no need to do any calculation to get the full 7 day value.",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_HIGH": {
"type": "number",
"description": "The highest value between the MOVING_7_DAY_OPEN and the highest update value of the period - from 7 days ago up to the beginning of the current day (6 days in total).",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_LOW": {
"type": "number",
"description": "The lowest value between the MOVING_7_DAY_OPEN and the lowest update value of the period - from 7 days ago up to the beginning of the current day (6 days in total).",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total count of updates between 7 days ago and the beginning (00:00:00 GMT/UTC) of the current day (6 days in total).",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_CHANGE": {
"type": "number",
"description": "The value change from the MOVING_7_DAY. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_7_DAY_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the MOVING_7_DAY. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "MOVING_7_DAY"
},
"MOVING_30_DAY_VOLUME": {
"type": "number",
"description": "The sum of all update quantities from 30 days ago up to the beginning of the current day (29 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities from 30 days ago up to the beginning of the current day (29 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities from the 30 days ago up to the beginning of the current day (29 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities from the 30 days ago up to the beginning of the current day (29 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities from the 30 days ago up to the beginning of the current day (29 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities from the 30 days ago up to the beginning of the current day (29 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities from the 30 days ago up to the beginning of the current day (29 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities from the 30 days ago up to the beginning of the current day (29 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_OPEN": {
"type": "number",
"description": "The value of the closest update to the period start date (29 days + current day - 00:00:00 GMT/UTC to now). This will always be supplied and there is no need to do any calculation to get the full 30 day value.",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_HIGH": {
"type": "number",
"description": "The highest value between the MOVING_30_DAY_OPEN and the highest update value of the period - from 30 days ago up to the beginning of the current day (29 days in total).",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_LOW": {
"type": "number",
"description": "The lowest value between the MOVING_30_DAY_OPEN and the lowest update value of the period - from 30 days ago up to the beginning of the current day (29 days in total).",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total count of updates between 30 days ago and the beginning (00:00:00 GMT/UTC) of the current day (29 days in total).",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_CHANGE": {
"type": "number",
"description": "The value change from the MOVING_30_DAY. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_30_DAY_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the MOVING_30_DAY. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "MOVING_30_DAY"
},
"MOVING_90_DAY_VOLUME": {
"type": "number",
"description": "The sum of all update quantities from 90 days ago up to the beginning of the current day (89 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities from 90 days ago up to the beginning of the current day (89 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities from the 90 days ago up to the beginning of the current day (89 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities from the 90 days ago up to the beginning of the current day (89 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities from the 90 days ago up to the beginning of the current day (89 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities from the 90 days ago up to the beginning of the current day (89 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities from the 90 days ago up to the beginning of the current day (89 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities from the 90 days ago up to the beginning of the current day (89 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_OPEN": {
"type": "number",
"description": "The value of the closest update to the period start date (89 days + current day - 00:00:00 GMT/UTC to now). This will always be supplied and there is no need to do any calculation to get the full 90 day value.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_HIGH": {
"type": "number",
"description": "The highest value between the MOVING_90_DAY_OPEN and the highest update value of the period - from 90 days ago up to the beginning of the current day (89 days in total).",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_LOW": {
"type": "number",
"description": "The lowest value between the MOVING_90_DAY_OPEN and the lowest update value of the period - from 90 days ago up to the beginning of the current day (89 days in total).",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total count of updates between 90 days ago and the beginning (00:00:00 GMT/UTC) of the current day (89 days in total). To get the total 90 day value add CURRENT_DAY_TOTAL_INDEX_UPDATES to this value.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_CHANGE": {
"type": "number",
"description": "The value change from the MOVING_90_DAY. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_90_DAY_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the MOVING_90_DAY. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "MOVING_90_DAY"
},
"MOVING_180_DAY_VOLUME": {
"type": "number",
"description": "The sum of all update quantities from 180 days ago up to the beginning of the current day (179 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities from 180 days ago up to the beginning of the current day (179 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities from the 180 days ago up to the beginning of the current day (179 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities from the 180 days ago up to the beginning of the current day (179 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities from the 180 days ago up to the beginning of the current day (179 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities from the 180 days ago up to the beginning of the current day (179 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities from the 180 days ago up to the beginning of the current day (179 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities from the 180 days ago up to the beginning of the current day (179 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_OPEN": {
"type": "number",
"description": "The value of the closest update to the period start date (179 days + current day - 00:00:00 GMT/UTC to now). This will always be supplied and there is no need to do any calculation to get the full 180 day value.",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_HIGH": {
"type": "number",
"description": "The highest value between the MOVING_180_DAY_OPEN and the highest update value of the period - from 180 days ago up to the beginning of the current day (179 days in total).",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_LOW": {
"type": "number",
"description": "The lowest value between the MOVING_180_DAY_OPEN and the lowest update value of the period - from 180 days ago up to the beginning of the current day (179 days in total).",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total count of updates between 180 days ago and the beginning (00:00:00 GMT/UTC) of the current day (179 days in total).",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_CHANGE": {
"type": "number",
"description": "The value change from the MOVING_180_DAY. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_180_DAY_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the MOVING_180_DAY. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "MOVING_180_DAY"
},
"MOVING_365_DAY_VOLUME": {
"type": "number",
"description": "The sum of all update quantities from 365 days ago up to the beginning of the current day (364 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities from 365 days ago up to the beginning of the current day (364 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities from the 365 days ago up to the beginning of the current day (364 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities from the 365 days ago up to the beginning of the current day (364 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities from the 365 days ago up to the beginning of the current day (364 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities from the 365 days ago up to the beginning of the current day (364 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities from the 365 days ago up to the beginning of the current day (364 days in total). Represented in the base asset.",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities from the 365 days ago up to the beginning of the current day (364 days in total). Represented in the quote asset.",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_OPEN": {
"type": "number",
"description": "The value of the closest update to the period start date (364 days + current day - 00:00:00 GMT/UTC to now). This will always be supplied and there is no need to do any calculation to get the full 365 day value.",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_HIGH": {
"type": "number",
"description": "The highest value between the MOVING_365_DAY_OPEN and the highest update value of the period - from 365 days ago up to the beginning of the current day (364 days in total).",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_LOW": {
"type": "number",
"description": "The lowest value between the MOVING_365_DAY_OPEN and the lowest update value of the period - from 365 days ago up to the beginning of the current day (364 days in total).",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total count of updates between 365 days ago and the beginning (00:00:00 GMT/UTC) of the current day (364 days in total).",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_CHANGE": {
"type": "number",
"description": "The value change from the MOVING_365_DAY. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "MOVING_365_DAY"
},
"MOVING_365_DAY_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the MOVING_365_DAY. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "MOVING_365_DAY"
},
"LIFETIME_FIRST_UPDATE_TS": {
"type": "number",
"description": "The timestamp of the first update we have ever seen on the instrument",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_VOLUME": {
"type": "number",
"description": "The sum of all update quantities of all the trades of this instrument. Represented in the base asset.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_QUOTE_VOLUME": {
"type": "number",
"description": "The sum of all update quote quantities of all the trades of this instrument. Represented in the quote asset.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quantities of all the trades of this instrument. Represented in the base asset.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The sum of all top tier update quote quantities of all the trades of this instrument. Represented in the quote asset.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quantities of all the trades of this instrument. Represented in the base asset.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The sum of all direct update quote quantities of all the trades of this instrument. Represented in the quote asset.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quantities of all the trades of this instrument. Represented in the base asset.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The sum of all top tier direct update quote quantities of all the trades of this instrument. Represented in the quote asset.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_OPEN": {
"type": "number",
"description": "The value of the first update of the instrument.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_HIGH": {
"type": "number",
"description": "The value of the highest update ever executed on this instrument.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_HIGH_TS": {
"type": "number",
"description": "The the timestamp of the highest update ever executed on this instrument.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_LOW": {
"type": "number",
"description": "The value of the lowest update ever executed on this instrument.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_LOW_TS": {
"type": "number",
"description": "The timestamp of the lowest update ever executed on this instrument.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total count of all updates that have ever been executed on this instrument.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_CHANGE": {
"type": "number",
"description": "The value change from the LIFETIME. If there were no updates in the time period, the value change will be 0. Given in the quote asset.",
"x-cc-api-group": "LIFETIME"
},
"LIFETIME_CHANGE_PERCENTAGE": {
"type": "number",
"description": "The percentage change from the LIFETIME. If there were no updates in the time period, the percentage change will be 0.",
"x-cc-api-group": "LIFETIME"
}
}
},
"INDEX_CC_CALCULATED_INSTRUMENT_HISTO_DATA": {
"type": "object",
"x-visible-in-ai": true,
"properties": {
"UNIT": {
"type": "string",
"description": "The unit of the historical period update: MINUTE for minute, HOUR for hour and DAY for day."
},
"TIMESTAMP": {
"type": "number",
"description": "The timestamp in seconds of the histo period, for minute it would be every minute at the beginning of the minute, for hour it would be start of the hour and for daily it is 00:00 GMT/UTC"
},
"TYPE": {
"type": "string",
"description": "Type of the message.",
"x-cc-api-group": "ID"
},
"MARKET": {
"type": "string",
"description": "The index family - a group of indices sharing common characteristics like methodology, type of securities, geographical region, sector, or company size. It's a crucial categorization in data analysis, aiding in performance comparison of different indices and understanding broader market trends.",
"example": "ccix",
"x-cc-api-group": "ID"
},
"INSTRUMENT": {
"type": "string",
"description": "The specific financial asset pair that an index is tracking in unmapped format. In most cases this is a combiation of the base and quote assets of the pair.",
"example": "BTC-USD",
"x-cc-api-group": "ID"
},
"OPEN": {
"type": "number",
"description": "The initial value (price) of an index at market opening on a trading period. It's a significant data point used to understand the initial market sentiment, calculate various technical indicators, and for visual representation in charts to identify trends or patterns over time.",
"x-cc-api-group": "OHLC"
},
"HIGH": {
"type": "number",
"description": "The maximum value an index (price) reaches during a specific trading period. It's a significant data point used to understand the index's potential and volatility, calculate the range of daily movement, and for visual representation in charts to identify trends or patterns over time.",
"x-cc-api-group": "OHLC"
},
"LOW": {
"type": "number",
"description": "The minimum value (price) an index reaches during a specific trading period. It's a vital data point used to understand the index's volatility and risk, calculate the range of daily movement, and for visual representation in charts to identify trends or patterns over time.",
"x-cc-api-group": "OHLC"
},
"CLOSE": {
"type": "number",
"description": "The last value (price) of an index at the end of a trading period. It's a critical data point used for performance comparison, calculations like daily return or volatility, and for visual representation in charts to identify trends or patterns over time.",
"x-cc-api-group": "OHLC"
},
"FIRST_MESSAGE_TIMESTAMP": {
"type": "number",
"description": "The timestamp in seconds of the initial index update in the time period (only available when we have at least one index update in the time period).",
"x-cc-api-group": "OHLC_MESSAGE"
},
"LAST_MESSAGE_TIMESTAMP": {
"type": "number",
"description": "The timestamp in seconds of the last index update in the time period (only available when we have at least one index update in the time period).",
"x-cc-api-group": "OHLC_MESSAGE"
},
"FIRST_MESSAGE_VALUE": {
"type": "number",
"description": "The open value (price) based on the inital index update in the time period (only available when we have at least one index update in the time period).",
"x-cc-api-group": "OHLC_MESSAGE"
},
"HIGH_MESSAGE_VALUE": {
"type": "number",
"description": "The maximum value an index (price) based on all the index updates in the time period (only available when we have at least one index update in the time period).",
"x-cc-api-group": "OHLC_MESSAGE"
},
"HIGH_MESSAGE_TIMESTAMP": {
"type": "number",
"description": "The timestamp in seconds of the maximum value an index (price) based on all the index updates in the time period (only available when we have at least one index update in the time period).",
"x-cc-api-group": "OHLC_MESSAGE"
},
"LOW_MESSAGE_VALUE": {
"type": "number",
"description": "The minimum value an index (price) based on all the index updates in the time period (only available when we have at least one index update in the time period).",
"x-cc-api-group": "OHLC_MESSAGE"
},
"LOW_MESSAGE_TIMESTAMP": {
"type": "number",
"description": "The timestamp in seconds of the the minimum value an index (price) based on all the index updates in the time period (only available when we have at least one index update in the time period).",
"x-cc-api-group": "OHLC_MESSAGE"
},
"LAST_MESSAGE_VALUE": {
"type": "number",
"description": "The last value (price) of an index based on the last index update in the time period (only available when we have at least one index update in the time period).",
"x-cc-api-group": "OHLC_MESSAGE"
},
"VOLUME": {
"type": "number",
"description": "The total number of base asset parts traded for the index instrument in the time period. It's a critical metric that provides insights into market liquidity and activity level. High volumes indicate high investor interest and liquidity, while low volumes suggest the opposite.",
"x-cc-api-group": "VOLUME"
},
"QUOTE_VOLUME": {
"type": "number",
"description": "The total number of quote (counter) asset parts traded for the index instrument in the time period. This offers insight into market activity and liquidity and is used widely in numerical analysis and data visualization.",
"x-cc-api-group": "VOLUME"
},
"VOLUME_TOP_TIER": {
"type": "number",
"description": "The total number of top tier base asset parts traded for the index instrument in the time period. It's a critical metric that provides insights into market liquidity and activity level. High volumes indicate high investor interest and liquidity, while low volumes suggest the opposite.",
"x-cc-api-group": "VOLUME"
},
"QUOTE_VOLUME_TOP_TIER": {
"type": "number",
"description": "The total number of top tier quote (counter) asset parts traded for the index instrument in the time period. This offers insight into market activity and liquidity and is used widely in numerical analysis and data visualization.",
"x-cc-api-group": "VOLUME"
},
"VOLUME_DIRECT": {
"type": "number",
"description": "The total number of direct base asset parts traded for the index instrument in the time period. It's a critical metric that provides insights into market liquidity and activity level. High volumes indicate high investor interest and liquidity, while low volumes suggest the opposite.",
"x-cc-api-group": "VOLUME"
},
"QUOTE_VOLUME_DIRECT": {
"type": "number",
"description": "The total number of direct quote (counter) asset parts traded for the index instrument in the time period. This offers insight into market activity and liquidity and is used widely in numerical analysis and data visualization.",
"x-cc-api-group": "VOLUME"
},
"VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The total number of top tier direct base asset parts traded for the index instrument in the time period. It's a critical metric that provides insights into market liquidity and activity level. High volumes indicate high investor interest and liquidity, while low volumes suggest the opposite.",
"x-cc-api-group": "VOLUME"
},
"QUOTE_VOLUME_TOP_TIER_DIRECT": {
"type": "number",
"description": "The total number of top tier direct quote (counter) asset parts traded for the index instrument in the time period. This offers insight into market activity and liquidity and is used widely in numerical analysis and data visualization.",
"x-cc-api-group": "VOLUME"
},
"TOTAL_INDEX_UPDATES": {
"type": "number",
"description": "The total number of message updates seen in this time period (0 when there no messages in the time period).",
"x-cc-api-group": "MESSAGE"
}
}
},
"NEWS_ARTICLES": {
"type": "object",
"x-visible-in-ai": true,
"properties": {
"ID": {
"type": "integer",
"description": "The unique identifier for the article entry"
},
"GUID": {
"type": "string",
"description": "The Global Unique Identifier (GUID) of the article. A GUID is a unique reference number used as an identifier in computer systems. The \"Article guid\" is unique for every article and serves as its distinct identifier."
},
"PUBLISHED_ON": {
"type": "number",
"description": "The unix timestamp when the article was first published. This information is useful for understanding the timeline of the content, sorting articles by date, or determining the recency of the information."
},
"IMAGE_URL": {
"type": "string",
"description": "The URL, or web address, of the article's associated or featured image. This URL can be used to retrieve the image for display, providing a visual context for the article content. The URL points directly to the location where the image file is stored online."
},
"TITLE": {
"type": "string",
"description": "The heading or title of a specific article. It's a text string that gives a concise description of the article's content."
},
"URL": {
"type": "string",
"description": "The web address that directs to the specific content or article on a source website. It's a unique URL used for directly linking to the article or for fetching additional data from the article page."
},
"SOURCE_ID": {
"type": "integer",
"description": "The unique identifier for the source of the article or content. The \"SOURCE_ID\" allows for easy tracking and categorization of articles based on their origin, facilitating analysis by source, or fetching additional content from the same source. ",
"example": 41
},
"BODY": {
"type": "string",
"description": "The main textual content of the article. It includes the substance of the article but it it generally very limited since sources want clients to visit their website. This is where the primary information of the article is found."
},
"KEYWORDS": {
"type": "string",
"description": "A list of words or phrases that are relevant to the content of the article. These keywords are given by the source and serve as a summary of the main themes, topics, or subjects covered in the article."
},
"LANG": {
"type": "string",
"description": "The article Preferred language - English (EN), Portuguese (PT), Espanol (ES), Turkish (TR)",
"default": "EN",
"example": "EN"
},
"UPVOTES": {
"type": "integer",
"description": "The number of upvotes this article has.",
"example": 10
},
"DOWNVOTES": {
"type": "integer",
"description": "The number of downvotes this article has.",
"example": 3
},
"SCORE": {
"type": "integer",
"description": "The score of this article.",
"example": 7
},
"SENTIMENT": {
"type": "string",
"description": "The sentiment polarity of this article. We compute this using ChatGPT.",
"default": "",
"example": "POSITIVE"
},
"STATUS": {
"type": "string",
"description": "The status for the Article. Allowed values: ACTIVE, DELETED",
"default": "ACTIVE",
"example": "ACTIVE"
},
"CREATED_ON": {
"type": "number",
"description": "Article internal creation unix ts in our system",
"example": 1681990528
},
"CREATED_BY": {
"type": "integer",
"description": "Internal user id of the user who created the article"
},
"CREATED_BY_USERNAME": {
"type": "string",
"description": "Internal username of the user who created the article at the time of the article creation (the user might have changed their username but not their user id)"
},
"UPDATED_ON": {
"type": "number",
"description": "Article internal last updated unix ts in our system",
"example": 1681990528
},
"UPDATED_BY": {
"type": "integer",
"description": "Internal user id of the user who last updated the article"
},
"UPDATED_BY_USERNAME": {
"type": "string",
"description": "Internal username of the user who last updated the internal information of the article at the time of the article update (the user might have changed their username but not their user id)"
},
"SOURCE_DATA": {
"type": "object",
"description": "The news source data of this article.",
"properties": {
"ID": {
"type": "integer",
"description": "The unique identifier for the news source entry"
},
"SOURCE_KEY": {
"type": "string",
"description": "The unique key for a news source"
},
"NAME": {
"type": "string",
"description": "The name of the news source"
},
"IMAGE_URL": {
"type": "string",
"description": "The image url for the article source"
},
"URL": {
"type": "string",
"description": "The URL of the news source.",
"example": "https://example.com"
},
"LANG": {
"type": "string",
"description": "The Article Source Preferred language - English (EN), Portuguese (PT), Espanol (ES), Turkish (TR)",
"example": "EN"
},
"TYPE": {
"type": "string",
"description": "RSS, API, TWITTER",
"example": "RSS"
},
"SORT_ORDER": {
"type": "integer",
"description": "Internal sort order of the source to define the field overwrites"
},
"CALL_TIMEOUT": {
"type": "integer",
"description": "The milliseconds before a network call timeout for a news source",
"example": 60000
},
"SKIP_ARTICLE_IMAGE": {
"type": "boolean",
"description": "Skip uploading images from this news source articles. Defaults to news source cover image."
},
"STATUS": {
"type": "string",
"description": "The status for the Article Source entry. Allowed values: ACTIVE, INACTIVE",
"example": "ACTIVE"
},
"LAST_UPDATED_TS": {
"type": "number",
"description": "The last script update timestamp for this article source.",
"example": 1681990528
},
"LAST_ARTICLE_PUBLISHED_AT": {
"type": "number",
"description": "The timestamp for when the last article was published.",
"example": 1681990528
},
"LAST_CALL": {
"type": "number",
"description": "The last call timestamp for this source.",
"example": 1681990528
},
"LAST_CALL_SUCCESS": {
"type": "number",
"description": "The timestamp for when the last call was successful.",
"example": 1681990528
},
"CREATED_ON": {
"type": "number",
"description": "Article Source internal creation unix ts in our system",
"example": 1681990528
},
"CREATED_BY": {
"type": "integer",
"description": "Internal user id of the user who created the news source"
},
"CREATED_BY_USERNAME": {
"type": "string",
"description": "Internal username of the user who created the news source at the time of the news source creation (the user might have changed their username but not their user id)"
},
"UPDATED_ON": {
"type": "number",
"description": "Article Source internal last updated unix ts in our system",
"example": 1681990528
},
"UPDATED_BY": {
"type": "integer",
"description": "Internal user id of the user who last updated the news source"
},
"UPDATED_BY_USERNAME": {
"type": "string",
"description": "Internal username of the user who last updated the internal information of the news source at the time of the news source update (the user might have changed their username but not their user id)"
}
}
},
"CATEGORY_DATA": {
"type": "array",
"description": "An array of categories this article belongs to.",
"items": {
"type": "object",
"properties": {
"CATEGORY": {
"type": "string",
"description": "",
"example": "BTC"
}
}
}
}
}
},
"ETH_FULL_BLOCK": {
"type": "object",
"x-visible-in-ai": true,
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1025",
"x-cc-api-group": "ID"
},
"ASSET_ID": {
"type": "integer",
"description": "The unique identifier for the asset the field is associated to.",
"example": 2,
"x-cc-api-group": "ID"
},
"SYMBOL": {
"type": "string",
"description": "Internal mapped symbol for a specific asset",
"example": "ETH",
"x-cc-api-group": "ID"
},
"PROVIDER_KEY": {
"type": "string",
"description": "Internal mapped Blockchain provider key for a specific asset",
"example": "cc_nethermind",
"x-cc-api-group": "ID"
},
"CHAIN_ID": {
"type": "integer",
"description": "This is the Id of the blockchain",
"example": 1
},
"IS_PART_OF_REORG": {
"type": "boolean",
"description": "Is this block part of a reorg? this would happen when we get block reorgs due to a longer chain being published by some of the miners.",
"example": false,
"x-cc-api-group": "ID"
},
"NUMBER": {
"type": "integer",
"description": "The current block number",
"example": 46147,
"x-cc-api-group": "ID"
},
"TIMESTAMP": {
"type": "number",
"description": "The current block timestamp",
"example": 1438918233,
"x-cc-api-group": "ID"
},
"RECEIVED_TIMESTAMP": {
"type": "number",
"description": "The current block received timestamp",
"example": 1672531200,
"x-cc-api-group": "ID"
},
"METADATA": {
"type": "object",
"description": "The current block full metadata",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1021"
},
"NUMBER": {
"type": "integer",
"description": "The sequential order of the block within the blockchain. Each block's number is one greater than the number of the previous block.",
"example": 2
},
"TIMESTAMP": {
"type": "number",
"description": "The exact time when the block was mined. It's a crucial piece of information for tracking the chronological order of blocks.",
"example": 1438270017
},
"HASH": {
"type": "string",
"description": "The unique identifier for the block, generated using cryptographic algorithms. It represents the content of the block and is used for verification and linking blocks together.",
"example": "0xb495a1d7e6663152ae92708da4843337b958146015a2802f4193a410044698c9"
},
"PARENT_HASH": {
"type": "string",
"description": "The hash of the previous block in the blockchain. It establishes the chronological link between blocks.",
"example": "00x88e96d4537bea4d9c05d12549907b32561d3bf31f45aae734cdc119f13406cb6xf"
},
"NONCE": {
"type": "string",
"description": "This is a random number used in the process of mining. It's combined with other block data to create a hash that meets specific mining criteria.",
"example": "0xb853fa261a86aa9e"
},
"SHA3_UNCLES": {
"type": "string",
"description": "This stores the hash of the block's uncles, which are valid blocks that were not included in the main blockchain but can provide additional rewards to miners.",
"example": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
"LOGS_BLOOM": {
"type": "string",
"description": "This is a data structure that represents the presence of log entries in the block's transactions. It's used for efficient retrieval of logs associated with transactions.",
"example": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
},
"TRANSACTIONS_ROOT": {
"type": "string",
"description": "The hash of the root node of the Merkle tree that organizes the transactions in the block. It enables quick verification of included transactions.",
"example": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
},
"STATE_ROOT": {
"type": "string",
"description": "This hash represents the state of the blockchain after all transactions in the block have been executed. It's used to ensure the consistency of the blockchain's state.",
"example": "0x4943d941637411107494da9ec8bc04359d731bfd08b72b4d0edcbd4cd2ecb341"
},
"RECEIPTS_ROOT": {
"type": "string",
"description": "This is similar to the transactions root, the receipts root hash is the root of a Merkle tree, but it stores the receipts of transactions, including information about their success or failure.",
"example": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
},
"MINER": {
"type": "string",
"description": "This specifies the address of the miner who successfully mined the block. This miner is rewarded with cryptocurrency for their effort.",
"example": "0xdd2f1e6e498202e86d8f5442af596580a4f03c2c"
},
"MIX_HASH": {
"type": "string",
"description": "This is a 256-bit hash value. It's essentially a part of the proof-of-work mechanism used in Ethereum to secure the blockchain. This hash is derived from the mixing of various components of the block, including the nonce, timestamp, previous block's hash, and more.",
"example": "0x2f0790c5aa31ab94195e1f6443d645af5b75c46c04fbf9911711198a0ce8fdda"
},
"DIFFICULTY": {
"type": "integer",
"description": "This indicates how hard it was to mine the block. It's adjusted based on the overall network's hash rate to maintain a consistent block generation rate.",
"example": 17163096064
},
"TOTAL_DIFFICULTY": {
"type": "integer",
"description": "This field accumulates the difficulty values of all previous blocks, providing a measure of the blockchain's security.",
"example": 51514445824
},
"SIZE": {
"type": "integer",
"description": "The size of the block in bytes. It includes all the data and metadata within the block.",
"example": 544
},
"BLOCK_TIME": {
"type": "integer",
"description": "The time taken in seconds between mining the previous and current block. It's an important metric for understanding the network's performance and stability.",
"example": 29
},
"EXTRA_DATA": {
"type": "string",
"description": "This allows miners to include arbitrary information in the block. It's often used to add contextual information or messages.",
"example": "\u0000Geth/v1.0.0-0cdc7647/linux/go1.4"
},
"GAS_LIMIT": {
"type": "integer",
"description": "The maximum amount of computational work a block can contain. Each transaction consumes a specific amount of gas, and this limit prevents abuse of the network's resources.",
"example": 5000
},
"GAS_USED": {
"type": "integer",
"description": "The total amount of gas consumed by all transactions in the block. It helps in understanding the efficiency of transactions.",
"example": 0
},
"TRANSACTION_COUNT": {
"type": "integer",
"description": "This indicates how many transactions are included in the block.",
"example": 0
},
"BASE_FEE_PER_GAS": {
"type": "integer",
"description": "The base fee for each unit of gas in transactions. It's part of Ethereum's fee market mechanism.",
"example": null
},
"WITHDRAWALS_ROOT": {
"type": "string",
"description": "The hash value that represents a data structure containing information about the withdrawals that occurred in the block.",
"example": null
}
},
"example": {},
"x-cc-api-group": "METADATA"
},
"TRANSACTIONS": {
"type": "array",
"description": "The current block transactions",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1022"
},
"HASH": {
"type": "string",
"description": "Block Transaction internal mapped hash",
"example": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
},
"TRANSACTION_TYPE": {
"type": "integer",
"description": "The EIP-2718 type of this transaction envelope",
"example": 0
},
"NONCE": {
"type": "integer",
"description": "The number of transactions made by the sender prior to this one encoded as hexadecimal. It prevents duplicate transactions and maintains order in the blockchain.",
"example": 0
},
"INDEX": {
"type": "integer",
"description": "The position of the transaction within the block. Helps in identifying the order of transactions in the block.",
"example": 0
},
"FROM_ADDRESS": {
"type": "string",
"description": "The address of the sender.",
"example": "0xa1e4380a3b1f749673e270229993ee55f35663b4"
},
"TO_ADDRESS": {
"type": "string",
"description": "The address of the recipient. Null when its a contract creation transaction",
"example": "0x5df9b87991262f6ba471f09758cde1c0fc1de734"
},
"VALUE": {
"type": "integer",
"description": "The amount of cryptocurrency being transferred from the sender to the recipient.",
"example": 31337
},
"GAS": {
"type": "integer",
"description": "The amount of computational work a transaction requires to be executed. This is used to determine the fees paid by the sender to incentivize miners to include the transaction in a block.",
"example": 21000
},
"GAS_PRICE": {
"type": "integer",
"description": "The price the sender is willing to pay for each unit of gas. Together with the gas limit, it determines the total fee for the transaction.",
"example": 50000000000000
},
"INPUT": {
"type": "string",
"description": "The data associated with the transaction, often used in smart contract interactions. It can contain parameters and instructions for contract execution.",
"example": "0x"
},
"RECEIPT_CUMULATIVE_GAS_USED": {
"type": "integer",
"description": "The total amount of gas used by the transaction and all preceding transactions within the same block.",
"example": 21000
},
"RECEIPT_GAS_USED": {
"type": "integer",
"description": "The amount of gas used specifically by the current transaction.",
"example": 21000
},
"RECEIPT_CONTRACT_ADDRESS": {
"type": "string",
"description": "This is the address created when a contract is deployed. The *TO* field should be null in this case.",
"example": null
},
"RECEIPT_ROOT": {
"type": "string",
"description": "Only transactions included in blocks before the Byzantium Hard Fork have this field, as it was replaced by the *STATUS* field.",
"example": null
},
"RECEIPT_STATUS": {
"type": "integer",
"description": "The status of a transaction is \"1\" if successful or \"0\" if it was a failure or reverted. Only transactions included in blocks post-Byzantium Hard Fork have this field.",
"example": 1
},
"MAX_FEE_PER_GAS": {
"type": "integer",
"description": "The maximum fee per gas unit that the sender is willing to pay for a transaction to be included promptly in a block.",
"example": null
},
"MAX_PRIORITY_FEE_PER_GAS": {
"type": "integer",
"description": "The maximum fee per gas unit that the sender is willing to pay for higher priority processing of the transaction.",
"example": null
},
"RECEIPT_EFFECTIVE_GAS_PRICE": {
"type": "integer",
"description": "The total base charge plus tip paid for each unit of gas.",
"example": 50000000000000
},
"ACCESS_LIST": {
"type": "array",
"description": "This causes a transaction to warm (i.e. pre-cache) another addresses state and the specified storage keys, Available on EIP-2930 transactions.",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1029"
},
"ADDRESS": {
"type": "string",
"description": "Internal mapped Block Transaction Access address state",
"example": "0xf"
},
"STORAGE_KEYS": {
"type": "array",
"description": "An array of storage keys associated with the address mentioned above. Storage keys are unique identifiers used to access data within a smart contract's storage on the blockchain. Smart contracts often store data in a key-value format, where the storage keys are used to retrieve specific values. ",
"example": [
"0xf"
],
"items": {
"type": "string"
}
}
}
}
},
"ECDSA_V": {
"type": "integer",
"description": "This is part of ECDSA (Elliptic Curve Digital Signature Algorithm) signature. This value helps to recover which public key was used to sign the transaction. Calculated as (CHAIN_ID * 2 + 35) or (CHAIN_ID * 2 + 36).",
"example": 28
},
"ECDSA_R": {
"type": "string",
"description": "This is part of ECDSA (Elliptic Curve Digital Signature Algorithm) signature. It is derived from the private key and the data to be signed.",
"example": "0x88ff6cf0fefd94db46111149ae4bfc179e9b94721fffd821d38d16464b3f71d0"
},
"ECDSA_S": {
"type": "string",
"description": "This is part of ECDSA (Elliptic Curve Digital Signature Algorithm) signature. It is derived from the private key and the data to be signed.",
"example": "0x45e0aff800961cfce805daef7016b9b675c137a6a41a548f7b60a3484c06a33a"
},
"Y_PARITY": {
"type": "string",
"description": "This is a recent addition from July 2023 and could be used instead of the ECDSA_V. ECDSA_V would be used for backward compatibility.",
"example": "0x0"
},
"TRACES": {
"type": "array",
"description": "The detailed records of the steps and interactions that occured during the execution of this transaction.",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1023"
},
"ID": {
"type": "string",
"description": "This is a unique identifier generated by combining the root trace type + transaction hash + trace addresses if available",
"example": "call_0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
},
"TRACE_TYPE": {
"type": "string",
"description": "The type of trace being recorded. It could be either \"call\", \"reward\", \"suicide\", \"create\", etc. depending on the type of action being traced",
"example": "call"
},
"ADDRESS": {
"type": "array",
"description": "This represents the address associated with the trace. This could refer to the contract address, external user address, or any other relevant address in the context of the blockchain transaction",
"example": [],
"items": {
"type": "string"
}
},
"ACTION_FROM": {
"type": "string",
"description": "This specifies the sender's address initiating the action",
"example": "0xa1e4380a3b1f749673e270229993ee55f35663b4"
},
"ACTION_TO": {
"type": "string",
"description": "This specifies the recipient's address receiving the action, which could be a contract or an external address.",
"example": "0x5df9b87991262f6ba471f09758cde1c0fc1de734"
},
"ACTION_AUTHOR": {
"type": "string",
"description": "This specifies the sender's address that initiated or triggered a specific action within a transaction. It identifies the entity or account responsible for the action, such as a user or a smart contract.",
"example": "0xdd2f1e6e498202e86d8f5442af596580a4f03c2c"
},
"ACTION_REWARD_TYPE": {
"type": "string",
"description": "The type of reward associated with the action, which might include mining rewards, staking rewards, or other types of incentives.",
"example": null
},
"ACTION_VALUE": {
"type": "string",
"description": "The value or amount of cryptocurrency involved in the action. This is particularly important for actions like transactions where cryptocurrency is transferred.",
"example": "5000000000000000000"
},
"ACTION_INPUT": {
"type": "string",
"description": "The input data for the action (encoded in hexadecimal). For contract calls, this data includes function signatures and parameters.",
"example": "0x"
},
"RESULT_OUTPUT": {
"type": "string",
"description": "The output data produced by the action (encoded in hexadecimal), often used for reading the results of a contract call.",
"example": "0x"
},
"ACTION_CALL_TYPE": {
"type": "string",
"description": "The type of call made, such as \"call\", \"delegate call\", or \"static call\". This is relevant when one contract invokes another.",
"example": "call"
},
"ACTION_GAS": {
"type": "string",
"description": "The gas cost of executing the action. Gas is a measure of computational effort required for executing transactions and contract calls on the blockchain network.",
"example": "0"
},
"RESULT_GAS_USED": {
"type": "string",
"description": "The amount of gas actually consumed by the action during execution. This can be compared with the initial gas estimate to measure efficiency.",
"example": "0"
},
"SUBTRACES": {
"type": "integer",
"description": "Indicates the number of subtraces created as a result of the action. Subtraces are typically generated when a complex transaction or contract call triggers multiple internal calls.",
"example": null
},
"ERROR": {
"type": "string",
"description": "Records any errors encountered during the execution of the action, providing information about the nature of the error. Example: *Reverted* or *invalid opcode*.",
"example": null
},
"STATUS": {
"type": "string",
"description": "The overall status of the trace. Common values include \"1\" which means success and \"0\" which means failure, indicating whether the action was executed without errors.",
"example": "1"
}
}
}
},
"LOGS": {
"type": "array",
"description": "The chronological records of all activities such as transaction executions, contract interactions, errors, and changes that occur within a blockchain network.",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1024"
},
"ADDRESS": {
"type": "string",
"description": "The address of the contract or account that generated the log entry. It serves as an identifier for the source of the event or action that triggered the log.",
"example": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
},
"INDEX": {
"type": "integer",
"description": "The position of the log entry within the sequence of logs generated by a transaction. It's usually an incremental integer starting from 0 for the first log in a transaction. This field helps in distinguishing and organizing logs generated during a transaction.",
"example": 0
},
"DATA": {
"type": "string",
"description": "This contains the arbitrary data associated with the log entry. This data can vary depending on the specific smart contract and event that generated the log. It might include relevant information about the state change or action represented by the log.",
"example": "0x0000000000000000000000000000000000000000000000013125faba00000000"
},
"TOPICS": {
"type": "array",
"description": "An array of one or more indexed event topics. These topics are hash values of event signatures or indexed arguments. They provide a way to filter and search for specific types of events within the logs efficiently.",
"example": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x0000000000000000000000007054b0f980a7eb5b3a6b3446f3c947d80162775c",
"0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80"
],
"items": {
"type": "string"
}
},
"REMOVED": {
"type": "boolean",
"description": "A a boolean indicator that signals whether the log entry has been removed or undone due to a chain reorganization or a consensus rule change. It helps applications differentiate between active and reverted logs. It is \"true\" if log was removed, otherwise false.",
"example": false
}
}
}
}
}
},
"example": [],
"x-cc-api-group": "TRANSACTIONS"
},
"ORPHAN_TRACES": {
"type": "array",
"description": "Block traces not linked to a transaction",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1023"
},
"ID": {
"type": "string",
"description": "This is a unique identifier generated by combining the root trace type + transaction hash + trace addresses if available",
"example": "call_0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
},
"TRACE_TYPE": {
"type": "string",
"description": "The type of trace being recorded. It could be either \"call\", \"reward\", \"suicide\", \"create\", etc. depending on the type of action being traced",
"example": "call"
},
"ADDRESS": {
"type": "array",
"description": "This represents the address associated with the trace. This could refer to the contract address, external user address, or any other relevant address in the context of the blockchain transaction",
"example": [],
"items": {
"type": "string"
}
},
"ACTION_FROM": {
"type": "string",
"description": "This specifies the sender's address initiating the action",
"example": "0xa1e4380a3b1f749673e270229993ee55f35663b4"
},
"ACTION_TO": {
"type": "string",
"description": "This specifies the recipient's address receiving the action, which could be a contract or an external address.",
"example": "0x5df9b87991262f6ba471f09758cde1c0fc1de734"
},
"ACTION_AUTHOR": {
"type": "string",
"description": "This specifies the sender's address that initiated or triggered a specific action within a transaction. It identifies the entity or account responsible for the action, such as a user or a smart contract.",
"example": "0xdd2f1e6e498202e86d8f5442af596580a4f03c2c"
},
"ACTION_REWARD_TYPE": {
"type": "string",
"description": "The type of reward associated with the action, which might include mining rewards, staking rewards, or other types of incentives.",
"example": null
},
"ACTION_VALUE": {
"type": "string",
"description": "The value or amount of cryptocurrency involved in the action. This is particularly important for actions like transactions where cryptocurrency is transferred.",
"example": "5000000000000000000"
},
"ACTION_INPUT": {
"type": "string",
"description": "The input data for the action (encoded in hexadecimal). For contract calls, this data includes function signatures and parameters.",
"example": "0x"
},
"RESULT_OUTPUT": {
"type": "string",
"description": "The output data produced by the action (encoded in hexadecimal), often used for reading the results of a contract call.",
"example": "0x"
},
"ACTION_CALL_TYPE": {
"type": "string",
"description": "The type of call made, such as \"call\", \"delegate call\", or \"static call\". This is relevant when one contract invokes another.",
"example": "call"
},
"ACTION_GAS": {
"type": "string",
"description": "The gas cost of executing the action. Gas is a measure of computational effort required for executing transactions and contract calls on the blockchain network.",
"example": "0"
},
"RESULT_GAS_USED": {
"type": "string",
"description": "The amount of gas actually consumed by the action during execution. This can be compared with the initial gas estimate to measure efficiency.",
"example": "0"
},
"SUBTRACES": {
"type": "integer",
"description": "Indicates the number of subtraces created as a result of the action. Subtraces are typically generated when a complex transaction or contract call triggers multiple internal calls.",
"example": null
},
"ERROR": {
"type": "string",
"description": "Records any errors encountered during the execution of the action, providing information about the nature of the error. Example: *Reverted* or *invalid opcode*.",
"example": null
},
"STATUS": {
"type": "string",
"description": "The overall status of the trace. Common values include \"1\" which means success and \"0\" which means failure, indicating whether the action was executed without errors.",
"example": "1"
}
}
},
"example": [],
"x-cc-api-group": "ORPHAN_TRACES"
},
"UNCLES": {
"type": "array",
"description": "The current block uncles",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1027"
}
}
},
"example": [],
"x-cc-api-group": "UNCLES"
},
"WITHDRAWALS": {
"type": "array",
"description": "The current block withdrawals",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1028"
},
"INDEX": {
"type": "integer",
"description": "The unique identifier or index associated with a blockchain withdrawal transaction. It helps in keeping track of individual withdrawals and organizing them in a sequential or ordered manner.",
"example": 1
},
"VALIDATOR_INDEX": {
"type": "integer",
"description": "The identifier of the validator or node that approved or validated the withdrawal transaction. In proof-of-stake or similar consensus mechanisms, validators play a crucial role in ensuring the legitimacy of transactions, and this field ties a withdrawal to a specific validator.",
"example": 145205
},
"ADDRESS": {
"type": "string",
"description": "The destination address to which the withdrawn cryptocurrency is being sent. This address is usually a cryptographic public key or a combination of alphanumeric characters that uniquely identifies the recipient's wallet or account on the blockchain.",
"example": "0xf7c6c5d35cc24beeed0c93ff2acb6f7f3e2b89aa"
},
"AMOUNT": {
"type": "integer",
"description": "The quantity of cryptocurrency being withdrawn in the transaction. It specifies the numerical value of the cryptocurrency units being transferred from the withdrawal source to the recipient's address.",
"example": 13106144
},
"UNIT": {
"type": "string",
"description": "The type of cryptocurrency being withdrawn. It could be a symbol or code that represents the specific cryptocurrency asset being transferred, such as \"BTC\" for Bitcoin or \"GWEI\" for Ethereum.",
"example": "GWEI"
}
}
},
"example": [],
"x-cc-api-group": "WITHDRAWALS"
}
}
},
"BNB_FULL_BLOCK": {
"type": "object",
"x-visible-in-ai": true,
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1025",
"x-cc-api-group": "ID"
},
"ASSET_ID": {
"type": "integer",
"description": "The unique identifier for the asset the field is associated to.",
"example": 2,
"x-cc-api-group": "ID"
},
"SYMBOL": {
"type": "string",
"description": "Internal mapped symbol for a specific asset",
"example": "ETH",
"x-cc-api-group": "ID"
},
"PROVIDER_KEY": {
"type": "string",
"description": "Internal mapped Blockchain provider key for a specific asset",
"example": "cc_nethermind",
"x-cc-api-group": "ID"
},
"CHAIN_ID": {
"type": "integer",
"description": "This is the Id of the blockchain",
"example": 1
},
"IS_PART_OF_REORG": {
"type": "boolean",
"description": "Is this block part of a reorg? this would happen when we get block reorgs due to a longer chain being published by some of the miners.",
"example": false,
"x-cc-api-group": "ID"
},
"NUMBER": {
"type": "integer",
"description": "The current block number",
"example": 46147,
"x-cc-api-group": "ID"
},
"TIMESTAMP": {
"type": "number",
"description": "The current block timestamp",
"example": 1438918233,
"x-cc-api-group": "ID"
},
"RECEIVED_TIMESTAMP": {
"type": "number",
"description": "The current block received timestamp",
"example": 1672531200,
"x-cc-api-group": "ID"
},
"METADATA": {
"type": "object",
"description": "The current block full metadata",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1021"
},
"NUMBER": {
"type": "integer",
"description": "The sequential order of the block within the blockchain. Each block's number is one greater than the number of the previous block.",
"example": 2
},
"TIMESTAMP": {
"type": "number",
"description": "The exact time when the block was mined. It's a crucial piece of information for tracking the chronological order of blocks.",
"example": 1438270017
},
"HASH": {
"type": "string",
"description": "The unique identifier for the block, generated using cryptographic algorithms. It represents the content of the block and is used for verification and linking blocks together.",
"example": "0xb495a1d7e6663152ae92708da4843337b958146015a2802f4193a410044698c9"
},
"PARENT_HASH": {
"type": "string",
"description": "The hash of the previous block in the blockchain. It establishes the chronological link between blocks.",
"example": "00x88e96d4537bea4d9c05d12549907b32561d3bf31f45aae734cdc119f13406cb6xf"
},
"NONCE": {
"type": "string",
"description": "This is a random number used in the process of mining. It's combined with other block data to create a hash that meets specific mining criteria.",
"example": "0xb853fa261a86aa9e"
},
"SHA3_UNCLES": {
"type": "string",
"description": "This stores the hash of the block's uncles, which are valid blocks that were not included in the main blockchain but can provide additional rewards to miners.",
"example": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
"LOGS_BLOOM": {
"type": "string",
"description": "This is a data structure that represents the presence of log entries in the block's transactions. It's used for efficient retrieval of logs associated with transactions.",
"example": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
},
"TRANSACTIONS_ROOT": {
"type": "string",
"description": "The hash of the root node of the Merkle tree that organizes the transactions in the block. It enables quick verification of included transactions.",
"example": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
},
"STATE_ROOT": {
"type": "string",
"description": "This hash represents the state of the blockchain after all transactions in the block have been executed. It's used to ensure the consistency of the blockchain's state.",
"example": "0x4943d941637411107494da9ec8bc04359d731bfd08b72b4d0edcbd4cd2ecb341"
},
"RECEIPTS_ROOT": {
"type": "string",
"description": "This is similar to the transactions root, the receipts root hash is the root of a Merkle tree, but it stores the receipts of transactions, including information about their success or failure.",
"example": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421"
},
"MINER": {
"type": "string",
"description": "This specifies the address of the miner who successfully mined the block. This miner is rewarded with cryptocurrency for their effort.",
"example": "0xdd2f1e6e498202e86d8f5442af596580a4f03c2c"
},
"MIX_HASH": {
"type": "string",
"description": "This is a 256-bit hash value. It's essentially a part of the proof-of-work mechanism used in Ethereum to secure the blockchain. This hash is derived from the mixing of various components of the block, including the nonce, timestamp, previous block's hash, and more.",
"example": "0x2f0790c5aa31ab94195e1f6443d645af5b75c46c04fbf9911711198a0ce8fdda"
},
"DIFFICULTY": {
"type": "integer",
"description": "This indicates how hard it was to mine the block. It's adjusted based on the overall network's hash rate to maintain a consistent block generation rate.",
"example": 17163096064
},
"TOTAL_DIFFICULTY": {
"type": "integer",
"description": "This field accumulates the difficulty values of all previous blocks, providing a measure of the blockchain's security.",
"example": 51514445824
},
"SIZE": {
"type": "integer",
"description": "The size of the block in bytes. It includes all the data and metadata within the block.",
"example": 544
},
"BLOCK_TIME": {
"type": "integer",
"description": "The time taken in seconds between mining the previous and current block. It's an important metric for understanding the network's performance and stability.",
"example": 29
},
"EXTRA_DATA": {
"type": "string",
"description": "This allows miners to include arbitrary information in the block. It's often used to add contextual information or messages.",
"example": "\u0000Geth/v1.0.0-0cdc7647/linux/go1.4"
},
"GAS_LIMIT": {
"type": "integer",
"description": "The maximum amount of computational work a block can contain. Each transaction consumes a specific amount of gas, and this limit prevents abuse of the network's resources.",
"example": 5000
},
"GAS_USED": {
"type": "integer",
"description": "The total amount of gas consumed by all transactions in the block. It helps in understanding the efficiency of transactions.",
"example": 0
},
"TRANSACTION_COUNT": {
"type": "integer",
"description": "This indicates how many transactions are included in the block.",
"example": 0
},
"BASE_FEE_PER_GAS": {
"type": "integer",
"description": "The base fee for each unit of gas in transactions. It's part of Ethereum's fee market mechanism.",
"example": null
},
"WITHDRAWALS_ROOT": {
"type": "string",
"description": "The hash value that represents a data structure containing information about the withdrawals that occurred in the block.",
"example": null
}
},
"example": {},
"x-cc-api-group": "METADATA"
},
"TRANSACTIONS": {
"type": "array",
"description": "The current block transactions",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1022"
},
"HASH": {
"type": "string",
"description": "Block Transaction internal mapped hash",
"example": "0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
},
"TRANSACTION_TYPE": {
"type": "integer",
"description": "The EIP-2718 type of this transaction envelope",
"example": 0
},
"NONCE": {
"type": "integer",
"description": "The number of transactions made by the sender prior to this one encoded as hexadecimal. It prevents duplicate transactions and maintains order in the blockchain.",
"example": 0
},
"INDEX": {
"type": "integer",
"description": "The position of the transaction within the block. Helps in identifying the order of transactions in the block.",
"example": 0
},
"FROM_ADDRESS": {
"type": "string",
"description": "The address of the sender.",
"example": "0xa1e4380a3b1f749673e270229993ee55f35663b4"
},
"TO_ADDRESS": {
"type": "string",
"description": "The address of the recipient. Null when its a contract creation transaction",
"example": "0x5df9b87991262f6ba471f09758cde1c0fc1de734"
},
"VALUE": {
"type": "integer",
"description": "The amount of cryptocurrency being transferred from the sender to the recipient.",
"example": 31337
},
"GAS": {
"type": "integer",
"description": "The amount of computational work a transaction requires to be executed. This is used to determine the fees paid by the sender to incentivize miners to include the transaction in a block.",
"example": 21000
},
"GAS_PRICE": {
"type": "integer",
"description": "The price the sender is willing to pay for each unit of gas. Together with the gas limit, it determines the total fee for the transaction.",
"example": 50000000000000
},
"INPUT": {
"type": "string",
"description": "The data associated with the transaction, often used in smart contract interactions. It can contain parameters and instructions for contract execution.",
"example": "0x"
},
"RECEIPT_CUMULATIVE_GAS_USED": {
"type": "integer",
"description": "The total amount of gas used by the transaction and all preceding transactions within the same block.",
"example": 21000
},
"RECEIPT_GAS_USED": {
"type": "integer",
"description": "The amount of gas used specifically by the current transaction.",
"example": 21000
},
"RECEIPT_CONTRACT_ADDRESS": {
"type": "string",
"description": "This is the address created when a contract is deployed. The *TO* field should be null in this case.",
"example": null
},
"RECEIPT_ROOT": {
"type": "string",
"description": "Only transactions included in blocks before the Byzantium Hard Fork have this field, as it was replaced by the *STATUS* field.",
"example": null
},
"RECEIPT_STATUS": {
"type": "integer",
"description": "The status of a transaction is \"1\" if successful or \"0\" if it was a failure or reverted. Only transactions included in blocks post-Byzantium Hard Fork have this field.",
"example": 1
},
"MAX_FEE_PER_GAS": {
"type": "integer",
"description": "The maximum fee per gas unit that the sender is willing to pay for a transaction to be included promptly in a block.",
"example": null
},
"MAX_PRIORITY_FEE_PER_GAS": {
"type": "integer",
"description": "The maximum fee per gas unit that the sender is willing to pay for higher priority processing of the transaction.",
"example": null
},
"RECEIPT_EFFECTIVE_GAS_PRICE": {
"type": "integer",
"description": "The total base charge plus tip paid for each unit of gas.",
"example": 50000000000000
},
"ACCESS_LIST": {
"type": "array",
"description": "This causes a transaction to warm (i.e. pre-cache) another addresses state and the specified storage keys, Available on EIP-2930 transactions.",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1029"
},
"ADDRESS": {
"type": "string",
"description": "Internal mapped Block Transaction Access address state",
"example": "0xf"
},
"STORAGE_KEYS": {
"type": "array",
"description": "An array of storage keys associated with the address mentioned above. Storage keys are unique identifiers used to access data within a smart contract's storage on the blockchain. Smart contracts often store data in a key-value format, where the storage keys are used to retrieve specific values. ",
"example": [
"0xf"
],
"items": {
"type": "string"
}
}
}
}
},
"ECDSA_V": {
"type": "integer",
"description": "This is part of ECDSA (Elliptic Curve Digital Signature Algorithm) signature. This value helps to recover which public key was used to sign the transaction. Calculated as (CHAIN_ID * 2 + 35) or (CHAIN_ID * 2 + 36).",
"example": 28
},
"ECDSA_R": {
"type": "string",
"description": "This is part of ECDSA (Elliptic Curve Digital Signature Algorithm) signature. It is derived from the private key and the data to be signed.",
"example": "0x88ff6cf0fefd94db46111149ae4bfc179e9b94721fffd821d38d16464b3f71d0"
},
"ECDSA_S": {
"type": "string",
"description": "This is part of ECDSA (Elliptic Curve Digital Signature Algorithm) signature. It is derived from the private key and the data to be signed.",
"example": "0x45e0aff800961cfce805daef7016b9b675c137a6a41a548f7b60a3484c06a33a"
},
"Y_PARITY": {
"type": "string",
"description": "This is a recent addition from July 2023 and could be used instead of the ECDSA_V. ECDSA_V would be used for backward compatibility.",
"example": "0x0"
},
"TRACES": {
"type": "array",
"description": "The detailed records of the steps and interactions that occured during the execution of this transaction.",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1023"
},
"ID": {
"type": "string",
"description": "This is a unique identifier generated by combining the root trace type + transaction hash + trace addresses if available",
"example": "call_0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
},
"TRACE_TYPE": {
"type": "string",
"description": "The type of trace being recorded. It could be either \"call\", \"reward\", \"suicide\", \"create\", etc. depending on the type of action being traced",
"example": "call"
},
"ADDRESS": {
"type": "array",
"description": "This represents the address associated with the trace. This could refer to the contract address, external user address, or any other relevant address in the context of the blockchain transaction",
"example": [],
"items": {
"type": "string"
}
},
"ACTION_FROM": {
"type": "string",
"description": "This specifies the sender's address initiating the action",
"example": "0xa1e4380a3b1f749673e270229993ee55f35663b4"
},
"ACTION_TO": {
"type": "string",
"description": "This specifies the recipient's address receiving the action, which could be a contract or an external address.",
"example": "0x5df9b87991262f6ba471f09758cde1c0fc1de734"
},
"ACTION_AUTHOR": {
"type": "string",
"description": "This specifies the sender's address that initiated or triggered a specific action within a transaction. It identifies the entity or account responsible for the action, such as a user or a smart contract.",
"example": "0xdd2f1e6e498202e86d8f5442af596580a4f03c2c"
},
"ACTION_REWARD_TYPE": {
"type": "string",
"description": "The type of reward associated with the action, which might include mining rewards, staking rewards, or other types of incentives.",
"example": null
},
"ACTION_VALUE": {
"type": "string",
"description": "The value or amount of cryptocurrency involved in the action. This is particularly important for actions like transactions where cryptocurrency is transferred.",
"example": "5000000000000000000"
},
"ACTION_INPUT": {
"type": "string",
"description": "The input data for the action (encoded in hexadecimal). For contract calls, this data includes function signatures and parameters.",
"example": "0x"
},
"RESULT_OUTPUT": {
"type": "string",
"description": "The output data produced by the action (encoded in hexadecimal), often used for reading the results of a contract call.",
"example": "0x"
},
"ACTION_CALL_TYPE": {
"type": "string",
"description": "The type of call made, such as \"call\", \"delegate call\", or \"static call\". This is relevant when one contract invokes another.",
"example": "call"
},
"ACTION_GAS": {
"type": "string",
"description": "The gas cost of executing the action. Gas is a measure of computational effort required for executing transactions and contract calls on the blockchain network.",
"example": "0"
},
"RESULT_GAS_USED": {
"type": "string",
"description": "The amount of gas actually consumed by the action during execution. This can be compared with the initial gas estimate to measure efficiency.",
"example": "0"
},
"SUBTRACES": {
"type": "integer",
"description": "Indicates the number of subtraces created as a result of the action. Subtraces are typically generated when a complex transaction or contract call triggers multiple internal calls.",
"example": null
},
"ERROR": {
"type": "string",
"description": "Records any errors encountered during the execution of the action, providing information about the nature of the error. Example: *Reverted* or *invalid opcode*.",
"example": null
},
"STATUS": {
"type": "string",
"description": "The overall status of the trace. Common values include \"1\" which means success and \"0\" which means failure, indicating whether the action was executed without errors.",
"example": "1"
}
}
}
},
"LOGS": {
"type": "array",
"description": "The chronological records of all activities such as transaction executions, contract interactions, errors, and changes that occur within a blockchain network.",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1024"
},
"ADDRESS": {
"type": "string",
"description": "The address of the contract or account that generated the log entry. It serves as an identifier for the source of the event or action that triggered the log.",
"example": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
},
"INDEX": {
"type": "integer",
"description": "The position of the log entry within the sequence of logs generated by a transaction. It's usually an incremental integer starting from 0 for the first log in a transaction. This field helps in distinguishing and organizing logs generated during a transaction.",
"example": 0
},
"DATA": {
"type": "string",
"description": "This contains the arbitrary data associated with the log entry. This data can vary depending on the specific smart contract and event that generated the log. It might include relevant information about the state change or action represented by the log.",
"example": "0x0000000000000000000000000000000000000000000000013125faba00000000"
},
"TOPICS": {
"type": "array",
"description": "An array of one or more indexed event topics. These topics are hash values of event signatures or indexed arguments. They provide a way to filter and search for specific types of events within the logs efficiently.",
"example": [
"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"0x0000000000000000000000007054b0f980a7eb5b3a6b3446f3c947d80162775c",
"0x0000000000000000000000006b75d8af000000e20b7a7ddf000ba900b4009a80"
],
"items": {
"type": "string"
}
},
"REMOVED": {
"type": "boolean",
"description": "A a boolean indicator that signals whether the log entry has been removed or undone due to a chain reorganization or a consensus rule change. It helps applications differentiate between active and reverted logs. It is \"true\" if log was removed, otherwise false.",
"example": false
}
}
}
}
}
},
"example": [],
"x-cc-api-group": "TRANSACTIONS"
},
"ORPHAN_TRACES": {
"type": "array",
"description": "Block traces not linked to a transaction",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1023"
},
"ID": {
"type": "string",
"description": "This is a unique identifier generated by combining the root trace type + transaction hash + trace addresses if available",
"example": "call_0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"
},
"TRACE_TYPE": {
"type": "string",
"description": "The type of trace being recorded. It could be either \"call\", \"reward\", \"suicide\", \"create\", etc. depending on the type of action being traced",
"example": "call"
},
"ADDRESS": {
"type": "array",
"description": "This represents the address associated with the trace. This could refer to the contract address, external user address, or any other relevant address in the context of the blockchain transaction",
"example": [],
"items": {
"type": "string"
}
},
"ACTION_FROM": {
"type": "string",
"description": "This specifies the sender's address initiating the action",
"example": "0xa1e4380a3b1f749673e270229993ee55f35663b4"
},
"ACTION_TO": {
"type": "string",
"description": "This specifies the recipient's address receiving the action, which could be a contract or an external address.",
"example": "0x5df9b87991262f6ba471f09758cde1c0fc1de734"
},
"ACTION_AUTHOR": {
"type": "string",
"description": "This specifies the sender's address that initiated or triggered a specific action within a transaction. It identifies the entity or account responsible for the action, such as a user or a smart contract.",
"example": "0xdd2f1e6e498202e86d8f5442af596580a4f03c2c"
},
"ACTION_REWARD_TYPE": {
"type": "string",
"description": "The type of reward associated with the action, which might include mining rewards, staking rewards, or other types of incentives.",
"example": null
},
"ACTION_VALUE": {
"type": "string",
"description": "The value or amount of cryptocurrency involved in the action. This is particularly important for actions like transactions where cryptocurrency is transferred.",
"example": "5000000000000000000"
},
"ACTION_INPUT": {
"type": "string",
"description": "The input data for the action (encoded in hexadecimal). For contract calls, this data includes function signatures and parameters.",
"example": "0x"
},
"RESULT_OUTPUT": {
"type": "string",
"description": "The output data produced by the action (encoded in hexadecimal), often used for reading the results of a contract call.",
"example": "0x"
},
"ACTION_CALL_TYPE": {
"type": "string",
"description": "The type of call made, such as \"call\", \"delegate call\", or \"static call\". This is relevant when one contract invokes another.",
"example": "call"
},
"ACTION_GAS": {
"type": "string",
"description": "The gas cost of executing the action. Gas is a measure of computational effort required for executing transactions and contract calls on the blockchain network.",
"example": "0"
},
"RESULT_GAS_USED": {
"type": "string",
"description": "The amount of gas actually consumed by the action during execution. This can be compared with the initial gas estimate to measure efficiency.",
"example": "0"
},
"SUBTRACES": {
"type": "integer",
"description": "Indicates the number of subtraces created as a result of the action. Subtraces are typically generated when a complex transaction or contract call triggers multiple internal calls.",
"example": null
},
"ERROR": {
"type": "string",
"description": "Records any errors encountered during the execution of the action, providing information about the nature of the error. Example: *Reverted* or *invalid opcode*.",
"example": null
},
"STATUS": {
"type": "string",
"description": "The overall status of the trace. Common values include \"1\" which means success and \"0\" which means failure, indicating whether the action was executed without errors.",
"example": "1"
}
}
},
"example": [],
"x-cc-api-group": "ORPHAN_TRACES"
},
"UNCLES": {
"type": "array",
"description": "The current block uncles",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1027"
}
}
},
"example": [],
"x-cc-api-group": "UNCLES"
},
"WITHDRAWALS": {
"type": "array",
"description": "The current block withdrawals",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "1028"
},
"INDEX": {
"type": "integer",
"description": "The unique identifier or index associated with a blockchain withdrawal transaction. It helps in keeping track of individual withdrawals and organizing them in a sequential or ordered manner.",
"example": 1
},
"VALIDATOR_INDEX": {
"type": "integer",
"description": "The identifier of the validator or node that approved or validated the withdrawal transaction. In proof-of-stake or similar consensus mechanisms, validators play a crucial role in ensuring the legitimacy of transactions, and this field ties a withdrawal to a specific validator.",
"example": 145205
},
"ADDRESS": {
"type": "string",
"description": "The destination address to which the withdrawn cryptocurrency is being sent. This address is usually a cryptographic public key or a combination of alphanumeric characters that uniquely identifies the recipient's wallet or account on the blockchain.",
"example": "0xf7c6c5d35cc24beeed0c93ff2acb6f7f3e2b89aa"
},
"AMOUNT": {
"type": "integer",
"description": "The quantity of cryptocurrency being withdrawn in the transaction. It specifies the numerical value of the cryptocurrency units being transferred from the withdrawal source to the recipient's address.",
"example": 13106144
},
"UNIT": {
"type": "string",
"description": "The type of cryptocurrency being withdrawn. It could be a symbol or code that represents the specific cryptocurrency asset being transferred, such as \"BTC\" for Bitcoin or \"GWEI\" for Ethereum.",
"example": "GWEI"
}
}
},
"example": [],
"x-cc-api-group": "WITHDRAWALS"
}
}
}
}
},
"tags": [
{
"x-id": "introduction",
"name": "Introduction",
"x-summary-seo": "The CCData API provides access to our industry leading digital asset data. Our REST API allows straightforward access on a request-by-request basis, and we recommend it for almost all use cases.",
"x-icon": "book-open",
"x-expanded": true,
"x-endpoint-groups": [],
"description": "Navigating the intricate corridors of the **digital asset industry**, our CCData Digital Asset API emerges as a paragon of **reliability**, **precision**, and **unparalleled efficiency**. We've interwoven our **rich legacy** of data prowess with **state-of-the-art technology** to provide users with **seamless access** to the world of financial data. Whether you're an institutional investor, an emerging startup, or a tech enthusiast, our API serves as your trusted compass in the ever-evolving digital asset space.\n\nHarnessing the **dynamism of REST**, our API offers a user-friendly gateway to fetch specific data requests, seamlessly integrating with a multitude of platforms and tools. Delve deep into the exhaustive catalog of exchanges and instruments under the CCData umbrella, or extract precise historical metrics tailored to your unique needs. Our commitment is reflected not just in the depth of our offerings but also in the breadth of use cases we cater to.\n\nFurthermore, our dedication to security and data integrity is paramount. We're proud to be **ISO 27001 certified**, reflecting our unwavering commitment to implementing the **highest international standards of information security**, and this certification underscores our dedication to safeguarding your data, offering you an additional layer of confidence and trust in our services. While ISO 27001 certification sets our global standard for information security, it's worth noting that **our practices align with the principles of SOC2** as well. Both these frameworks focus on securing information and ensuring data integrity. Although they may differ in specific requirements and procedures, the core objectives are closely aligned, providing a robust and comprehensive security posture that emphasizes trust and reliability in our services.\n\n## Highlighted Features & Offerings:\n\nEvery aspect of our API, from rate limiting based on user subscription levels to our transparent error reporting, reflects a meticulous design philosophy. We don't just provide data; we craft stories, insights, and narratives that empower your financial journey.\n\n- **Comprehensive Data Depth and Connectivity**: Our data coverage is unparalleled, encompassing centralized spot, futures, and options integrations. With extensive asset data, up-to-the-minute news, revealing social metrics, and insightful on-chain metrics – all intricately linked by our instrument mapping, we provide a holistic view into the world of digital assets, including DeFi. This comprehensive approach ensures users access an interconnected web of information, vital for informed decision-making.\n- **Precision, Quality and Reliability at Its Core**: Whether it's obtaining the latest reference price for a list of assets or venturing into historical order book snapshots, our API ensures impeccable accuracy.\n- **Unmatched Versatility**: Transition seamlessly between the ‘Min API’ and ‘Data API’, each optimized for distinct needs, but both reflecting our hallmark of quality.\n- **Best Support in the Industry**: Our illustrious legacy is not just built on technology but also on the unwavering support we extend to our users. Challenges, queries, or insights – we're here, always. Beyond the conventional, our in-house support team is equipped with an extensive array of tools to handle the most common concerns and requests. But what truly sets us apart is our hands-on approach. When circumstances demand, our developers and product specialists don’t hesitate to jump on a call, ensuring every query is resolved with expertise and a personal touch.\n- **Interface Consistency**: Our interface's consistency ensures that users can effortlessly retrieve and analyze data, all the paramters and response formats are cleary defined and consistent.\n- **Multiple Exchanges Access**: Easily pull data from multiple exchanges (spot, futures, options, defi) without the hassle.\n- **Unified Format**: No need to navigate different data formats; we offer a seamless experience across the board.\n- **Standardized Instrument Mapping**: This guarantees that the data fetched matches exactly with the instrument specified by the user. As a result, it eradicates any ambiguities or inconsistencies related to asset listings, such as SYMBOL/TICKER and NAME, across exchanges.\n- **Tailored Rate Limiting**: Depending on your subscription tier, our API provides varying rate limits, ensuring an optimized experience for every user. To keep you always informed, we offer tools for you to check your remaining limits and usage, ensuring clarity at every step.\n- **Clear API Responses**: Our API is meticulous, providing all responses in the universally accepted JSON format. Yet, for those who need it, some endpoints grant access to CSV response formats, accommodating varied needs with grace.\n- **Transparent & Informative Error Handling**: We understand the need for clarity, especially when things don't go as planned. Our error responses are detailed, with an 'Err' response field to guide users to potential solutions. Paired with response status codes, troubleshooting becomes an effortless endeavor.\n- **Up to date API Status**: Stay abreast of our API's health, uptime stats, and more through our dedicated status page. From latency metrics to previous updates, we believe in full transparency, ensuring you're never in the dark.\n- **We Are Always Our First Customer**: Before any feature or update reaches you, it's **tested** and **integrated** into **our own workflows**. As our first and most critical user, we ensure that our tools and systems meet the high standards we set for ourselves. This **\"eat your own dog food\"** philosophy not only **showcases our belief in our products but also ensures that when you use them**, they have already passed the stringent tests of continuous internal use.\n\n## Essential Guidelines and Considerations for API Usage\n\n- **Data Update Frequency**: Data on all the endpoints is continuously updated; however, users should be mindful of potential delays depending on the data source (centrazlied exchnages APIs, on-chain data, news, etc) and data complexity. Real-time data may have slight latency depending on network conditions.\n- **Rate Limiting**: To maintain optimal performance and service availability, users must adhere to the rate limiting guidelines provided further down in this document. Exceeding these limits may result in temporary access restrictions.\n- **Compliance with Legal Regulations**: Users are responsible for compliance with all applicable laws and regulations pertaining to the use and dissemination of blockchain and digital asset data in their respective jurisdictions.\n- **Data Interpretation**: Our endpoints offer an unparalleled depth of understanding; however, users should be well-versed in blockchain and finanical markets concepts to accurately interpret and utilize the data provided.\n- **Third-Party Data Sources**: While we strive for accuracy and authenticity by complementing our data with trusted third-party sources, users should be aware that we cannot guarantee the completeness or accuracy of data derived from external providers.\n- **Potential Costs and Licensing**: Depending on the subscription level and usage, additional costs may apply. Be aware of any applicable licensing terms and agreements.\n- **Robust Data Integration**: Ensure that the data integration with your application is robust, taking advantage of our standardized instrument mapping and unified formats. Your integration will remain resilient as our Versioning and Deprecation Policy guarantees that changes to data structures or parameters occur only in new versions of endpoints, allowing for stable integration with existing versions.\n- **Privacy Considerations**: Be mindful of privacy regulations and best practices when utilizing personal or sensitive data in conjunction with our API, aligning your use with relevant legal and ethical standards.\n- **Availability and Redundancy**: Understand that while we strive to provide maximum uptime, unexpected outages may occur. Implement fallback mechanisms to handle such scenarios.\n- **Versioning and Deprecation Policy**: CCData may introduce new versions of endpoints, deprecating old ones. Deprecated endpoints will continue to function with no changes to data structures or parameters, and their documentation will be moved to the Deprecated Section of the product list.\n\n## Authentication and Security\n\nEnsuring the secure and efficient interaction with the CCData Digital Asset API is paramount to us. We've designed our authentication methods to provide both speed and safety in every interaction.\n\nWhen accessing the CryptoCompare data API, there are several methods to authenticate your requests, each with its own benefits, allowing flexibility depending on your integration needs:\n\n- **Query Parameter**: You can append your API key directly to the URL of your request as follows: `https://data-api.cryptocompare.com/index/cc/v1/latest/tick?market=ccix&instruments=BTC-USD&api_key={YOUR_API_KEY_HERE}`. This method is straightforward and easy to test, as you can simply paste the URL into a browser or a tool like cURL to make a request.\n- **Authorization Header**: Alternatively, you can send your API key in the header of your HTTP request. **As a Bearer Token**: `Authorization: Bearer {YOUR_API_KEY_HERE}` or as a Custom API Key Header: `Authorization: Apikey {YOUR_API_KEY_HERE}`. Using headers is a common practice that keeps the API key from being displayed in the URL, which could be a security enhancement.\n- **X-API-Key Header**: Lastly, you have the option to use a dedicated header: `x-api-key: {YOUR_API_KEY_HERE}`. This is a simple and clean way to include your API key and is especially useful when you have to set up multiple headers and want to keep them clearly organized.\n\nChoose the method that best fits your application's architecture and security protocols. Each method is designed to provide secure, effective authentication with minimal hassle.\n\n**Easy Authentication** with **Uncompromising Security**:\n\n- **Protecting Your API Key**: Keep your API key private and avoid placing it in publicly accessible locations such as client-side code (e.g., JavaScript within a web page), public repositories on platforms like GitHub, or shared documents on cloud services. Storing the API key in a secure server environment or using environment variables is recommended to maintain confidentiality and prevent unauthorized access.\n- **Secure Communication**: Utilize HTTPS for all API calls to ensure encrypted communication and protect sensitive information during transmission.\n- **Monitoring and Anomaly Detection**: Implement monitoring to detect any anomalous activity related to your API key or endpoints, notifying you of potentially unauthorized access. [You can monitor your use pattern here](/settings/api-keys).\n- **Revocation and Rotation**: Know the procedures for revoking and rotating API keys if there is suspicion of compromised security, ensuring continuity and integrity of service. [You have full controls to remove or add a new API keys in the api-keys user section](/settings/api-keys).\n\n## Always Available Support\n\nWhether you have queries, face challenges, or seek deeper insights, our [dedicated support team is just a click away](https://support.ccdata.io/hc/en-gb/requests/new), eager to assist and guide. \n\nOur **Enterprise plans** provide **24-hour email and Slack support** access, with direct communication links to our developers and product owners, reflecting our core belief that **'We all succeed together'**. This mantra drives every endeavor, emphasizing collective growth and collaboration as the keystones to true success in the digital asset industry—a global industry where **markets never sleep**. Even though we're based in the UK, we recognize that your journey through this ever-evolving space should not be hindered by your timezone or location. Thus, our support infrastructure at CCData is as widespread as the industry we serve, offering **24-hour support** and **on-call engineers during office hours**, with best efforts out of hours in situations of extreme urgency.\n\nWith our always-available support, we guarantee a seamless experience, reflecting the global and timeless nature of the industry we serve. **Trust us to be your steadfast companion, around the clock, around the globe**.\n\n## A Transparent Approach to Rate Limiting:\n\nIn the ever-evolving realm of digital assets, we understand the importance of **simplicity and clarity**. At CCData, we've adopted an **intuitive approach** to rate limiting, focusing on **individual API calls** rather than the often **perplexing credit system**. This ensures a **straightforward experience for our users**, devoid of any ambiguities. \n\n**Each API call** you make, irrespective of its complexity or the data it retrieves, is **counted uniformly**. This approach ensures not only ease of understanding but also greater transparency in monitoring your usage. With CCData, you're always aware of your consumption, empowering you to make informed decisions without getting entangled in the intricacies of credit calculations. **Our commitment remains unwavering: to deliver an experience that's as seamless as it is transparent**.\n\nYou can readily verify your rate limit by visiting our [Rate Limit Verification Endpoint](/documentation/data-api/admin_v1_rate_limit). While this action consumes one of your rate limit calls, there's no cause for concern. All our API responses are equipped with a range of headers that offer detailed insights into your rate limiting status:\n\n- **X-Ratelimit-Limit**: Represents the maximum number of requests you are allowed to make within a specified time frame. It sets the upper boundary, ensuring users are aware of their allowed API usage capacity.\n- **X-Ratelimit-Remaining**: Provides a real-time tally of how many more requests you can make during the current rate limit window. It's an essential tool for gauging your immediate request pacing.\n- **X-Ratelimit-Remaining-All**: Gives users a comprehensive view by showing the cumulative number of requests remaining across all endpoints. It's a broader gauge, ensuring that you always have a holistic picture of your available request bandwidth.\n- **X-Ratelimit-Reset**: Informs users about when the current rate limit window will reset, clarifying when a new set of requests can commence.\n- **X-Ratelimit-Reset-All**: Conveys the universal reset time for all your rate-limited endpoints. This consolidated timer helps with overall strategic planning and resource allocation across different API functions.\n\nCollectively, these headers are designed to ensure users can transparently track, manage, and effectively optimize their API requests, eliminating unintentional rate limit overruns.\n\n## CCSEQ for Unmatched Reliability\n\nOur **CCSEQ (CCData Sequence)** sets a new standard in the field of digital asset data provision, sharply distinguishing us from other data providers. Here's an insight into how CCSEQ functions and why it's integral to our and your operations:\n\n- **Sequential Design**: CCSEQ's **gapless**, **always-increasing numerical value**, in a **sequential order**, ensures continuity across transactions, independent of the original generation time of trades or messages.\n- **Efficient Non-Chronological Handling**: CCSEQ's non-chronological methodology circumvents constant reordering, overcoming network delays and timestamp discrepancies, maintaining efficiency and consistency without time-of-occurrence limitations.\n- **Accuracy and Integrity**: The validation process for each CCSEQ incrementation is rigorous. Even in exceptional cases where a message is processed and found INVALID — a detection made by our research and data analysts — the CCSEQ stays unchanged, protecting the sequence's integrity.\n- **Reliable Integration & Processing**: The CCSEQ architecture's flexibility facilitates the integration of missed or out-of-sequence messages, ensuring accuracy and reliability, and satisfying intricate data processing demands without sacrificing integrity.\n- **Enhanced User Experience**: Within the CCSEQ system, specific endpoints divide valid messages into the Data response array and invalid ones into the Warn array. This design assures a smooth experience for users, devoid of any CCSEQ sequence gaps.\n\nBy employing the innovative CCSEQ system, we uphold stringent precision and robustness in our data management, boosting the dependability of digital asset data streams. The application of CCSEQ emphasizes our devotion to supplying uninterrupted and error-tolerant service, confirming that every processed piece of data adds to a consistent and exhaustive technical insight into the digital asset market.\n\n## Versioning and Deprecation Policy\n\nDocumentation is available for both the CCDATA 'Min API' and 'Data API'. You can toggle between the documentation for each of these with the drop down in the top left of the page. The Data API is CCDATA’s currently supported API platform - all endpoints have the base url [https://data-api.cryptocompare.com](https://data-api.cryptocompare.com/). \n\nThe **Data API** will **provide access** to all of the **newest products and data types**, and we **recommend** its use to all new API users. While some of the endpoints might be available without an API_KEY (for ease of access by decentralized apps)\n\nThe **Min API** gives options for both a REST and Websocket connection. The Data API currently only consists of a REST API with a websocket coming soon. \n\nPeriodically, wel will make changes and updates to the functionality of certain endpoints, which could result in a new version of the endpoint becoming available for use. In these cases, the old version will become deprecated and replaced in the documentation by the new version. Any deprecated endpoints will continue to function as they initially did with no changes. Documentation on functionality for these deprecated endpoints will all still be available, but will be moved to the [Deprecated Section](/documentation/data-api/deprecated) of the product list.\n\n**Important Advisory on Deprecated Endpoints**: While we are dedicated to promoting a decentralized ecosystem and enhancing user accessibility (by ocasionally allowing IP Rate limits on some endpoints), it's crucial to note that endpoints will switch to **api_key**-only access one month after their deprecation date. For those already utilizing an **api_key**, this change will have no impact and they should focus on migrating to the new endpoints. This shift is designed to uphold the integrity and reliability of our service offerings. If you are currently relying on deprecated endpoints, we strongly recommend either integrating an api_key within this one-month timeframe or migrating to the new version to ensure continuous, uninterrupted access to the data you require.\n\n## Stand Tall with CCData\n\nAmidst the vast expanse of the financial world, let the **CCData Digital Asset API** be your beacon, illuminating the path with **clarity**, **reliability**, and **unmatched efficiency**. Dive into our comprehensive documentation, explore our diverse features, and stride forward with confidence. We're not just a service provider; we're your trusted partner in the digital asset realm. **Join us, and redefine your digital asset exploration**."
},
{
"x-id": "index_cc",
"name": "Reference Rates",
"x-summary-seo": "Our reference rates endpoints (indices) give you the ability to access both real-time and historical data for a specific digital asset index, either for one asset or for a basket of assets",
"x-icon": "calculator",
"x-expanded": true,
"x-endpoint-groups": [
{
"x-id": "index_cc_v1_latest",
"x-name": "Latest Tick",
"paths": [
"/index/cc/v1/latest/tick"
]
},
{
"x-id": "index_cc_v1_historical",
"x-name": "Historical OHLCV+",
"paths": [
"/index/cc/v1/historical/days",
"/index/cc/v1/historical/hours",
"/index/cc/v1/historical/minutes"
]
},
{
"x-id": "index_cc_v1_historical_days_ccda",
"x-name": "DA Fixings",
"paths": [
"/index/cc/v1/historical/days/ccda"
]
},
{
"x-id": "index_cc_v1_historical_message",
"x-name": "Historical Messages",
"paths": [
"/index/cc/v1/historical/messages",
"/index/cc/v1/historical/messages/hour"
]
},
{
"x-id": "index_cc_v1_latest_instrument_metadata",
"x-name": "Instrument Metadata",
"paths": [
"/index/cc/v1/latest/instrument/metadata"
]
},
{
"x-id": "index_cc_v1_markets",
"x-name": "Markets",
"paths": [
"/index/cc/v1/markets"
]
},
{
"x-id": "index_cc_v1_markets_instrument",
"x-name": "Markets + Instruments",
"paths": [
"/index/cc/v1/markets/instruments",
"/index/cc/v1/markets/instruments/unmapped"
]
}
],
"description": "Our **In-House Indices and Reference Rates** endpoints stand as an **emblem of precision** and **expertise** in the **financial data** landscape. They encompass a unique blend of innovation and detailed scrutiny, offering an array of methodologies to meet diverse demands. Leveraging our numerous data integrations, our indices offer both cutting-edge insights and a comprehensive view into historical trends. Esteemed names from the index industry, who are our valued clients, bear testimony to our excellence in this domain. Further amplifying our portfolio are over **200 bespoke indices**, each masterfully curated, maintained, and periodically rebalanced to mirror specific market sentiments. To further enhance reliability, each index update is tagged with our proprietary CCSEQ (CCData Sequence). This allows users to consistently and reliably track every index update.\n\n**Two prime exemplars of our indices are the CCIX and the CADLI**:\n\n- **CCIX (Previously CCCAGG)**: A sterling example of our dedication to excellence is the CCIX, which has the distinction of being recognized by the Financial Conduct Authority (FCA). It's a testament to the index's integrity, reliability, and conformance to global standards, making it a trusted choice for a multitude of financial endeavors. This is our frirst index that we build in 2014.\n- **CADLI (CCData Adaptive Diversified Liquidity Index)**: Engineered for precision in the realm of digital asset price metrics, the CADLI stands at the intersection of sophisticated data analytics and financial engineering. This index is formulated by employing a volume-weighted methodology, ensuring robust price representation even in liquidity-challenged market scenarios. By integrating data across multiple markets and currencies it provides an optimized and agile USD price discovery mechanism for digital assets. CADLI’s architecture is predicated on the incorporation of both high-frequency trading volumes and microstructure market nuances. Its technical design ensures adaptability and high-resolution accuracy, making it indispensable in the ever-evolving landscape of digital assets.\n\nThe **depth** and **breadth** of our **in-house indices** go beyond generic benchmarks, positioning them as **essential tools** for any **financial endeavor**. These indices are more than just numbers; they are comprehensive stories of market behaviors, trends, and potentials.\n\n## Key Features\n\n- **Real-time Data Insights**: Obtain immediate values, peaks, troughs, and volume details for any chosen digital asset index.\n- **Extensive Historical Archives**: Dive deep into the past, accessing data points like open, high, low, close, and volume metrics for tailored timeframes.\n- **Customized Bespoke Indices**: Choose from over 200 specially crafted indices, each designed to cater to unique market needs and segments.\n- **Expert-Endorsed Quality**: Our indices are trusted by some of the industry's leading names, reinforcing their credibility and utility.\n- **Market Trend Profiling**: Harness the data to identify emerging patterns, potential inflection points, and forecast market shifts.\n- **In-Depth Technical Analysis Tools**: Empower your trading strategies and analytical pursuits with granular and precise data insights.\n- **Diverse Methodological Approaches**: Benefit from our multifaceted methodologies that offer a holistic perspective on market movements and potentialities.\n\n## Use Cases\n\n- **Benchmarking and Performance Tracking**: Leverage our indices as reliable yardsticks to measure and compare the performance of individual or baskets of digital assets.\n- **Strategic Investment Planning**: Investors can use our comprehensive indices data to identify potential investment avenues and inform their strategies.\n- **Advanced Market Research**: Analysts can tap into our vast data reserves for intricate studies, evaluations, and predictive modeling.\n- **Customized Portfolio Management**: Fund managers can rely on our bespoke indices to craft and modify portfolios based on specific market segments or objectives.\n- **Regulatory Monitoring & Compliance**: With the granularity and precision of our data, regulatory bodies can efficiently oversee market practices, ensuring optimal transparency and fair play.\n- **Trading and Arbitrage Opportunities**: Active traders can identify and act on potential trading opportunities or arbitrage windows using our real-time and historical data.\n\nThe **In-House Indices** endpoints we present are the epitome of **accuracy**, **versatility**, and **practicality**, carved to **satisfy** the **sophisticated demands of today's financial professionals**. Emanating from **in-depth research** and our **reliable data sources**, we **deliver** data that is both genuine and comprehensive. **With innovations ranging from bespoke indices creation to multi-methodological data analysis, we've set new industry standards**. Whether you're a seasoned investor, a budding analyst, or a regulatory body, our offerings resonate with a broad spectrum of needs. Partner with us, and you're not just accessing data; you're tapping into a legacy of excellence in digital asset index analysis. Navigate the intricacies of the financial world with confidence, backed by our unmatched offerings."
},
{
"x-id": "spot",
"name": "Spot",
"x-summary-seo": "The Spot endpoints are precisely crafted to provide users with both real-time and historical data concerning digital asset valuations",
"x-icon": "btc",
"x-expanded": true,
"x-endpoint-groups": [
{
"x-id": "spot_v1_latest",
"x-name": "Latest Tick",
"paths": [
"/spot/v1/latest/tick"
]
},
{
"x-id": "spot_v1_historical",
"x-name": "Historical OHLCV+",
"paths": [
"/spot/v1/historical/days",
"/spot/v1/historical/hours",
"/spot/v1/historical/minutes"
]
},
{
"x-id": "spot_v1_historical_trade",
"x-name": "Historical Trades",
"paths": [
"/spot/v1/historical/trades",
"/spot/v1/historical/trades/hour"
]
},
{
"x-id": "spot_v1_historical_orderbook",
"x-name": "Historical Order Book",
"paths": [
"/spot/v1/historical/orderbook/l2/snapshot/minute"
]
},
{
"x-id": "spot_v1_latest_instrument_metadata",
"x-name": "Instrument Metadata",
"paths": [
"/spot/v1/latest/instrument/metadata"
]
},
{
"x-id": "spot_v1_markets",
"x-name": "Markets",
"paths": [
"/spot/v1/markets"
]
},
{
"x-id": "spot_v1_markets_instrument",
"x-name": "Markets + Instruments",
"paths": [
"/spot/v1/markets/instruments",
"/spot/v1/markets/instruments/unmapped"
]
}
],
"description": "The **Spot** endpoints are precisely crafted to provide users with both **real-time** and **historical data** concerning **digital asset valuations**. This data comes directly from centralized exchanges. Our interface's consistency ensures that users can **effortlessly retrieve** and **analyze** data from **multiple exchanges** **without** having to navigate **different formats**.\n\nOne of our standout features is the **standardized instrument mapping**. This guarantees that the data fetched matches exactly with the instrument specified by the user. As a result, it eradicates any ambiguities or inconsistencies related to asset listings, such as SYMBOL/TICKER and NAME, across exchanges.\n\nWe get each **spot trade** parsing, **deduplicating**, **analyzing**, and **processing** it, ensuring a **breadth** and **accuracy** that is **second to none**. Due to this unique approach, **the spot dataset available through our API is richer than what one would get by connecting directly to exchanges**.\n\nWith real-time links to both **streaming** and **query-based endpoints** from spot exchanges, we ensure **comprehensive** and **prompt data acquisition**. Consequently, users benefit from a dataset that is not only richer but also more current than what's typically available from exchanges. To further enhance reliability, each trade is tagged with our proprietary CCSEQ (CCData Sequence). This allows users to consistently and reliably track every trade.\n\nWe also carefully compute **L1** and **L2 order book** metrics from each **order book update**, painting a clearer picture of market depth in the spot industry.\n\n## Key Features\n- **Immediate Trade Capture**: By connecting to both streaming and polling endpoints on exchanges, we guarantee the swift acquisition of trade data.\n- **Trade-Processed Spot Metrics**: We derive spot metrics directly from individual trades, ensuring data depth and granularity.\n- **Order Book Metrics (L1 & L2)**: We provide in-depth Level 1 (L1) and Level 2 (L2) order book metrics, constructed upon each order book update, offering a multi-dimensional view of market dynamics.\n- **Enhanced Historical Data Access**: Our meticulous trade processing yields a superior suite of historical data, encompassing metrics like open, high, low, close, total volume, volume by trade side and number of trades by trade side.\n- **Standardized Instrument Mapping**: Precision remains our cornerstone, ensuring data retrieval matches the user-specified instrument across all exchanges.\n- **CCSEQ for Trade Reliability**: Each trade is enriched with a unique CCSEQ, ensuring users can track trades without omissions or overlaps. \n- **Performance Metrics**: Users can discern nuanced trajectories of digital assets, enriched by our trade-centric data approach.\n- **In-depth Market Trend Analysis**: Our trade-centric dataset grants sharper insights into market dynamics and potential pivot points.\n- **Advanced Technical Analysis**: You can harness the power of our uniquely curated dataset for even more intricate analytical metrcis.\n\n\n## Use Cases\n- **Market Analysis Platform Development**: Leveraging our Spot endpoints, developers can build sophisticated digital asset market analysis platforms that pull data from multiple exchanges with ease, thanks to the standardized instrument mapping.\n- **Asset Management**: Portfolio managers can use our platform to fetch real-time and historical data, aiding in their asset allocation decisions by understanding market depth, trends, and performance metrics.\n- **Digital Asset Trading**: Traders can gain a competitive edge by accessing our granular trade-processed metrics, utilizing both L1 & L2 order book insights, and ensuring they're always up-to-date with our immediate trade capture feature.\n- **Risk Management**: Institutions can mitigate risks by using our endpoints to monitor market volatility, study market depth, and analyze trade reliability using the CCSEQ.\n- **Research and Reporting**: Analysts and researchers can exploit our rich dataset to produce detailed market reports, examining the trajectory of digital assets and forecasting market movements.\n- **Regulatory and Compliance Monitoring**: With our detailed trade capture and unique CCSEQ for each trade, regulatory bodies and compliance teams can audit and track transactions consistently across exchanges, ensuring transparency.\n- **Arbitrage Opportunities**: By analyzing L1 & L2 order book metrics across various exchanges in real-time, traders can spot and exploit arbitrage opportunities more efficiently.\n- **Integration into Existing Financial Platforms**: Financial institutions looking to integrate digital asset data into their platforms can do so seamlessly with our unified interface, saving on development time and ensuring data accuracy.\n\nOur **Spot** endpoints are meticulously engineered to be a **premier resource** for accessing and **analyzing digital asset valuations** from centralized exchanges. We **prioritize precision**, **depth**, and **user-friendliness**, resulting in an offering that **stands out in both richness and reliability**. Our features, ranging from trade-centric metrics to standardized instrument mapping, cater to a diverse array of use cases. Whether you're an individual trader, a portfolio manager, a researcher, or a regulatory body, our platform ensures that your data-driven requirements in the digital asset landscape are met with utmost accuracy and comprehensiveness. By integrating our Spot endpoints, users and institutions alike can gain an edge in the rapidly evolving world of digital assets, ensuring informed decision-making and superior outcomes."
},
{
"x-id": "futures",
"name": "Futures",
"x-summary-seo": "The Futures endpoints are engineered to provide users with real-time and historical data.",
"x-icon": "balance-scale",
"x-expanded": true,
"x-endpoint-groups": [
{
"x-id": "futures_v1_latest",
"x-name": "Latest Tick",
"paths": [
"/futures/v1/latest/tick"
]
},
{
"x-id": "futures_v1_historical",
"x-name": "Historical OHLCV+",
"paths": [
"/futures/v1/historical/days",
"/futures/v1/historical/hours",
"/futures/v1/historical/minutes"
]
},
{
"x-id": "futures_v1_historical_trade",
"x-name": "Historical Trades",
"paths": [
"/futures/v1/historical/trades",
"/futures/v1/historical/trades/hour"
]
},
{
"x-id": "futures_v1_latest_open_interest",
"x-name": "Latest Tick (OI)",
"paths": [
"/futures/v1/latest/open-interest/tick"
]
},
{
"x-id": "futures_v1_historical_open_interest",
"x-name": "Historical OHLCV+ (OI)",
"paths": [
"/futures/v1/historical/open-interest/days",
"/futures/v1/historical/open-interest/hours",
"/futures/v1/historical/open-interest/minutes"
]
},
{
"x-id": "futures_v1_historical_open_interest_message",
"x-name": "Historical Messages (OI)",
"paths": [
"/futures/v1/historical/open-interest-messages",
"/futures/v1/historical/open-interest-messages/hour"
]
},
{
"x-id": "futures_v1_latest_funding_rate",
"x-name": "Latest Tick (FR)",
"paths": [
"/futures/v1/latest/funding-rate/tick"
]
},
{
"x-id": "futures_v1_historical_funding_rate",
"x-name": "Historical OHLCV+ (FR)",
"paths": [
"/futures/v1/historical/funding-rate/days",
"/futures/v1/historical/funding-rate/hours",
"/futures/v1/historical/funding-rate/minutes"
]
},
{
"x-id": "futures_v1_historical_funding_rate_message",
"x-name": "Historical Messages (FR)",
"paths": [
"/futures/v1/historical/funding-rate-messages/hour",
"/futures/v1/historical/funding-rate-messages"
]
},
{
"x-id": "futures_v1_latest_instrument_metadata",
"x-name": "Instrument Metadata",
"paths": [
"/futures/v1/latest/instrument/metadata"
]
},
{
"x-id": "futures_v1_markets",
"x-name": "Markets",
"paths": [
"/futures/v1/markets"
]
},
{
"x-id": "futures_v1_markets_instrument",
"x-name": "Markets + Instruments",
"paths": [
"/futures/v1/markets/instruments",
"/futures/v1/markets/instruments/unmapped"
]
}
],
"description": "The **Futures endpoints** are engineered to provide users with **real-time** and **historical data**. This data originates from the world's leading futures exchanges, ensuring authenticity and relevance. The **uniformity** of our interface means that users can **seamlessly pull** and **compare** data from different exchanges **without confronting varied data structures**.\n\nA notable highlight is our uniform instrument mapping. This ensures that the data retrieved aligns perfectly with the instrument users have designated. Thus, uncertainties or discrepancies concerning futures contract identifiers, like SYMBOL/TICKER, CONTRACT_CURRENCY, CONTRACT_SIZE, UNDERLYING_CURRENCY or CONTRACT NAME, across exchanges are a non-issue.\n\nWe get each **futures trade**, **open interest update** and **funding rate update**, parsing, **deduplicating**, **analyzing**, and **processing** them, ensuring a **breadth** and **accuracy** that is **second to none**. Due to this unique approach, the **futures dataset available through our API is richer than what one would get by connecting directly to exchanges**.\n\nWith data links to both **streaming** and **query-based endpoints** from futures exchanges, we ensure **comprehensive** and **prompt data acquisition**. You can enjoy access to data that is not only detailed but also more immediate than typically available directly from exchanges. Every futures trade, open interest update and funding rate update is enriched with our unique CCSEQ (CCData Sequence) for seamless tracking.\n\nWe also carefully compute **L1** and **L2 order book** metrics from each **order book update**, painting a clearer picture of **market depth** in the futures industry.\n\n## Key Features\n* **Prompt Trade, Open Interest and Funding Rate Recording**: Through connections to streaming and polling endpoints on futures exchanges, we ensure rapid and comprehensive data capture.\n* **Trade Refined Futures Metrics**: Metrics derived straight from individual futures trades, providing unparalleled depth and precision.\n* **Open Interest Refined Futures Metrics**: Metrics derived straight from individual futures open interest updates, providing unparalleled depth and precision.\n* **Funding Rate Refined Futures Metrics**: Metrics derived straight from individual futures funding rate updates, providing unparalleled depth and precision.\n* **Order Book Metrics (L1 & L2)**: Delve deep with Level 1 (L1) and Level 2 (L2) order book metrics, built upon every order book update, showcasing the intricacies of market movements.\n* **Extensive Historical Data Access**: Owing to our exhaustive trade processing, users have a premium set of historical data that covers metrics like contract open, high, low, close, total volume, volume by trade side, number of trades by trade side and total contract volume.\n* **Uniform Instrument Mapping**: Accuracy and data qulity is our mantra, ensuring every data point retrieved aligns perfectly with user-input specifications across all exchanges.\n* **CCSEQ for Trade Consistency**: Each futures trade boasts a unique CCSEQ, granting users the ability to track each trade's journey with no gaps or repeats.\n* **Performance Indices**: Understand the potential paths of futures contracts, enriched by our comprehensive data methodology.\n* **Detailed Market Momentum Analysis**: Our data ensures a clearer understanding of market shifts, helping identify possible inflection points.\n* **Sophisticated Technical Projections**: Benefit from our exclusive data for intricate future-centric analysis.\n\n## Use Cases\n* **Futures Analysis Platform Creation**: Using our Futures endpoints, developers can sculpt advanced futures market analysis platforms, extracting data from varied exchanges effortlessly due to uniform instrument mapping.\n* **Hedge Fund Operations**: Fund managers can utilize our suite to access real-time/historical data, facilitating informed hedging and speculation based on market depth and performance metrics.\n* **Digital Asset Futures Trading**: Traders can wield our granular, trade-processed insights, tapping into L1 & L2 order book data, and staying a step ahead with our prompt trade recording.\n* **Risk Strategy Formulation**: Institutions can calibrate risk with our endpoints, tracking market swings, understanding market depth, and using CCSEQ for trade reliability.\n* **Investigation and Forecasting**: Market analysts and researchers can utilize our enriched dataset for in-depth futures market analysis and predictive endeavors.\n* **Regulatory Oversight and Compliance**: Owing to our detailed trade capture and the unique CCSEQ for each futures trade, monitoring bodies can consistently oversee and audit transactions, ensuring utmost transparency.\n* **Arbitrage Ventures**: Traders can spot and capitalize on arbitrage possibilities across exchanges by scrutinizing real-time L1 & L2 order book metrics.\n* **Merging with Traditional Financial Ecosystems**: Organizations aiming to assimilate futures data into their operations can effortlessly do so with our standardized interface, cutting down on integration timelines and guaranteeing data precision.\n\nThe **Futures endpoints** we offer stand at the forefront of **precision**, **breadth**, and **utility**, meticulously designed to cater to the **intricate needs of futures data consumers**. Sourcing from leading global futures exchanges, our platform ensures authenticity, depth, and timely data, packaged in a consistent and user-friendly manner. Through innovations like **uniform instrument mapping** and our **proprietary CCSEQ**, we've **eliminated** traditional **pain points** of discrepancies and tracking challenges. Coupled with our refined futures metrics spanning trades, open interests, and funding rates, users are empowered with unmatched insights. From hedge fund managers to regulatory bodies, our platform's adaptability addresses a wide range of use cases. With us, you're not just accessing futures data; you're unlocking a holistic, accurate, and efficient experience in futures market analysis. Dive into the future of futures data with confidence, backed by our unparalleled offerings."
},
{
"x-id": "options",
"name": "Options",
"x-summary-seo": "The Options endpoints are engineered to provide users with real-time and historical data.",
"x-icon": "exchange",
"x-expanded": true,
"x-endpoint-groups": [
{
"x-id": "options_v1_latest",
"x-name": "Latest Tick",
"paths": [
"/options/v1/latest/tick"
]
},
{
"x-id": "options_v1_historical",
"x-name": "Historical OHLCV+",
"paths": [
"/options/v1/historical/days",
"/options/v1/historical/hours",
"/options/v1/historical/minutes"
]
},
{
"x-id": "options_v1_historical_trade",
"x-name": "Historical Trades",
"paths": [
"/options/v1/historical/trades",
"/options/v1/historical/trades/hour"
]
},
{
"x-id": "options_v1_latest_open_interest",
"x-name": "Latest Tick (OI)",
"paths": [
"/options/v1/latest/open-interest/tick"
]
},
{
"x-id": "options_v1_historical_open_interest",
"x-name": "Historical OHLCV+ (OI)",
"paths": [
"/options/v1/historical/open-interest/days",
"/options/v1/historical/open-interest/hours",
"/options/v1/historical/open-interest/minutes"
]
},
{
"x-id": "options_v1_historical_open_interest_message",
"x-name": "Historical Messages (OI)",
"paths": [
"/options/v1/historical/open-interest-messages",
"/options/v1/historical/open-interest-messages/hour"
]
},
{
"x-id": "options_v1_latest_instrument_metadata",
"x-name": "Instrument Metadata",
"paths": [
"/options/v1/latest/instrument/metadata"
]
},
{
"x-id": "options_v1_markets",
"x-name": "Markets",
"paths": [
"/options/v1/markets"
]
},
{
"x-id": "options_v1_markets_instrument",
"x-name": "Markets + Instruments",
"paths": [
"/options/v1/markets/instruments",
"/options/v1/markets/instruments/unmapped"
]
}
],
"description": "The **Options endpoints** are engineered to provide users with **real-time** and **historical data**. This data originates from the world's leading options exchanges, ensuring authenticity and relevance. Our interface's consistency ensures users can effortlessly fetch and juxtapose data from diverse exchanges without grappling with inconsistent data formats.\n\nA notable highlight is our **uniform instrument mapping**. This ensures that the data retrieved aligns perfectly with the instrument users have designated. Potential ambiguities or inconsistencies related to options contract markers such as SYMBOL, EXPIRATION_DATE, STRIKE_PRICE, CONTRACT_TYPE, and OPTION_STYLE across various exchanges become inconsequential.\n\nWe get each **option trade**, **open interest update** and **implied volatility update** parsing, **deduplicating**, **analyzing**, and **processing** them, ensuring a **breadth** and **accuracy** that is **second to none**. Due to this unique approach, the **options dataset available through our API is richer than what one would get by connecting directly to exchanges**.\n\nWith data links to both **streaming** and **query-based endpoints** from options exchanges, we ensure **comprehensive** and **prompt data acquisition**. Users gain access to insights that are not only profound but also speedier than those typically acquired directly from exchanges. Every option trade and open interest update is supplemented with our proprietary CCSEQ (CCData Sequence) for unbroken tracking.\n\nWe also carefully compute **L1** and **L2 order book** metrics from each **order book update**, painting a clearer picture of market **depth** in the options industry.\n\nFurthermore, we diligently compute advanced **Greek metrics** from each options update, providing an in-depth representation of market dynamics.\n\n## Key Features\n- **Instant Trade and Open Interest Recording**: Leveraging connections to real-time and query-based endpoints on options exchanges, our data collection is swift and all-inclusive.\n- **Trade Elaborate Options Metrics**: Determine metrics straight from individual options trades, offering unparalleled granularity and clarity.\n- **Detailed Intrinsic Value-Based Options Metrics**: Get direct accees to the difference between the underlying asset's price and the strike price of the option. For instance, if you have a call option with a strike price of $50, and the current stock price is $55, the intrinsic value is $5. (only available when the option is in the money)\n- **Comprehensive Extrinsic Value-Based Options Metrics**: Real-time and historical metrics on factors such as implied volatility, time left until expiration, interest rates, etc. It's also called time value since it can diminish as the option approaches its expiration date.\n- **Advanced Greek Metrics**: Explore in depth with comprehensive Greek metrics, founded on every options update, revealing market complexities.\n- **Order Book Metrics (L1 & L2)**: Delve deep with Level 1 (L1) and Level 2 (L2) order book metrics, built upon every order book update, showcasing the intricacies of market movements.\n- **Vast Historical Data Repository**: Benefit from our extensive processing capabilities, availing a rich array of historical data that includes metrics such as option open, high, low, close, volume, and implied volatility.\n- **Consistent Instrument Alignment**: Precision and data integrity is paramount, ensuring every dataset aligns flawlessly with user-defined parameters across all exchanges.\n- **CCSEQ for Trade Linearity**: Every option trade comes equipped with a unique CCSEQ, allowing users to trail each trade's trajectory without disruptions or repetitions.\n- **Performance Indicators**: Decode the prospective trajectories of option contracts, enriched by our robust data methodology.\n- **Comprehensive Market Momentum Analytics**: Leverage our data for an enhanced perception of market variations, pinpointing potential turning points.\n- **Advanced Technical Forecasts**: Tap into our data collection for sophisticated options-focused analysis.\n\n## Use Cases\n- **Options Analysis Platform Development**: Utilizing our Options endpoints, software developers can mold superior options market analysis platforms, effortlessly extracting data across various exchanges due to consistent instrument alignment.\n- **Portfolio Management**: Asset managers can employ our data suite to access real-time and historical insights, enabling informed strategies based on market dynamics and performance indicators.\n- **Equity Options Trading**: Traders can exploit our detailed, trade-processed intelligence, diving deep into advanced Greek metrics, and staying abreast with our immediate trade logging.\n- **Risk Mitigation Strategy Development**: Financial institutions can refine risk with our endpoints, gauging market oscillations, comprehending market dynamics, and leveraging CCESQ for consistent trade and open interest tracking.\n- **Research and Projection**: Analysts and market researchers can tap into our enriched database for comprehensive options market scrutiny and foresight.\n- **Regulatory Monitoring and Conformity**: With our granular trade logs and the distinct CCESQ for each option trade, regulators can consistently supervise and review transactions, ensuring paramount transparency.\n- **Options Arbitrage Opportunities**: By examining real-time advanced Greek metrics, traders can identify and leverage arbitrage opportunities across exchanges.\n- **Integration with Conventional Financial Infrastructures**: Entities looking to incorporate options data into their workflows can seamlessly do so with our standardized interface, reducing integration durations and ensuring data exactness.\n\nOur Options endpoints define **excellence**, **depth**, and **functionality**, tailored to meet the **sophisticated demands** of **options data specialists**. Drawing from the top global options exchanges, our platform guarantees reliablity, depth, and timely insights, packaged in a consistent and user-friendly manner. By pioneering features like **consistent instrument alignment** and our **proprietary CCSEQ**, we've **eliminated** traditional **pain points** of discrepancies and tracking challenges. Complemented by our **intricate options metrics** covering **trades**, **intrinsic** and **extrinsic values**, and the **Greeks**, users of our API receive **clear insights**. From portfolio managers to supervisory bodies, our platform's versatility addresses an array of applications. With us, you're not merely accessing options data; you're accessing comprehensive options market research. You can safely rely on our options data for in-depth insights."
},
{
"x-id": "futures_indices",
"name": "Futures Indices",
"x-summary-seo": "The Futures Indices endpoints are engineered to provide users with real-time and historical data.",
"x-icon": "balance-scale",
"x-expanded": true,
"x-endpoint-groups": [
{
"x-id": "index_v1_latest",
"x-name": "Latest Tick",
"paths": [
"/index/v1/latest/tick"
]
},
{
"x-id": "index_v1_historical",
"x-name": "Historical OHLCV+",
"paths": [
"/index/v1/historical/days",
"/index/v1/historical/hours",
"/index/v1/historical/minutes"
]
},
{
"x-id": "index_v1_historical_message",
"x-name": "Historical Messages",
"paths": [
"/index/v1/historical/messages",
"/index/v1/historical/messages/hour"
]
},
{
"x-id": "index_v1_latest_instrument_metadata",
"x-name": "Instrument Metadata",
"paths": [
"/index/v1/latest/instrument/metadata"
]
},
{
"x-id": "index_v1_markets",
"x-name": "Markets",
"paths": [
"/index/v1/markets"
]
},
{
"x-id": "index_v1_markets_instrument",
"x-name": "Markets + Instruments",
"paths": [
"/index/v1/markets/instruments",
"/index/v1/markets/instruments/unmapped"
]
}
],
"description": "The **Futures Indices endpoints** are meticulously crafted to offer users both **real-time** and **historical insight**s into the ever-evolving **futures indexes market**. Our data stems from leading global futures indices providers, ensuring authenticity and relevance.. The **uniformity** of our interface means that users can **seamlessly pull** and **compare** data from different exchanges **without confronting varied data structures**.\n\nOur standout feature is the **uniform index mapping**. Users can be assured that the data retrieved resonates perfectly with the index they've specified. Issues such as discrepancies in INDEX_NAME, UNDERLYING_ASSET, or QUOTE_CURRENCY are made obsolete.\n\nEach futures index update, including underlying values, number of messages, and OHLCV (Open, High, Low, Close, Volume) is obtained, parsed, and processed, offering an expanse and precision that's unparalleled. With our approach, the **futures indices dataset available through our API is richer than what one would get by connecting directly to exchanges**.\n\nOur connection to both **real-time streaming** and **query-based endpoints** assures **exhaustive** and **immediate data retrieval**. Every futures index update is enriched with a unique CCSEQ (CCData Sequence) for streamlined tracking.\n\nDiving deeper, we offer insights from every index update, offering users an in-depth view of the futures indices landscape.\n\n## Key Features\n\n- **Prompt Index Updates Recording**: With connections to real-time and query endpoints, we ensure swift and complete data collection.\n- **Underlying Values Metrics**: Metrics directly sourced from futures index updates, offering unmatched clarity and detail.\n- **OHLC Insights**: Delve into comprehensive metrics covering Open, High, Low, Close, and Number of Updates for each futures index.\n- **Broad Historical Data Access**: Our advanced data processing grants users a premium set of historical data, offering an unrivaled view into the past movements and trends.\n- **Uniform Index Mapping**: Every data point retrieved is in sync with user-defined criteria, ensuring consistency across all futures indices.\n- **CCSEQ for Consistent Tracking**: Every futures index update is tagged with a unique CCSEQ, ensuring seamless and gapless monitoring.\n- **Intuitive Data Visualization Tools**: Benefit from tools such as charts and graphs, facilitating sophisticated index analysis.\n\n## Use Cases\n\n- **Index Analysis Platform Development**: Developers can utilize our Futures Indices endpoints to craft intricate index market analysis platforms with ease due to our uniform index mapping.\n- **Portfolio Diversification**: Investors can use our detailed insights to make informed decisions on diversifying their portfolios based on index performance.\n- **Research and Predictive Analysis**: Analysts can harness our enriched data for comprehensive index market studies and forecasting.\n- **Regulatory Monitoring**: With our exhaustive capture of index data and the unique ISSEQ for each update, regulators can efficiently monitor and ensure transparency.\n- **Market Trend Identification**: Traders and investors can keep a pulse on market trends by observing real-time updates and historical data.\n- **Integration with Financial Platforms**: Enterprises aiming to incorporate index data into their workflows can smoothly do so, benefiting from our uniform interface and reducing integration hassles.\n\nThe **Futures Indices** endpoints we provide are the **gold standard in clarity**, **range**, and **functionality**. We've tailored them to meet the nuanced demands of futures indices clients. By **relying on top-tier futures indices** sources, we ensure **data of high caliber**, **breadth**, and **punctuality**, all encased in a **user-centric design**. Innovations such as **uniform index mapping** and our **signature CCSEQ** have **eradicated** traditional **challenges** of mismatches and tracking difficulties. From researchers to market analysts, our offerings cater to diverse requirements. When you're with us, you're not merely accessing index data; you're experiencing the zenith of futures indices market analysis. Step into the next level of futures indices knowledge, fortified by our unmatched solutions."
},
{
"x-id": "on_chain_dex",
"name": "On-Chain DEX",
"x-summary-seo": "The On-Chain DEX endpoints are engineered with exceptional detail to deliver users an unparalleled breadth of real-time and historical data, focused on decentralized digital asset exchanges.",
"x-icon": "link",
"x-expanded": true,
"x-endpoint-groups": [
{
"x-id": "onchain_v1_amm_latest_swap",
"x-name": "Latest Tick (Swap)",
"paths": [
"/onchain/v1/amm/latest/swap/tick"
]
},
{
"x-id": "onchain_v1_amm_historical_swap",
"x-name": "Historical OHLCV+ (Swap)",
"paths": [
"/onchain/v1/amm/historical/swap/days",
"/onchain/v1/amm/historical/swap/hours",
"/onchain/v1/amm/historical/swap/minutes"
]
},
{
"x-id": "onchain_v1_amm_historical_swap_message",
"x-name": "Historical Messages (Swap)",
"paths": [
"/onchain/v1/amm/historical/swap-messages",
"/onchain/v1/amm/historical/swap-messages/hour"
]
},
{
"x-id": "onchain_v1_amm_latest_liquidity_update",
"x-name": "Latest Tick (Liquidity)",
"paths": [
"/onchain/v1/amm/latest/liquidity-update/tick"
]
},
{
"x-id": "onchain_v1_amm_historical_liquidity_update",
"x-name": "Historical OHLCV+ (Liquidity)",
"paths": [
"/onchain/v1/amm/historical/liquidity-update/days",
"/onchain/v1/amm/historical/liquidity-update/hours",
"/onchain/v1/amm/historical/liquidity-update/minutes"
]
},
{
"x-id": "onchain_v1_amm_historical_liquidity_update_message",
"x-name": "Historical Messages (Liquidity)",
"paths": [
"/onchain/v1/amm/historical/liquidity-update-messages",
"/onchain/v1/amm/historical/liquidity-update-messages/hour"
]
},
{
"x-id": "onchain_v1_amm_latest_instrument_metadata",
"x-name": "Instrument Metadata",
"paths": [
"/onchain/v1/amm/latest/instrument/metadata"
]
},
{
"x-id": "onchain_v1_amm_markets",
"x-name": "Markets",
"paths": [
"/onchain/v1/amm/markets"
]
},
{
"x-id": "onchain_v1_amm_markets_instrument",
"x-name": "Markets + Instruments",
"paths": [
"/onchain/v1/amm/markets/instruments",
"/onchain/v1/amm/markets/instruments/unmapped"
]
}
],
"description": "The **On-Chain DEX** endpoints are engineered with exceptional detail to deliver users an unparalleled breadth of real-time and historical data, focused on **decentralized digital asset exchanges**. These endpoints grant direct access to **Automated Market Makers (AMMs) swaps** and **liquidity metrics** from multiple blockchains.\n\n**Automated Market Makers (AMMs)** are decentralized protocols that **allow digital assets to be traded in a permissionless and automatic way**. Instead of relying on traditional order books to match buyers and sellers, AMMs use algorithms and liquidity pools to facilitate trades, making them a cornerstone of the DeFi ecosystem.\n\nOur On-Chain DEX interface assures uniformity, allowing users to seamlessly access data from different decentralized platforms without grappling with varied formats. A unique feature that sets us apart is the standardized AMM Mapping—ensuring that fetched data aligns perfectly with the user-specified liquidity pair or trading protocol, thereby eliminating discrepancies across platforms.\n\nThe **On-Chain DEX integrations** perform detailed parsing, validation, and analysis of every transaction to produce an exceptionally rich dataset. Our granular approach ensures a quality of data that can't be achieved when pulling directly from a blockchain explorer. We utilize **real-time blockchain nodes** and **third-party backup blockchian data providers** and we acquire data both from the mempool and confirmed blocks, guaranteeing timely and exhaustive data collection. To fortify reliability, each transaction is tagged with a proprietary CCSEQ, letting users keep track of every transaction without omissions or overlaps.\n\n**Blockchain reorganizations** are inherently disruptive but are **a reality in decentralized networks**. Our system is designed to handle them seamlessly. Each swap and liquidity event is initially tagged with a 'PENDING' status until a sufficient number of confirmations (blocks) have passed. Should a reorg occur, we update the status of the affected swaps and liquidity events to 'INVALID'. We then process the reorged block, issue new unique On-chain Sequence IDs (CCSEQ) for the new messages, and update the derived data sets. On the **Ethereum network**, our system accommodates a **reorg size of up to 100 blocks** to ensure the highest level of data accuracy and reliability.\n\nWe leverage our own [asset endpoints](/documentation/data-api/onchain_v2_summary_by_chain) for the discovery of new assets and employ our dedicated [on-chain full block endpoints](/documentation/data-api/onchain_v1_block_2) and streaming integrations for real-time block processing. All data is stored unmapped, identified by a unique combination dex name, base asset address, quote asset address and chain asset ID. On the API endpoints, we map these raw values and apply the appropriate decimal point conversions to deliver end values that are both accurate and user-friendly.\n\n## Key Features\n\n- **Real-Time Transaction Capture**: With real-time blockchain intregrations, we ensure the immediate and comprehensive acquisition of on-chain data.\n- **AMM-Specific Metrics**: Detailed metrics are derived from AMM transactions, revealing depth, volume, and liquidity conditions.\n- **Standardized AMM Mapping**: Our rigorous standardization process assures that users obtain the exact data they request across multiple decentralized platforms.\n- **Enhanced Historical Data Access**: Leverage our expansive historical data, which includes metrics such as swaps, liquidity changes, and transaction fees.\n- **CCSEQ for Consistent Tracking**: Every on-chain swap and liquidity update is tagged with a unique CCSEQ, ensuring seamless and gapless monitoring.\n- **Comprehensive Liquidity Metrics**: Our endpoints provide vital information on liquidity pools, available liquidity, and slippage risks.\n\n## Use Cases\n\n- **Defi Analytics Platforms**: Utilize our On-Chain DEX endpoints to create robust analytics platforms capable of interpreting decentralized market activities.\n- **Asset Management**: Real-time and historical metrics can inform liquidity provisioning strategies for decentralized portfolio managers.\n- **Smart Contract Auditing**: Evaluate AMM swap effectiveness and smart contract interactions for auditing purposes.\n- **Risk Management**: Keep an eye on liquidity conditions to make informed decisions on risk mitigation in decentralized environments.\n- **Market Research**: Researchers can dive into our in-depth dataset for market reports, liquidity analysis, and trend forecasting.\n- **Regulatory and Compliance**: Use the CCSEQ to monitor and audit transactions across decentralized protocols, ensuring transparency.\n- **Arbitrage Opportunities**: Identify opportunities for decentralized arbitrage by analyzing liquidity and volume metrics.\n- **Financial Systems Integration**: Integrate our On-Chain DEX data into existing fintech platforms to expand their reach into decentralized markets.\n\nOur On-Chain DEX endpoints are meticulously designed to be the best resource for real-time and historical data from decentralized asset markets. We focus on granularity, reliability, and user-friendliness, offering features that serve a variety of use cases. By incorporating our On-Chain DEX endpoints, users gain an invaluable tool for understanding and participating in the fast-paced world of decentralized finance, ensuring accurate and comprehensive decision-making."
},
{
"x-id": "on_chain",
"name": "On-Chain Core",
"x-summary-seo": "The On-Chain Core endpoints are meticulously architected to provide users with both current and historical data concerning on-chain transactions and specific asset details",
"x-icon": "link",
"x-expanded": true,
"x-endpoint-groups": [
{
"x-id": "onchain_v1_block_2",
"x-name": "ETH: Full Block",
"paths": [
"/onchain/v1/block/2",
"/onchain/v1/block/2/raw"
]
},
{
"x-id": "onchain_v1_block_2_last",
"x-name": "ETH: Latest Block",
"paths": [
"/onchain/v1/block/2/last",
"/onchain/v1/block/2/raw/last"
]
},
{
"x-id": "onchain_v1_block_8",
"x-name": "BNB: Full Block",
"paths": [
"/onchain/v1/block/8",
"/onchain/v1/block/8/raw"
]
},
{
"x-id": "onchain_v1_block_8_last",
"x-name": "BNB: Latest Block",
"paths": [
"/onchain/v1/block/8/last",
"/onchain/v1/block/8/raw/last"
]
},
{
"x-id": "onchain_v2_summary_by_chain",
"x-name": "Asset: Summary By Chain",
"paths": [
"/onchain/v2/summary/by/chain"
]
},
{
"x-id": "onchain_v2_data_by_address",
"x-name": "Asset: By Smart Contract Address",
"paths": [
"/onchain/v2/data/by/address"
]
},
{
"x-id": "onchain_v2_historical_supply",
"x-name": "Historical: Supply",
"paths": [
"/onchain/v2/historical/supply/days"
]
}
],
"description": "The **On-Chain Core endpoints** are meticulously architected to provide users with both **real-time and historical data** concerning **on-chain transactions** and any other blockchain derived data. Our data is derived from the **blockchain nodes we operate**, complemented by **trusted third-party data sources**. This combination ensures enhanced **reliability**, **accuracy**, and **authenticity**. The cohesive design of our interface assures that users can conveniently extract and delve into comprehensive blockchain data without the hassle of navigating through varied data structures.\n\nA key feature of our On-Chain Core data is the asset metadata retrieval. Users get a complete view of tokens or blockchain assets, including details like identifier, symbol, name, and description based on a smart contract address. Our On-Chain endpoints also address questions about supported blockchain platforms, supply metrics, and last block information for an asset.\n\nDiving deeper into the blockchain universe, every piece of data, be it **full blocks**, **addresses**, **transactions**, **logs**, **traces**, or other on-chain details, undergoes thorough **processing** to present users with an **unparalleled depth** of understanding. Whether one is exploring the characteristics of specific tokens, blockchains, or simply satiating their intellectual curiosity, our On-Chain endpoints are the go-to destination for genuine and comprehensive blockchain insights.\n\nEmphasizing our commitment to a user-friendly experience, the on-chain blockchain URLs are meticulously organized around the blockchain asset ID (**/ochain/{endpoint_version}/block/{asset_id}**). For each blockchain we support, we provide four specialized endpoints: two dedicated to the latest blocks in either native or processed format, and two for retrieving a specific block based on the block number in native or processed format. This structuring aligns with our philosophy of precision, efficiency, and accessibility, ensuring that users can effortlessly interact with diverse blockchain data while maintaining the integrity and depth of information.\n\n## Key Features\n\n- **In-depth Block Analysis**: Gain comprehensive insights into full blocks, unveiling every transaction, log, and intricate detail within.\n- **Detailed Asset Metadata**: Seamlessly access critical information about tokens or blockchain assets, including their identifier, symbol, name, and description.\n- **Supported Blockchain Platforms Information**: Stay informed about the blockchain platforms supported by a specific asset.\n- **Real-time and Historical Supply Metrics**: Understand the evolution and current status of supply metrics for specific digital assets.\n- **Last Block Information**: Stay updated with the most recent block details for any given asset.\n\n## Use Cases\n\n- **Blockchain Research and Analysis**: Utilize our On-Chain Core endpoints for a deep dive into blockchain transactions, logs, and other details, serving as an invaluable tool for researchers and analysts.\n- **Asset Due Diligence**: Before investments or integrations, gather all essential metadata about a token or blockchain asset to ensure informed decision-making.\n- **Supply Chain Monitoring**: Monitor real-time and historical supply metrics, ensuring an understanding of asset liquidity and distribution over time.\n- **Integration into Blockchain Platforms**: Developers and institutions aiming to incorporate genuine on-chain data into their applications can easily tap into our endpoints, ensuring authentic and timely data.\n- **Educational Purposes**: For academicians, students, or enthusiasts wanting to understand the nitty-gritty of blockchains and tokens, our platform serves as a comprehensive and accurate knowledge base.\n- **Regulatory Oversight and Compliance**: With transparent and detailed block information, monitoring bodies can ensure adherence to regulations and maintain blockchain transparency.\n- **Asset Management and Portfolio Building**: Asset managers can use our On-Chain Core data to build a portfolio, tracking assets' characteristics and supply metrics for strategic positioning.\n\nOur On-Chain Core endpoints stand as a beacon for anyone venturing into the realm of blockchain and digital assets. Designed with **precision** and **depth**, our on-chain data suite offers a thorough **insight** into the **blockchain landscape**. From the nuances of individual tokens to the vast **expanses** of blockchains, our platform ensures **clarity**, **authenticity**, and **thoroughness**. Whether you're an analyst, an investor, a developer, or a blockchain enthusiast, our On-Chain offerings provide the detailed insights and data required for your unique needs. Navigate the blockchain world with confidence, backed by our data-centric approach."
},
{
"x-id": "asset",
"name": "Asset",
"x-summary-seo": "Asset endpoints provide access to data about specific assets, such as cryptocurrencies, tokens, stablecoins, tokenzied stocks, real world assets (RWAs) or other digital assets. These endpoints can be used to retrieve information about the asset, including its identifier, symbol, name, description, and other metadata.",
"x-icon": "sitemap",
"x-expanded": true,
"x-endpoint-groups": [
{
"x-id": "asset_v1_metadata_group",
"x-name": "Metadata",
"paths": [
"/asset/v1/metadata"
]
},
{
"x-id": "asset_v1_top_list",
"x-name": "Top List",
"paths": [
"/asset/v1/top/list"
]
},
{
"x-id": "asset_v1_summary_list",
"x-name": "Summary List",
"paths": [
"/asset/v1/summary/list"
]
},
{
"x-id": "asset_v1_events",
"x-name": "Events",
"paths": [
"/asset/v1/events"
]
},
{
"x-id": "asset_v1_historical_code_repository",
"x-name": "Historical Code Repository",
"paths": [
"/asset/v1/historical/code-repository/days"
]
},
{
"x-id": "asset_v1_historical_discord",
"x-name": "Historical Discord",
"paths": [
"/asset/v1/historical/discord/days"
]
},
{
"x-id": "asset_v1_historical_reddit",
"x-name": "Historical Reddit",
"paths": [
"/asset/v1/historical/reddit/days"
]
},
{
"x-id": "asset_v1_historical_telegram",
"x-name": "Historical Telegram",
"paths": [
"/asset/v1/historical/telegram/days"
]
},
{
"x-id": "asset_v1_historical_twitter",
"x-name": "Historical X(Twitter)",
"paths": [
"/asset/v1/historical/twitter/days"
]
}
],
"description": "The **Asset endpoints** are systematically crafted to grant users an in-depth view into specific assets, encompassing **cryptocurrencies**, **tokens**, **stablecoins**, **tokenzied stocks**, **[real world assets (RWAs)](https://blog.ccdata.io/understanding-tokenised-real-world-assets-the-next-step-for-digital-assets-d01caf01f01a)** and other forms of **digital assets**. Drawing from authentic and verified sources, our interface ensures users can effortlessly gather and comprehend extensive asset data without facing inconsistent data structures.\n\nA distinguishing attribute of our **Asset data offering** is its capability to deliver detailed asset metadata. This functionality assures users are well-informed about crucial asset characteristics, including **identifier**, **symbol**, **name**, **description**, **logo**, and **other relevant metadata**. To further enrich user understanding, our Asset endpoints delve deeper by offering insights about the asset's **classification**, clearly distinguishing if it's a **blockchain asset** or a **token**. Add to this the capability to provide intricate details on the **supported blockchain platforms** for a particular asset, and users find themselves equipped with a thorough understanding of their assets of interest.\n\nWhether one is delving into the complex realm of digital assets, conducting research, making informed investment decisions, or simply expanding their knowledge base, our **Asset Metadata** endpoint is the ultimate destination for detailed and up-to-date asset information.\n\nOur **Social Metrics Historical** endpoints provide hourly and daily metrics to offer a pulse on the digital community's sentiment and activities. This includes:\n\n- **Code Repositories Metrics**: Track the evolution and activity of your favorite digital asset codebases (GitHub, Bitbucket).\n- **Subreddits Metrics**: Determine the real-time and historical popularity of specific assets on Reddit.\n- **Discord and Telegram Group Metrics**: Determine the real-time and historical popularity of specific Discord and Telegram groups linked to specific digital assets.\n- **Twitter(X) Metrics**: Determine the real-time and historical popularity of notable Twitter(X) handles linked to specific assets.\n\nMoreover, users keen on trends and recognitions can explore our **Top Lists** endpoints. This encompasses lists curated by various market caps, volume types, launch dates, and asset classifications.\n\nFor those attentive to critical digital asset events, our **Asset Events** endpoint is indispensable. From **security incidents**, **hard forks**, **soft forks**, and **branding changes** to **supply burns** and **migrations**, our database is regularly updated, ensuring you're never caught off guard.\n\n## Key Features\n- **Extensive Asset Metadata**: Obtain comprehensive details about an asset, such as its identifier, symbol, name, description, and hundreds of other metadata values.\n- **Asset Classification**: Discern the nature of an asset by understanding whether it's a blockchain asset or a token.\n- **Information on Supported Blockchain Platforms**: Benefit from insights about the blockchain platforms that a particular asset is associated with or operates on.\n- **Social Metrics Historical Data**: Understand the pulse and trend of the digital community's activities.\n- **Top Lists**: A comprehensive view of assets ranked by various criteria.\n- **Event Updates**: Stay informed on critical occurrences in the digital asset world.\n\n## Use Cases\n- **Asset Analysis and Research**: Our Asset endpoints serve as an indispensable resource for researchers, analysts, and enthusiasts who aim for a deeper understanding of specific assets.\n- **Investment Due Diligence**: Equip yourself with all necessary asset metadata before making investment decisions or diversifying a portfolio.\n- **Integration into Asset Management Platforms**: Developers and organizations aiming to integrate genuine asset data into their systems can rely on our endpoints for authenticity and depth.\n- **Educational Insights**: For educators, students, or anyone keen to grasp the intricacies of digital assets, our platform provides an accurate and exhaustive knowledge repository.\n- **Regulatory and Compliance Checks**: With transparent and detailed asset information, compliance teams and monitoring bodies can ensure transparency and adherence to guidelines.\n- **Asset Tracking and Monitoring**: Asset managers and enthusiasts can stay updated on specific asset characteristics, ensuring they remain well-informed and aligned with their strategies.\n- **Community Engagement Analysis**: For brands and analysts looking to understand community sentiment and interaction patterns.\n- **Trend Monitoring**: For investors and enthusiasts keen on understanding the popularity and traction of specific assets.\n- **Event Preparedness**: For those who need to stay ahead and prepared for significant digital asset events.\n\nOur **combined offerings**, from **Asset endpoints** to **Social Metrics Historical endpoints**, are a testament to the **precision**, **depth**, and **user-centric design** we introduce to the digital asset industry. Regardless of your niche – be it an analyst, a digital asset enthusiast, a researcher, or an investor – our platform is curated to serve you with unmatched insights. Venture confidently into the digital landscape, knowing you're backed by our exhaustive data suite at every juncture."
},
{
"x-id": "news",
"name": "News",
"x-summary-seo": "A set of endpoints that provide aggregated news for the digital asset industry.",
"x-icon": "newspaper-o",
"x-expanded": true,
"x-endpoint-groups": [
{
"x-id": "news_v1_source_list",
"x-name": "Source: List",
"paths": [
"/news/v1/source/list"
]
},
{
"x-id": "news_v1_category_list",
"x-name": "Category: List",
"paths": [
"/news/v1/category/list"
]
},
{
"x-id": "news_v1_article_list",
"x-name": "Article: List",
"paths": [
"/news/v1/article/list"
]
},
{
"x-id": "news_v1_article_get",
"x-name": "Article: Get",
"paths": [
"/news/v1/article/get"
]
}
],
"description": "Navigating the **fast-paced world of digital assets** requires **access** to the most recent and **reliable news**. We understand this need, which is why our platform does not merely stop at [Asset and Social Metrics](https://developers.cryptocompare.com/documentation/data-api/asset) endpoints but dives right into the heart of the industry's current affairs with our dedicated News endpoints.\n\nOur News endpoints offer a **consolidated** repository of **aggregated news** tailored for the digital asset industry. Our news endpoints allow you to remain on the **frontline** of any **new developments**, **unfolding trends**, and **noteworthy events** within the **digital assets** realm. Whether you're after market analysis, intricate details about regulatory shifts, or technological advancements, our categorized sections make it easy for you to pinpoint and digest the precise information you're after.\n\nTo add depth to this information, our **Sentiment Analysis** tools provide insight into the prevailing sentiments surrounding these **news pieces**. Whether an article brings bullish optimism or cautious skepticism, our tools distill the tone, allowing users to gauge the potential market reactions and make informed decisions. Using the latest AI tools at our disposal, we categorize news sentiment based on their specific impact in the digital asset sector.\n\n## Key Features\n\n- **Aggregated Cryptocurrency News**: Access articles and content from reputable sources, all brought together for your convenience.\n- **Topic Organization**: Delve into news categorized under market analysis, regulation, technology, and more, ensuring you quickly find the information you need.\n- **Real-time Updates**: With the dynamic nature of the digital asset industry, our endpoints ensure that you're always reading the most recent developments.\n- **Sentiment Analysis on News**: Understand the mood and sentiment behind every news piece, enabling a richer interpretation of the news context.\n\n## Use Cases\n\n- **Market Analysis**: For investors and traders wanting insights into market movements and predictions.\n- **Regulatory Updates**: Essential for professionals and businesses to ensure they operate within legal frameworks.\n- **Technological Innovations**: Catering to tech enthusiasts and developers eager to stay at the cutting edge of blockchain and crypto technologies.\n- **Event Monitoring**: Remain updated on significant events, partnerships, and launches in the digital asset landscape.\n- **Sentiment-Driven Investment**: For investors aiming to gauge market sentiment and make sentiment-informed investment decisions.\n- **Education and Research**: Ideal for educators, students, and researchers aiming for a comprehensive understanding of ongoing trends.\n\nOur News endpoints are a reflection of our commitment to bringing transparency, timeliness, and trustworthiness into the digital asset news domain. Whether you're an investor tracking market sentiments, a researcher exploring emerging trends, or a crypto enthusiast wanting to stay informed, our news offerings promise a comprehensive and up-to-date overview of the industry. Dive into the pulse of digital asset news, assured that our platform offers you the most reliable and encompassing news insights."
},
{
"x-id": "overview",
"name": "Overview",
"x-summary-seo": "A set of endpoints that provide aggregated metrics data about the overall health of the digital asset industry offer access to a range of data points that can be used to measure the performance and vitality of the market.",
"x-icon": "table",
"x-expanded": true,
"x-endpoint-groups": [
{
"x-id": "overview_v1_latest_marketcap_tick_all",
"x-name": "MarketCap Latest Tick",
"paths": [
"/overview/v1/latest/marketcap/all/tick"
]
},
{
"x-id": "overview_v1_latest_marketcap_histo_all",
"x-name": "MktCap Historical OHLCV",
"paths": [
"/overview/v1/historical/marketcap/all/assets/days",
"/overview/v1/historical/marketcap/all/assets/hours"
]
},
{
"x-id": "overview_v1_latest_marketcap_tick_ftw",
"x-name": "MktCap Latest Tick (FTW)",
"paths": [
"/overview/v1/latest/marketcap/ftw/tick"
]
},
{
"x-id": "overview_v1_latest_marketcap_histo_ftw",
"x-name": "MktCap Historical OHLCV (FTW)",
"paths": [
"/overview/v1/historical/marketcap/ftw/assets/days",
"/overview/v1/historical/marketcap/ftw/assets/hours"
]
}
],
"description": "To truly understand the vast expanse and dynamic nature of the digital asset world, one needs a bird's-eye view. Our platform offers just that through its dedicated Overview Section. This isn't merely a cursory glance; it's an in-depth look into the overarching health, performance, and vitality of the entire digital asset industry.\n\nOur Overview endpoints are the go-to source for those seeking aggregated metrics data. With a few clicks, users can access multiple data points that not only chart the present state of the digital asset market but also help track its evolution over time. Whether you're interested in understanding the cumulative market capitalization of all digital assets, gauging the total trade volumes, or diving into myriad other metrics, our endpoints have it all.\n\n## Key Features\n\n- **Aggregated Metrics Data**: Enjoy a comprehensive view of various data points, painting a holistic picture of the digital asset market.\n- **Total Market Capitalization**: Track the combined value of all digital assets.\n- **Trade Volumes**: Understand the magnitude of trades occurring within the market.\n- **Health Indicators**: Delve into metrics that signify the overall health and vitality of the industry.\n\n## Use Cases\n\n- **Market Overview**: Essential for investors, traders, and enthusiasts to get a summarized view of the digital asset landscape.\n- **Trend Analysis**: For analysts and researchers keen on studying market trends and predicting future trajectories.\n- **Investment Strategy Formation**: Helps investors understand the broader market context when formulating investment strategies.\n- **Education and Research**: A goldmine for educators and students aiming to understand the macroscopic aspects of the digital asset domain.\n- **Reporting and Documentation**: For professionals and businesses that require a consolidated view of the market for reports or presentations.\n\nOur **Overview endpoints** are a a testament of our commitment to ensuring that every user, whether a seasoned professional or a curious newcomer, gets a **clear** and **comprehensive understanding** of the digital asset landscape. With a rich array of metrics at your disposal, navigating and interpreting the digital asset industry becomes intuitive and enlightening. Step into the world of **digital assets** armed with insights that provide both **breadth** and **depth**, ensuring you're always several steps ahead."
},
{
"x-id": "utilities",
"name": "Utilities",
"x-summary-seo": "A set of endpoints that provide auxiliary or support functions for the main API. These endpoints provide metadata, specifications, and utility services that help users and developers interact with the API more efficiently and effectively.",
"x-icon": "wrench",
"x-expanded": true,
"x-endpoint-groups": [
{
"x-id": "admin_v1_rate_limit",
"x-name": "Rate Limit Verification",
"paths": [
"/admin/v1/rate/limit"
]
},
{
"x-id": "info_v1_version",
"x-name": "Version",
"paths": [
"/info/v1/version"
]
},
{
"x-id": "info_v1_openapi_group",
"x-name": "OpenAPI",
"paths": [
"/info/v1/openapi",
"/info/v1/openapi/endpoint"
]
}
],
"description": "Introducing our Utilities endpoints: your **toolkit for a seamless API experience**. While not the core, they offer essential metadata, specifications, and utility services that optimize your interaction with the main API. Think of them as the behind-the-scenes heroes, ensuring efficient and effective API usage.\n\n## Key features\n\n- **Metadata & Specifications**: Details that improve clarity.\n- **Utility Services**: Tools to enhance user and developer engagement.\n- **Rate Limit Verification**: Monitor your API usage and avoid unexpected limits.\n\nWith our Utilities endpoints, navigating our API becomes intuitive and hassle-free, setting the stage for your main tasks."
},
{
"x-id": "deprecated",
"name": "Deprecated",
"x-summary-seo": "The endpoints, parameters, or functionalities listed in this section are marked as deprecated",
"x-icon": "trash",
"x-expanded": false,
"x-endpoint-groups": [
{
"x-id": "asset_v1_data",
"x-name": "Metadata",
"paths": [
"/asset/v1/data/by/symbol",
"/asset/v1/data/by/id"
]
},
{
"x-id": "asset_v1_event",
"x-name": "Events",
"paths": [
"/asset/v1/events/by/id",
"/asset/v1/events/by/symbol"
]
},
{
"x-id": "asset_v1_code_repository_days",
"x-name": "Code Repository Daily Metrics",
"paths": [
"/asset/v1/code/repository/days/by/id",
"/asset/v1/code/repository/days/by/symbol"
]
},
{
"x-id": "asset_v1_discord_by_symbol_days",
"x-name": "Historical Discord Metrics Day",
"paths": [
"/asset/v1/discord/days/by/id",
"/asset/v1/discord/days/by/symbol"
]
},
{
"x-id": "asset_v1_reddit_days",
"x-name": "Historical Reddit Metrics Day",
"paths": [
"/asset/v1/reddit/days/by/id",
"/asset/v1/reddit/days/by/symbol"
]
},
{
"x-id": "asset_v1_telegram_days",
"x-name": "Historical Telegram Metrics Day",
"paths": [
"/asset/v1/telegram/days/by/id",
"/asset/v1/telegram/days/by/symbol"
]
},
{
"x-id": "asset_v1_twitter_days",
"x-name": "Historical Twitter Metrics Day",
"paths": [
"/asset/v1/twitter/days/by/id",
"/asset/v1/twitter/days/by/symbol"
]
},
{
"x-id": "onchain_v1_summary_by_chain",
"x-name": "Asset: Summary By Chain",
"paths": [
"/onchain/v1/summary/by/chain"
]
},
{
"x-id": "onchain_v1_data_by_address",
"x-name": "Asset: By Smart Contract Address",
"paths": [
"/onchain/v1/data/by/address"
]
},
{
"x-id": "onchain_v1_historical_supply_days",
"x-name": "Historical: Supply",
"paths": [
"/onchain/v1/historical/supply/days/by/symbol",
"/onchain/v1/historical/supply/days/by/id"
]
}
],
"description": "The endpoints, parameters, or functionalities listed in this section are marked as deprecated. This means:\n- They are **no longer recommended for use** and might not be supported in future versions of our API.\n- Existing implementations that use these might continue to work, but we **can't guarantee their long-term reliability**.\n- It's **recommended to migrate** to the suggested alternatives as soon as possible to ensure compatibility and access to new features.\n\nAs our API evolves, we aim to provide more robust, efficient, and useful features. Sometimes, this means retiring older functionalities to make room for better approaches. Deprecation decisions are made based on:\n\n- **Performance Enhancements**: Newer alternatives might be faster or more resource-efficient.\n- **Feature Enhancements**: Deprecated features might lack newer capabilities.\n- **Consistency & Standards**: Aligning with modern practices or industry standards.\n- **Simplified Maintenance**: Reducing complexities that arise from supporting older functionalities.\n\n## Deprecation & Removal Process\n\nOur commitment to innovation means sometimes we need to retire old functionalities. Here's how we ensure a smooth transition:\n\n- **Announcement**: When an endpoint, parameter, or functionality is identified for deprecation, we'll mark it as such in our documentation and notify users through email and other communication channels.\n- **Support Period**: Deprecated features will still be supported for a period to allow users ample time for migration. This period will be specified but expect at least several months to a few years.\n- **Removal Checks**: After the support period, we'll monitor the use of these deprecated features. As long as they are still actively used, they won't be removed.\n- **Final Notification**: If, after several checks, we find that the usage has dwindled or become non-existent, we'll send a final removal notification. Users will get another grace period, potentially up to multiple years, before the feature is fully removed.\n- **Deletion**: After the final grace period, and if no significant usage is detected, the deprecated functionality will be permanently removed from our API.\n\n## Migration Tips\n- Always check this section during API updates to ensure you're not relying on deprecated features.\n- **Plan your migration early**. Even though deprecated features remain functional now, they might be removed in the future. But don't worry we'll never remove endpoints as long as there are still being used. We'll reach out via email and other means to existing customers using deprecated endpoints and give plenty of time (multiple years) for them to switch to the new endpoints.\n- **Reach out to our support if you face any issues during migration**. We're here to help.\n\nNavigating the ever-evolving landscape of technology can be challenging, but it's an integral part of continuous improvement and innovation. The deprecation of certain functionalities in our API is a testament to our commitment to offering only the **best**, **most efficient**, and **reliable** tools for our users. We understand the potential inconveniences this might cause, and we deeply appreciate your adaptability during these changes. By staying informed and proactive, you position yourself at the forefront of the digital curve, reaping the benefits of our latest offerings. Should you **encounter any bumps along the way**, remember we're just a **call or email** away. Together, we'll shape the future of seamless digital interactions.\n\n**Important Advisory on Deprecated Endpoints**: While we are dedicated to promoting a decentralized ecosystem and enhancing user accessibility (by ocasionally allowing IP Rate limits on some endpoints), it's crucial to note that endpoints will switch to **api_key**-only access one month after their deprecation date. For those already utilizing an **api_key**, this change will have no impact and they should focus on migrating to the new endpoints. This shift is designed to uphold the integrity and reliability of our service offerings. If you are currently relying on deprecated endpoints, we strongly recommend either integrating an api_key within this one-month timeframe or migrating to the new version to ensure continuous, uninterrupted access to the data you require."
}
]
}
Discover other plugins from the crypto category

Crossmint
Plugin for minting NFTs.
0 Comments

NFT News Roundup
Get Today's NFT News Headlines As A Clickable Link Roundup!
0 Comments

DAIZY
Deep insights on ETFs, stocks, cryptos. Institutional-grade data: performance, risk, sustainability, research.
0 Comments

CoinCap
Get cryptocurrency information from CoinCap.
0 Comments

Defillama
Retrieve data on DeFi protocols and blockchains.
0 Comments

sic
Your gateway to crypto. Explore prices, accounts, and transactions on blockchains, starting with Ethereum.
0 Comments

CheckTheChain
Look for anything on the blockchain and get instant analysis.
0 Comments

Bitcoin Sentiment
Track the current price of Bitcoin and the market sentiment based on the last 20 news media mentions!
0 Comments

P/E For NFTs
Get the price to earnings ratio for any NFT collection!
0 Comments

Crypto Price Checker
A Crypto Prices app that takes a pair of crypto or fiat tickers and returns the current price of the pair.
0 Comments
.png%3Falt%3Dmedia%26token%3Ddb99af1e-5510-474a-bec8-3231c93b74eb)
Crypto ERC20 Scout
Browse ERC20 tokens on EVM blockchains. Includes address resolution, symbol/tag search, explorer links, and pricing.
0 Comments

Smarter Contracts
Analyze smart contracts and tokens on Ethereum.
0 Comments

Mobula
Fetching real-time data for all crypto & blockchain metrics.
0 Comments

Crypto Market News
It's your go-to solution for real-time cryptocurrency price updates, market insights, and the latest news.
0 Comments

NFTs
Get the important details of any NFT collection and ask for insights based on that data!
0 Comments

Crypto Pulse
From News to Profit: Decode Crypto's Market Impact with Ease. Instantly, analyse latest crypto news.
0 Comments

SignalPlus
Live data on crypto, NFTs, DeFi. Spot/derivatives. A must for traders.
0 Comments

MetaPath
Query info on cryptos, NFTs, tokens, coins, Defi and Web3.
0 Comments

MintbaseSearch
Find any NFT data on the NEAR Protocol.
0 Comments

Toolblox
Text to smart-contract. Describe a process to generate a smart-contract and deploy to any blockchain.
0 Comments

Telescope Labs
Data retrieval, analysis and visualizations related to web3 games who are onboarded as a blockchain game.
0 Comments
TokenInsights
Get realtime crypto price, BTC, ETH, BNB, and the latest insights.The latest coin news and airdrop opportunities.
0 Comments
CryptoMation
Crypto transactions, addresses, balances, conversions for any blockchain (Ethereum, Binance, Near, Tron, etc.)
0 Comments

NFT Guru
Discover current prices of NFTs across major platforms and keep track of the rapidly changing marketplace with real-time
0 Comments

Alchemy
Request real-time blockchain data for chains like Ethereum, Polygon, Arbitrum and Optimism through natural language.
0 Comments
Binance coin API Plugin
Plugin for retrieving cryptocurrency information from the Binance coin API.
0 Comments