InvestmentExplorer · GPT 작업
CCData.io Market, Index, Reference Data, News and Overview Metrics API for the Cryptocurrency Industry
# CCData.io is the world's leading digital asset data company, providing services that cater to corporate, government and retail clients. ### 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). In 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. Our offerings include price, volume, trade, and orderbook updates, as well as historical OHLCV data. You 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. ### Some of the endpoints in our API require a registered account. Please make sure to create an account and create an API Key.
GET /index/cc/v1/latest/tickInstrument Latest TickThis 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.
GET /index/cc/v1/historical/daysHistorical OHLCV+ DayGet 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.
GET /index/cc/v1/historical/hoursHistorical OHLCV+ HourGet 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.
GET /index/cc/v1/historical/minutesHistorical OHLCV+ MinuteGet 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.
GET /news/v1/article/listArticle: ListServing 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
GET /asset/v1/metadataFull Asset MetadataThis 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
GET /onchain/v1/block/2/lastETH: Latest Block ProcessedDetailed 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
GET /onchain/v1/block/8/lastBNB: Latest Block ProcessedDetailed 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
원본 API 스키마
{
"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.16940"
},
"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": {
"type": "object",
"properties": {
"Data": {
"type": "object",
"additionalProperties": {
"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"
}
}
}
},
"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: instruments parameter. One or multiple instruments on coinbase not integrated yet or not supported. Instruments are case sensitive, make sure you check the https://data-api.cryptocompare.com/spot/v1/markets/instruments endpoint for a list of all the supported TRADE_SPOT market and instrument combinations. Invalid instruments: INSTRUMENT-DOES-NOT-EXIST"
},
"other_info": {
"type": "object",
"properties": {
"param": {
"type": "string",
"description": "The parameter that is responsible for the error",
"example": "instruments"
},
"values": {
"type": "array",
"description": "The values responsible for the error",
"example": [
"INSTRUMENT-DOES-NOT-EXIST"
],
"items": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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/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": {
"type": "object",
"properties": {
"Data": {
"type": "array",
"items": {
"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"
}
}
}
},
"Err": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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/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": {
"type": "object",
"properties": {
"Data": {
"type": "array",
"items": {
"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"
}
}
}
},
"Err": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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/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": {
"type": "object",
"properties": {
"Data": {
"type": "array",
"items": {
"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"
}
}
}
},
"Err": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
}
}
}
},
"/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": {
"type": "object",
"properties": {
"Data": {
"type": "array",
"items": {
"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"
}
}
}
}
}
}
},
"Err": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
}
}
}
},
"/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": {
"type": "object",
"properties": {
"Data": {
"type": "object",
"additionalProperties": {
"type": "object",
"x-visible-in-ai": false,
"properties": {
"TYPE": {
"type": "string",
"description": "Type of the message.",
"example": "162",
"x-cc-api-group": "ID"
},
"ID": {
"type": "integer",
"description": "The unique identifier for the asset entry",
"example": 2
},
"ID_LEGACY": {
"type": "integer",
"description": "The legacy previous asset management system ID",
"example": 7605,
"x-cc-api-group": "ID"
},
"ID_PARENT_ASSET": {
"type": "integer",
"description": "The parent asset ID for this asset.",
"x-cc-api-group": "ID"
},
"SYMBOL": {
"type": "string",
"description": "Internal mapped symbol for a specific asset",
"example": "ETH",
"x-cc-api-group": "ID"
},
"URI": {
"type": "string",
"description": "The uri path that this asset will be found on / url-slug",
"example": "eth",
"x-cc-api-group": "ID"
},
"COMMENT": {
"type": "string",
"description": "Any internal comments you might have for this asset",
"example": "",
"x-cc-api-group": "INTERNAL"
},
"IS_PUBLIC": {
"type": "boolean",
"description": "This is flagged to false when assets are deleted/hidden",
"x-cc-api-group": "ID"
},
"ASSIGNED_TO": {
"type": "integer",
"description": "Internal user id of the user who is in charge of updating and maintaining the asset",
"x-cc-api-group": "INTERNAL"
},
"ASSIGNED_TO_USERNAME": {
"type": "string",
"description": "Internal username of the user who is in charge of updating and maintaining the asset at the time of the asset assignment (the user might have changed their username but not their user id)",
"example": "",
"x-cc-api-group": "INTERNAL"
},
"CREATED_ON": {
"type": "number",
"description": "Asset internal creation unix ts in our system",
"example": 1681990528,
"x-cc-api-group": "BASIC"
},
"CREATED_BY": {
"type": "integer",
"description": "Internal user id of the user who created the asset",
"x-cc-api-group": "INTERNAL"
},
"CREATED_BY_USERNAME": {
"type": "string",
"description": "Internal username of the user who created the asset at the time of the asset creation (the user might have changed their username but not their user id)",
"example": "",
"x-cc-api-group": "INTERNAL"
},
"UPDATED_ON": {
"type": "number",
"description": "Asset internal last updated unix ts in our system",
"example": 1681990528,
"x-cc-api-group": "BASIC"
},
"UPDATED_BY": {
"type": "integer",
"description": "Internal user id of the user who last updated the asset",
"x-cc-api-group": "INTERNAL"
},
"UPDATED_BY_USERNAME": {
"type": "string",
"description": "Internal username of the user who last updated the internal information of the asset at the time of the asset update (the user might have changed their username but not their user id)",
"example": "",
"x-cc-api-group": "INTERNAL"
},
"ASSET_TYPE": {
"type": "string",
"description": "The asset class/type",
"x-cc-api-group": "ID"
},
"NAME": {
"type": "string",
"description": "The full name of the asset, e.g. Bitcoin.",
"x-cc-api-group": "BASIC"
},
"LOGO_URL": {
"type": "string",
"description": "The image that appears when you see this asset.",
"x-cc-api-group": "BASIC"
},
"ASSET_DESCRIPTION": {
"type": "string",
"description": "The long form description in markdown for this asset.",
"x-cc-api-group": "DESCRIPTION"
},
"ASSET_DESCRIPTION_SUMMARY": {
"type": "string",
"description": "The short form description text only for this asset.",
"x-cc-api-group": "DESCRIPTION_SUMMARY"
},
"ASSET_DESCRIPTION_SNIPPET": {
"type": "string",
"description": "The shortest form description text only for this asset. This is a lot more limited than the summary. Generally this is a one or maximum two sentences.",
"x-cc-api-group": "BASIC"
},
"ISO_NUMERIC_CODE": {
"type": "string",
"description": "The ISO Numeric Code is a unique three-digit numerical identifier assigned to each fiat currency by the International Organization for Standardization (ISO). It is a part of the ISO 4217 standard, which establishes a systematic framework for classifying currencies in international trade and finance. The ISO 4217 standard comprises three components: the alphabetic code, the numeric code, and the minor unit.",
"x-cc-api-group": "CLASSIFICATION"
},
"PUBLIC_NOTICE": {
"type": "string",
"description": "A public notice for this asset.",
"x-cc-api-group": "BASIC"
},
"LAUNCH_DATE": {
"type": "integer",
"description": "The launch date of the asset is indicated as (yyyy-mm-dd). However, if the asset was initially established as a token before being integrated into a blockchain, the launch date is reset to the creation of the first block when the blockchain is launched for the token.",
"x-cc-api-group": "BASIC"
},
"PARENT_ASSET_SYMBOL": {
"type": "string",
"description": "The base asset / parent asset / main asset that this token is liked to / pegged to.",
"x-cc-api-group": "ID"
},
"HAS_SMART_CONTRACT_CAPABILITIES": {
"type": "boolean",
"description": "Can you build smart contracts on top of this?",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"IS_USED_IN_DEFI": {
"type": "boolean",
"description": "This is used when the sole purpose of the token/blockchain is for it to be used in DeFi. Shows if is a blockchain-based form of finance that does not rely on central financial intermediaries. (DeFi Project).",
"x-cc-api-group": "INTERNAL"
},
"IS_USED_IN_NFT": {
"type": "boolean",
"description": "This is used when the sole purpose of the token/blockchain is for it to be used in NFTs. Is this used in any non-fungible token capacity. Based on this flag we show the nft list.",
"x-cc-api-group": "INTERNAL"
},
"WEBSITE_URL": {
"type": "string",
"description": "The link for the official project website.",
"x-cc-api-group": "RESOURCE_LINKS"
},
"BLOG_URL": {
"type": "string",
"description": "The link for the official blog.",
"x-cc-api-group": "RESOURCE_LINKS"
},
"WHITE_PAPER_URL": {
"type": "string",
"description": "A white paper, also written as \"whitepaper\", a document released by the project that gives investors technical information about its concept, its purpose, how it works, etc.",
"x-cc-api-group": "RESOURCE_LINKS"
},
"OTHER_DOCUMENT_URLS": {
"type": "array",
"description": "Other documents that might be relevant to the asset, they should all be .PDFs.",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string"
},
"VERSION": {
"type": "integer"
},
"URL": {
"type": "string"
},
"COMMENT": {
"type": "string"
}
}
},
"x-cc-api-group": "RESOURCE_LINKS"
},
"PROJECT_LEADERS": {
"type": "array",
"description": "An array of individuals that contains founders, whitepaper authors, investors, resechers, and other important people related to a project.",
"items": {
"type": "object",
"properties": {
"LEADER_TYPE": {
"type": "string"
},
"FULL_NAME": {
"type": "string"
},
"CONTACT_MEDIUM": {
"type": "string"
},
"ADDRESS": {
"type": "string",
"description": "The email / linkedin addres / twitter / other social media address"
},
"COMMENTS": {
"type": "string"
}
}
},
"x-cc-api-group": "CONTACT"
},
"ASSET_CUSTODIANS": {
"type": "array",
"description": "Custodians that support this asset.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string"
}
}
},
"x-cc-api-group": "CUSTODIANS"
},
"ASSET_INDUSTRIES": {
"type": "array",
"description": "The asset industries that asset operates in.",
"items": {
"type": "object",
"properties": {
"ASSET_INDUSTRY": {
"type": "string"
}
}
},
"x-cc-api-group": "CLASSIFICATION"
},
"ASSET_ALTERNATIVE_IDS": {
"type": "array",
"description": "Alternative data platforms that also support this asset with their specific asset id.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string"
},
"ID": {
"type": "string"
}
}
},
"x-cc-api-group": "BASIC"
},
"CONSENSUS_MECHANISMS": {
"type": "array",
"description": "The types of consensus mechanisms this network / blockchain / token uses. This is a list of the fault-tolerant mechanism families that are used to achieve the necessary agreement on a single data value or a single state of the network among distributed processes or multi-agent systems.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The type of consensus this blockhain / networks uses."
}
}
},
"x-cc-api-group": "CLASSIFICATION"
},
"CONSENSUS_ALGORITHM_TYPES": {
"type": "array",
"description": "The types of consensus algorithms this blockchain uses. This is dependent on the consensus mechanisms used by the network / blockchain / token. For blockchains that are proof of work this would in most cases have the mining algorithm. For hybrid assets, this would be a list of mining and proof of stake and other algorithm used for reaching consensus.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The name of the algorithm this blockchain uses for the consensus mechanism."
},
"DESCRIPTION": {
"type": "string",
"description": "A description for the algorithm type."
}
}
},
"x-cc-api-group": "CLASSIFICATION"
},
"HASHING_ALGORITHM_TYPES": {
"type": "array",
"description": "The types of algorithms this blockchain uses for hashing blocks, transactions etc.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The types of algorithms this blockchain uses for hashing blocks, transactions etc."
}
}
},
"x-cc-api-group": "CLASSIFICATION"
},
"ASSET_DECIMAL_POINTS": {
"type": "integer",
"description": "The total decimal places this asset can be divided into. E.g. 8 for BTC (1 Satoshi), 18 for ETH (1 Wei). Generally blockchains store all units as integers and this is the number you need to divide the lowest unit of accounting by to get the common unit of measure used for the asset.",
"x-cc-api-group": "BASIC"
},
"SUPPLY_MAX": {
"type": "number",
"description": "The maximum number of asset parts (coins/tokens) that will ever be issued (supply_circulating + supply_burnt + supply_locked + all supply that has not been issued yet but is planned to be issued in the future). For assets (coins/tokens) that have infinite supply, we use -1.",
"example": 20999999.9769,
"x-cc-api-group": "SUPPLY"
},
"SUPPLY_ISSUED": {
"type": "number",
"description": "The number of asset parts (coins/tokens) that have been issued so far. (supply_circulating + supply_locked + supply_burnt)",
"example": 19427875,
"x-cc-api-group": "SUPPLY"
},
"SUPPLY_TOTAL": {
"type": "number",
"description": "The number of asset parts (coins/tokens) that have been issued so far excluding burnt tokens. (supply_circulating + supply_locked)",
"example": 19427875,
"x-cc-api-group": "SUPPLY"
},
"SUPPLY_CIRCULATING": {
"type": "number",
"description": "Also referred to as free float or public float. The number of asset parts (coins/tokens) that are available to be traded and it excludes burnt supply and locked supply.",
"example": 19427875,
"x-cc-api-group": "SUPPLY"
},
"SUPPLY_FUTURE": {
"type": "number",
"description": "The number of asset parts (coins/tokens) that are planned to be issued in the future. (supply_max - supply_issued)",
"example": 1572124.9769,
"x-cc-api-group": "SUPPLY"
},
"SUPPLY_LOCKED": {
"type": "number",
"description": "The number of asset parts (coins/tokens) that are currently not transferable until certain conditions are met. Locked supply is generally held by team members, DAOs, foundations, bridges, stakers, liquidity pools, etc.",
"example": 0,
"x-cc-api-group": "SUPPLY"
},
"SUPPLY_BURNT": {
"type": "number",
"description": "The number of asset parts (coins/tokens) that have been sent to addresses/locations that are no longer accessible. They are permanently removed from the circulating supply on purpose, this does not include lost tokens sent to wallets that do not exist or sent to wallets that users no longer have access to, the address of burnt tokens is determined by the project team.",
"example": 0,
"x-cc-api-group": "SUPPLY"
},
"SUPPLY_STAKED": {
"type": "number",
"description": "The current number of asset parts (coins/tokens) that are locked as part of PoS and PoS partial chains.",
"example": 0,
"x-cc-api-group": "SUPPLY"
},
"TARGET_BLOCK_MINT": {
"type": "number",
"description": "New asset parts (coins/tokens) expected to be used to incetivise new block issuance. On tokens / chains that have no underlying asset infation, this will eventually be 0.",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"TARGET_BLOCK_TIME": {
"type": "number",
"description": "Target time span in seconds to produce a new block.",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"LAST_BLOCK_NUMBER": {
"type": "integer",
"description": "The latest block number issued by the network.",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"LAST_BLOCK_TIMESTAMP": {
"type": "integer",
"description": "The unix timestamp of the most recently issued block.",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"LAST_BLOCK_TIME": {
"type": "number",
"description": "Time spent in seconds to produce the most recently issued block.",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"LAST_BLOCK_SIZE": {
"type": "number",
"description": "The size in bytes of the most recently issued block.",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"LAST_BLOCK_ISSUER": {
"type": "string",
"description": "The miner/validator of the most recently issued block.",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"LAST_BLOCK_MINT": {
"type": "number",
"description": "New asset parts (coins/tokens) created in the most recently issued block.",
"x-cc-api-group": "SUPPLY"
},
"LAST_BLOCK_BURN": {
"type": "number",
"description": "The total amount of asset parts (coins/tokens) that were taken out of circulation in the most recently issued block.",
"x-cc-api-group": "SUPPLY"
},
"LAST_BLOCK_TRANSACTION_FEE_TOTAL": {
"type": "number",
"description": "The sum of all the transaction fees included in the most recently issued block.",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"LAST_BLOCK_TRANSACTION_COUNT": {
"type": "integer",
"description": "The total number of transactions included in the most recently issued block.",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"LAST_BLOCK_HASHES_PER_SECOND": {
"type": "number",
"description": "The total rounds of hashing that are estimated to have been computed in order to produce the most recently issued block. Use -1 for not applicable.",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"LAST_BLOCK_DIFFICULTY": {
"type": "number",
"description": "It is a measure of how difficult it was to produce the most recently issued block. Use -1 for not applicable.",
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"MKT_CAP_PENALTY": {
"type": "number",
"description": "The total penalty applied to the mkt cap due to liquidity or quality of data. Comment example: The value is reduced to 0.01% of the original due to low volume on B+ ranked exchanges or because it is only trading on a limited number of exchanges.",
"x-cc-api-group": "MKT_CAP"
},
"EXPLORER_ADDRESSES": {
"type": "array",
"description": "The links for the all the blockexplorer websites that support this blockchain.",
"items": {
"type": "object",
"properties": {
"URL": {
"type": "string",
"description": "The URL of the block explorer."
}
}
},
"x-cc-api-group": "RESOURCE_LINKS"
},
"BURN_ADDRESSES": {
"type": "array",
"description": "The list of addresses that are considered burn addresses for this asset.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The name of the address. Contract name or just the common name for this address."
},
"BLOCKCHAIN": {
"type": "string",
"description": "The is linked to the asset representing a specific chain."
},
"ADDRESS": {
"type": "string",
"description": "The address of the smart contracts, external user accounts or other account"
},
"DESCRIPTION": {
"type": "string",
"description": "A description for the address."
}
}
},
"x-cc-api-group": "SUPPLY_ADDRESSES"
},
"LOCKED_ADDRESSES": {
"type": "array",
"description": "The list of addresses that are considered locked addresses for this asset.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The name of the address. Contract name or just the common name for this address."
},
"BLOCKCHAIN": {
"type": "string",
"description": "The is linked to the asset representing a specific chain."
},
"ADDRESS": {
"type": "string",
"description": "The address of the smart contracts, external user accounts or other account"
},
"DESCRIPTION": {
"type": "string",
"description": "A description for the address."
}
}
},
"x-cc-api-group": "SUPPLY_ADDRESSES"
},
"SUPPORTED_STANDARDS": {
"type": "array",
"description": "The supported standards that tokens on this blockchain operate in. For blockchains that support smart contracts, supported standards are often included to tell people how to create, issue, deploy and interact with tokens based on the underlying blockchain.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "One of the token standards supported/available on this blockchain."
}
}
},
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"SUPPORTED_PLATFORMS": {
"type": "array",
"description": "When an asset, such as a cryptocurrency, can be used on multiple blockchains, we refer to those blockchains as supported platforms. There are two types of assets that can be used on multiple blockchains: native tokens and bridged tokens. Native tokens are assets that are natively supported by a particular blockchain, while bridged tokens are assets that are \"bridged\" or \"pegged\" to another asset on a different blockchain.",
"items": {
"type": "object",
"properties": {
"BLOCKCHAIN": {
"type": "string",
"description": "The is linked to the asset representing a specific chain."
},
"TOKEN_STANDARD": {
"type": "string",
"description": "This is linked to the Blockhain field and it is one of the SUPPORTED_STANDARDS available on that platform."
},
"BRIDGE_OPERATOR": {
"type": "string",
"description": "This is the company/protocol that backs the bridge."
},
"IS_ASSET_ISSUER": {
"type": "boolean",
"description": "This is true when the bridge operator is main asset issuer."
},
"EXPLORER_URL": {
"type": "string",
"description": "The URL for the token explorer website or tool."
},
"SMART_CONTRACT_ADDRESS": {
"type": "string",
"description": "ontract/smart contract/token address where this asset is stored / interacted with on the specific blockhain platform."
},
"LAUNCH_DATE": {
"type": "integer",
"description": "The data the smart contract on the supported platform was deployed or when the token was added."
},
"RETIRE_DATE": {
"type": "integer",
"description": "The date the smart contract on the supported platform was retired or the token was deleted."
},
"TRADING_AS": {
"type": "string",
"description": "The symbol/ticker this asset trades under on the specific blockchain platform."
},
"DECIMALS": {
"type": "integer",
"description": "The number of decimal points on the specific blockchain platform for this token."
},
"IS_INHERITED": {
"type": "boolean",
"description": "This is flagged to true if it comes from one of the assets that has this asset as a parent"
}
}
},
"x-cc-api-group": "SUPPORTED_PLATFORMS"
},
"LAYER_TWO_SOLUTIONS": {
"type": "array",
"description": "Available layer two scaling solutions and their associated data for this blockchain.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string"
},
"WEBSITE_URL": {
"type": "string"
},
"DESCRIPTION": {
"type": "string"
},
"CATEGORY": {
"type": "string"
},
"PERMISSIONED_ADDRESSES": {
"type": "array",
"description": "Special addresses of smart contracts, external user accounts or other accounts that have special rights to modify state on the smart contracts for this layer two solution.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The name of the address"
},
"ADDRESS": {
"type": "string",
"description": "The address of the smart contracts, external user accounts or other account"
},
"ACCOUNT_TYPE": {
"type": "string",
"description": "The type of the address"
},
"DESCRIPTION": {
"type": "string",
"description": "A description for the account."
}
}
}
},
"SMART_CONTRACTS_INVOLVED": {
"type": "array",
"description": "Special addresses of smart contracts that are involved in the L2 scaling soltion.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The name of the smart contract"
},
"ADDRESS": {
"type": "string",
"description": "The address of the smart contract"
},
"IS_UPGRADABLE": {
"type": "boolean",
"description": "Tick this box if the smart contract is upgradable"
},
"DESCRIPTION": {
"type": "string",
"description": "A description for the smart contract."
}
}
}
}
}
},
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"PRIVACY_SOLUTIONS": {
"type": "array",
"description": "Available privacy solutions.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string"
},
"WEBSITE_URL": {
"type": "string"
},
"DESCRIPTION": {
"type": "string"
},
"PRIVACY_SOLUTION_FEATURES": {
"type": "array",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The name of privacy solution feature"
}
}
}
}
}
},
"x-cc-api-group": "ASSET_TYPE_SPECIFIC_METRICS"
},
"SEO_TITLE": {
"type": "string",
"description": "The title that appears when you post this page on social media.",
"x-cc-api-group": "SEO"
},
"SEO_DESCRIPTION": {
"type": "string",
"description": "The description that appears when you post this page on social media.",
"x-cc-api-group": "SEO"
},
"CODE_REPOSITORIES": {
"type": "array",
"description": "The open source code repositories where the code for this blockchain / token is.",
"items": {
"type": "object",
"properties": {
"URL": {
"type": "string",
"description": "The URL of the code repository.",
"example": "https://github.com/user/repo"
},
"MAKE_3RD_PARTY_REQUEST": {
"type": "boolean",
"description": "This is used by our content editors to disable endpoints when needed."
},
"OPEN_ISSUES": {
"type": "integer",
"description": "The number of open issues in the code repository. An open issue is a reported problem, suggestion, or task related to a repository that has not been resolved or closed yet, providing a platform for users to track and discuss the ongoing development and improvements of a project."
},
"CLOSED_ISSUES": {
"type": "integer",
"description": "The number of closed issues in the code repository. A closed issue is a reported problem, suggestion, or task related to a repository that have been resolved or deemed no longer relevant, providing a record of past challenges and solutions within the project development."
},
"OPEN_PULL_REQUESTS": {
"type": "integer",
"description": "The number of open pull requests in the code repository. An open pull request on GitHub is a proposed change to a repository's codebase that is open for review and discussion, offering contributors an opportunity to improve the project and maintainers to accept, reject, or request changes before integrating the proposed modifications."
},
"CLOSED_PULL_REQUESTS": {
"type": "integer",
"description": "The number of closed pull requests in the code repository. A closed pull request is a proposed change to a repository's codebase that has been either accepted and merged into the codebase, rejected by the maintainers, or withdrawn by the submitter, providing a record of changes that were suggested and their outcomes in the project's development history."
},
"CONTRIBUTORS": {
"type": "integer",
"description": "The number of contributors in the code repository. A contributor is a users who has contributed to a project by making changes or improvements to the project's codebase, having their changes accepted and merged, and is acknowledged for their contributions in the project's development history."
},
"FORKS": {
"type": "integer",
"description": "The number of forks of this code repository. A fork in GitHub is a feature that allows users to create a personal copy of another repository, enabling them to modify, experiment with, or contribute to the project without affecting the original work."
},
"STARS": {
"type": "integer",
"description": "The number of stars in the code repository. A star is when a GitHub user bookmarks or wants to show appreciation for a particular repository, much like a \"like\" or \"favorite\" function on other social media platforms."
},
"SUBSCRIBERS": {
"type": "integer",
"description": "The number of subscribers to the code repository. A subscriber is a user who has chosen to receive notifications for updates or changes made to a specific repository, allowing them to closely follow the development and discussions of a project."
},
"LAST_UPDATED_TS": {
"type": "number",
"description": "The timestamp we last tried to get data for this code repository."
},
"CREATED_AT": {
"type": "number",
"description": "The timestamp the code repository was created."
},
"UPDATED_AT": {
"type": "number",
"description": "The timestamp of the last changes that occured in the code repository."
},
"LAST_PUSH_TS": {
"type": "number",
"description": "The timestamp of the last commit to the code repository."
},
"CODE_SIZE_IN_BYTES": {
"type": "integer",
"description": "The total size of this code repository in bytes."
},
"IS_FORK": {
"type": "boolean",
"description": "Is this repository a fork of another code repository."
},
"LANGUAGE": {
"type": "string",
"description": "The primary programming language of the code repository."
},
"FORKED_ASSET_DATA": {
"type": "object",
"description": "The asset this repository is forked from",
"properties": {
"ID": {
"type": "integer",
"description": "The unique identifier for the asset",
"example": 1
},
"SYMBOL": {
"type": "string",
"description": "Internal mapped symbol for a specific asset",
"example": "BTC"
},
"CODE_REPOSITORY_URL": {
"type": "string",
"description": "The URL of the asset's code repository.",
"example": "https://github.com/bitcoin/bitcoin"
}
}
},
"ENDPOINTS_USED": {
"type": "array",
"description": "List of endpoints used for retrieving code repository data.",
"items": {
"type": "object",
"properties": {
"URL": {
"type": "string",
"description": "The URL of the code repository endpoint that was called."
},
"TYPE": {
"type": "string",
"description": "The type of the code repository endpoint that was called."
},
"LAST_CALL": {
"type": "number",
"description": "The timestamp of the last call made to the code repository endpoint."
},
"LAST_CALL_SUCCESS": {
"type": "number",
"description": "The timestamp of the last successful call made to the code repository endpoint."
},
"EXTERNAL_CACHE_KEY": {
"type": "string",
"description": "The External Cache key (E-Tag) is a header that provides a mechanism for web caches and clients to validate cached resources, this is used for determining if a request has change since it's last call"
}
}
}
}
}
},
"x-cc-api-group": "SOCIAL"
},
"SUBREDDITS": {
"type": "array",
"description": "The link for subreddits plus data we collect from them.",
"items": {
"type": "object",
"properties": {
"URL": {
"type": "string",
"description": "The URL of the subreddit.",
"example": "https://www.reddit.com/r/abc"
},
"MAKE_3RD_PARTY_REQUEST": {
"type": "boolean",
"description": "This is used by our content editors to disable endpoints when needed."
},
"NAME": {
"type": "string",
"description": "The name of the subreddit."
},
"CURRENT_ACTIVE_USERS": {
"type": "integer",
"description": "The number of currently active users in the subreddit."
},
"AVERAGE_POSTS_PER_DAY": {
"type": "number",
"description": "The computed daily average number of posts within a specific subreddit. This figure is determined by examining the most recent 100 posts within the subreddit and utilizing their frequency to extrapolate an average daily post count."
},
"AVERAGE_POSTS_PER_HOUR": {
"type": "number",
"description": "The computed hourly average number of posts within a specific subreddit. This figure is determined by examining the most recent 100 posts within the subreddit and utilizing their frequency to extrapolate an average hourly post count."
},
"AVERAGE_COMMENTS_PER_DAY": {
"type": "number",
"description": "The computed daily average number of comments within a specific subreddit. This figure is determined by examining the most recent 100 comments within the subreddit and utilizing their frequency to extrapolate an average daily comment count."
},
"AVERAGE_COMMENTS_PER_HOUR": {
"type": "number",
"description": "The computed hourly average number of comments within a specific subreddit. This figure is determined by examining the most recent 100 comments within the subreddit and utilizing their frequency to extrapolate an average hourly comment count."
},
"SUBSCRIBERS": {
"type": "integer",
"description": "The number of subscribers to the subreddit."
},
"COMMUNITY_CREATED_AT": {
"type": "number",
"description": "The timestamp when the subreddit community was created."
},
"LAST_UPDATED_TS": {
"type": "number",
"description": "The timestamp of the last update to the subreddit."
},
"ENDPOINTS_USED": {
"type": "array",
"description": "List of endpoints used for retrieving subreddit data.",
"items": {
"type": "object",
"properties": {
"URL": {
"type": "string",
"description": "The URL of the subreddit endpoint that was called."
},
"TYPE": {
"type": "string",
"description": "The type of subreddit endpoint that was called."
},
"LAST_CALL": {
"type": "number",
"description": "The timestamp of the last call made to the subreddit endpoint."
},
"LAST_CALL_SUCCESS": {
"type": "number",
"description": "The timestamp of the last successful call made to the subreddit endpoint."
}
}
}
}
}
},
"x-cc-api-group": "SOCIAL"
},
"TWITTER_ACCOUNTS": {
"type": "array",
"description": "The link for the official Twitter account plus data we collect from them.",
"items": {
"type": "object",
"properties": {
"URL": {
"type": "string",
"description": "The URL of the Twitter account.",
"example": "https://twitter.com/user"
},
"MAKE_3RD_PARTY_REQUEST": {
"type": "boolean",
"description": "This is used by our content editors to disable endpoints when needed."
},
"NAME": {
"type": "string",
"description": "The name of the Twitter account."
},
"USERNAME": {
"type": "string",
"description": "The username of the Twitter account."
},
"VERIFIED": {
"type": "boolean",
"description": "The verification status of the Twitter account."
},
"VERIFIED_TYPE": {
"type": "string",
"description": "The verification type of the Twitter account."
},
"FOLLOWING": {
"type": "integer",
"description": "The number of accounts followed by this Twitter account."
},
"FOLLOWERS": {
"type": "integer",
"description": "The number of followers of this Twitter account."
},
"FAVOURITES": {
"type": "integer",
"description": "The total number of tweets favorited by this Twitter account."
},
"LISTS": {
"type": "integer",
"description": "The total number of lists this Twitter account is a member of."
},
"STATUSES": {
"type": "integer",
"description": "The total number of tweets and retweets made by this Twitter account."
},
"ACCOUNT_CREATED_AT": {
"type": "number",
"description": "The timestamp of when the Twitter account was created."
},
"LAST_UPDATED_TS": {
"type": "number",
"description": "The timestamp of the last update to the Twitter account."
}
}
},
"x-cc-api-group": "SOCIAL"
},
"DISCORD_SERVERS": {
"type": "array",
"description": "The link for Discord servers plus data we collect from them.",
"items": {
"type": "object",
"properties": {
"URL": {
"type": "string",
"description": "The URL of the Discord server.",
"example": "https://discord.com/invite/abc"
},
"MAKE_3RD_PARTY_REQUEST": {
"type": "boolean",
"description": "This is used by our content editors to disable endpoints when needed."
},
"NAME": {
"type": "string",
"description": "The name of the Discord server."
},
"TOTAL_MEMBERS": {
"type": "integer",
"description": "The total number of users/members in this Discord server."
},
"CURRENT_ACTIVE_USERS": {
"type": "integer",
"description": "The number of online users in this Discord server."
},
"PREMIUM_SUBSCRIBERS": {
"type": "integer",
"description": "The number of premium subscribers in this Discord server."
},
"LAST_UPDATED_TS": {
"type": "number",
"description": "The timestamp of the last update to the Discord server."
},
"ENDPOINTS_USED": {
"type": "array",
"description": "List of endpoints used for retrieving Discord server data.",
"items": {
"type": "object",
"properties": {
"URL": {
"type": "string",
"description": "The URL of the Discord server endpoint that was called."
},
"TYPE": {
"type": "string",
"description": "The type of Discord server endpoint that was called."
},
"LAST_CALL": {
"type": "number",
"description": "The timestamp of the last call made to the Discord server endpoint."
},
"LAST_CALL_SUCCESS": {
"type": "number",
"description": "The timestamp of the last successful call made to the Discord server endpoint."
}
}
}
}
}
},
"x-cc-api-group": "SOCIAL"
},
"TELEGRAM_GROUPS": {
"type": "array",
"description": "The link for the official Telegram pages plus data we collect from them.",
"items": {
"type": "object",
"properties": {
"URL": {
"type": "string",
"description": "The URL of the Telegram group.",
"example": "https://t.me/s/channelName"
},
"MAKE_3RD_PARTY_REQUEST": {
"type": "boolean",
"description": "This is used by our content editors to disable endpoints when needed."
},
"NAME": {
"type": "string",
"description": "The name of the Telegram group."
},
"USERNAME": {
"type": "string",
"description": "The username of the Telegram group."
},
"MEMBERS": {
"type": "integer",
"description": "The total number of members in the Telegram group."
},
"LAST_UPDATED_TS": {
"type": "number",
"description": "The timestamp of the last update to the Telegram group."
},
"ENDPOINTS_USED": {
"type": "array",
"description": "List of endpoints used for retrieving Telegram group data.",
"items": {
"type": "object",
"properties": {
"URL": {
"type": "string",
"description": "The URL of the Telegram group for this endpoint call."
},
"TYPE": {
"type": "string",
"description": "The type of endpoint used for retrieving Telegram group data."
},
"LAST_CALL": {
"type": "number",
"description": "The timestamp of the last call made to the Telegram group endpoint."
},
"LAST_CALL_SUCCESS": {
"type": "number",
"description": "The timestamp of the last successful call made to the Telegram group endpoint."
}
}
}
}
}
},
"x-cc-api-group": "SOCIAL"
},
"ASSOCIATED_CONTACT_DETAILS": {
"type": "array",
"description": "Associated contact addresses for the team members, employees or affiliated contacts.",
"items": {
"type": "object",
"properties": {
"CONTACT_TYPE": {
"type": "string"
},
"CONTACT_MEDIUM": {
"type": "string"
},
"FULL_NAME": {
"type": "string"
},
"ADDRESS": {
"type": "string",
"description": "The email / linkedin addres / twitter / other social media address"
},
"COMMENTS": {
"type": "string"
}
}
},
"x-cc-api-group": "CONTACT"
},
"OTHER_SOCIAL_NETWORKS": {
"type": "array",
"description": "Any other asset related social networks.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string"
},
"URL": {
"type": "string",
"description": "The URL of the social network.",
"example": "https://example.com"
}
}
},
"x-cc-api-group": "SOCIAL"
},
"HELD_TOKEN_SALE": {
"type": "boolean",
"description": "Use this flag to get access to all the token sale fields.",
"x-cc-api-group": "TOKEN_SALE"
},
"TOKEN_SALES": {
"type": "array",
"description": "An array of token sales.",
"items": {
"type": "object",
"properties": {
"TOKEN_SALE_TYPE": {
"type": "string",
"description": "The type of token sale."
},
"TOKEN_SALE_DATE_START": {
"type": "integer",
"description": "The date and time the ICO will start at. Time is in GMT."
},
"TOKEN_SALE_DATE_END": {
"type": "integer",
"description": "The date the token sale will end at. Time is in GMT."
},
"TOKEN_SALE_DESCRIPTION": {
"type": "string",
"description": "A brief description about the basic aspects of the token sale."
},
"TOKEN_SALE_TEAM_MEMBERS": {
"type": "array",
"description": "The team members that are working on the project",
"items": {
"type": "object",
"properties": {
"TYPE": {
"type": "string"
},
"FULL_NAME": {
"type": "string"
},
"ADDRESS": {
"type": "string",
"description": "The email / linkedin addres / twitter / other social media address"
},
"COMMENTS": {
"type": "string"
}
}
}
},
"TOKEN_SALE_WEBSITE_URL": {
"type": "string",
"description": "The link of the ICO page."
},
"TOKEN_SALE_SUPPLY": {
"type": "number",
"description": "Total number of tokens available for the token sale."
},
"TOKEN_SUPPLY_POST_SALE": {
"type": "string",
"description": "The numbers of tokens post Sale"
},
"TOKEN_SALE_PAYMENT_METHOD_TYPE": {
"type": "string",
"description": "The payment method for the token sale. The currencies that are accepted in this token sale."
},
"TOKEN_SALE_START_PRICE": {
"type": "number",
"description": "The start price of the token sale."
},
"TOKEN_SALE_START_PRICE_CURRENCY": {
"type": "string",
"description": "The currency of the start price."
},
"TOKEN_SALE_FUNDING_CAP": {
"type": "number",
"description": "Hard cap refers to the maximum number of tokens that can be sold, is the maximum amount of funds the development team is willing to collect to move forward with project."
},
"TOKEN_SALE_FUNDING_CAP_CURRENCY": {
"type": "string",
"description": "This is the maximum amount of funds the development team is willing to collect to move forward with project."
},
"TOKEN_SALE_FUNDING_TARGET": {
"type": "number",
"description": "If the token sale is unable to raise this amount, it may be cancelled and the collected funds returned to the participants."
},
"TOKEN_SALE_FUNDING_TARGET_CURRENCY": {
"type": "string",
"description": "If the token sale is unable to raise this amount, it may be cancelled and the collected funds returned to the participants."
},
"TOKEN_SALE_FUNDS_RAISED": {
"type": "array",
"description": "The total funds that the project raised in the token sale (tokens sold).",
"items": {
"type": "object",
"properties": {
"CURRENCY": {
"type": "string",
"description": "The currency for funds raised."
},
"TOTAL_VALUE": {
"type": "number"
},
"DESCRIPTION": {
"type": "string"
}
}
}
},
"TOKEN_SALE_FUNDS_RAISED_USD": {
"type": "number",
"description": "Total $ raised in this token sale."
},
"TOKEN_SALE_INVESTORS_SPLIT": {
"type": "array",
"description": "The way the tokens that are sold are split",
"items": {
"type": "object",
"properties": {
"CATEGORY": {
"type": "string"
},
"TOTAL_TOKENS": {
"type": "number"
},
"DESCRIPTION": {
"type": "string"
}
}
}
},
"TOKEN_SALE_RESERVE_SPLIT": {
"type": "array",
"description": "The way the tokens that are not sold are split",
"items": {
"type": "object",
"properties": {
"CATEGORY": {
"type": "string",
"description": "The type of reserve split"
},
"TOTAL_TOKENS": {
"type": "number",
"description": "Total tokens set aside"
},
"ADDRESS": {
"type": "string",
"description": "The address where these tokens as kept"
},
"DESCRIPTION": {
"type": "string",
"description": "A description for how they intend to use the funds."
}
}
}
},
"TOKEN_SALE_NOTABLE_INVESTORS": {
"type": "array",
"description": "The notable investors in the token sale",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string"
},
"TOTAL_TOKENS": {
"type": "number"
},
"DESCRIPTION": {
"type": "string"
}
}
}
},
"TOKEN_SALE_LAUNCHPADS": {
"type": "array",
"description": "Launchpads/Exchanges in which the offering has/is taking place",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "Launchpad/Exchange in which the offering is taking place"
}
}
}
},
"TOKEN_SALE_JURISDICTIONS": {
"type": "array",
"description": "The countries where the company doing the token sales is based or where its subsidiaries are based.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The country where the company doing the token sales is based or has a subsidiary."
}
}
}
},
"TOKEN_SALE_REGULATORY_FRAMEWORKS": {
"type": "array",
"description": "The name of the regulatory frameworks. Example: SEC, FCA, etc.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The regulatory framework."
}
}
}
},
"TOKEN_SALE_LEGAL_ADVISERS": {
"type": "array",
"description": "The lawyers that are advising the ICO on the structure.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The lawyers that are advising the ICO on the structure."
}
}
}
},
"TOKEN_SALE_LEGAL_FORMS": {
"type": "array",
"description": "The type of company or subsidiaries.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The type of company or subsidiaries."
}
}
}
},
"TOKEN_SALE_SECURITY_AUDIT_COMPANIES": {
"type": "array",
"description": "The companies that did the security audit on the smart contract.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "One of the companies that did the security audit on the smart contract."
},
"AUDIT_DOCUMENT": {
"type": "string"
}
}
}
}
}
},
"x-cc-api-group": "TOKEN_SALE"
},
"HELD_EQUITY_SALE": {
"type": "boolean",
"description": "Use this flag to get access to all the equity sale fields.",
"x-cc-api-group": "EQUITY_SALE"
},
"EQUITY_SALES": {
"type": "array",
"description": "An array of equity sales. An equity sale refers to shares in the company behind a token, a token sales refers to selling tokens that don't give you rights in the company",
"items": {
"type": "object",
"properties": {
"EQUITY_SALE_STAGE": {
"type": "string",
"description": "The stage of equity sale."
},
"EQUITY_SALE_ENTITY_NAME": {
"type": "string",
"description": "The leagl name of the company that the equity will be related to."
},
"EQUITY_SALE_ANNOUNCEMENT_DATE": {
"type": "integer",
"description": "The date and time the equity sale was announced. Time is in UTC."
},
"EQUITY_SALE_CLOSE_DATE": {
"type": "integer",
"description": "The date the equity sale will/has ended at. Time is in UTC."
},
"EQUITY_SALE_DESCRIPTION": {
"type": "string",
"description": "A brief description about the basic aspects of the equity sale."
},
"EQUITY_SALE_TEAM_MEMBERS": {
"type": "array",
"description": "The CxO members that are working at the company.",
"items": {
"type": "object",
"properties": {
"JOB_TITLE": {
"type": "string"
},
"FULL_NAME": {
"type": "string"
},
"ADDRESS": {
"type": "string",
"description": "The email / linkedin addres / twitter / other social media address"
},
"COMMENTS": {
"type": "string"
}
}
}
},
"EQUITY_SALE_ENTITY_URL": {
"type": "string",
"description": "The link of the equity sale page."
},
"EQUITY_SALE_SUPPLY": {
"type": "number",
"description": "Total number of shares available for the equity sale."
},
"TOTAL_EQUITY_SUPPLY_POST_RAISE": {
"type": "number",
"description": "Total number of shares the company has issued including the shares in this equity sale."
},
"EQUITY_SALE_FUNDING_TARGET": {
"type": "number",
"description": "If the equity sale is unable to raise this amount, it may be cancelled and the collected funds returned to the participants."
},
"EQUITY_SALE_FUNDING_TARGET_CURRENCY": {
"type": "string",
"description": "If the equity sale is unable to raise this amount, it may be cancelled and the collected funds returned to the participants."
},
"EQUITY_SALE_FUNDS_RAISED": {
"type": "array",
"description": "The total funds that the project raised in the equity sale.",
"items": {
"type": "object",
"properties": {
"CURRENCY": {
"type": "string",
"description": "The currency for funds raised."
},
"TOTAL_VALUE": {
"type": "number"
},
"TOTAL_EQUITY": {
"type": "number"
},
"DESCRIPTION": {
"type": "string"
}
}
}
},
"EQUITY_SALE_FUNDS_RAISED_USD": {
"type": "number",
"description": "Total $ raised in this equity sale."
},
"EQUITY_SALE_NOTABLE_INVESTORS": {
"type": "array",
"description": "The notable investors in the equity sale",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string"
},
"TOTAL_EQUITY_RECEIVED": {
"type": "number"
},
"INVESTMENT_VALUE": {
"type": "number"
},
"INVESTMENT_CURRENCY": {
"type": "string",
"description": "The currency for funds raised."
},
"IS_LEAD_INVESTOR": {
"type": "boolean"
},
"DESCRIPTION": {
"type": "string"
}
}
}
},
"EQUITY_SALE_JURISDICTIONS": {
"type": "array",
"description": "The countries where the company doing the equity sale is based or where its subsidiaries are based.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The country where the company doing the equity sales is based or has a subsidiary."
}
}
}
},
"EQUITY_SALE_REGULATORY_FRAMEWORKS": {
"type": "array",
"description": "The name of the regulatory frameworks. Example: SEC, FCA, etc.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The regulatory framework."
}
}
}
},
"EQUITY_SALE_LEGAL_ADVISERS": {
"type": "array",
"description": "The lawyers that are advising the company on the equity sale structure.",
"items": {
"type": "object",
"properties": {
"NAME": {
"type": "string",
"description": "The lawyers that are advising the company on the equity sale structure."
}
}
}
}
}
},
"x-cc-api-group": "EQUITY_SALE"
},
"ROOT_ASSET_ID": {
"type": "integer",
"description": "The unique identifier for the asset the field is associated to.",
"example": 2,
"x-cc-api-group": "ID"
},
"ROOT_ASSET_SYMBOL": {
"type": "string",
"description": "Asset Symbol of the root asset",
"example": "ETH",
"x-cc-api-group": "ID"
},
"ROOT_ASSET_TYPE": {
"type": "string",
"description": "Asset type of the root asset",
"example": "BLOCKCHAIN",
"x-cc-api-group": "ID"
},
"PRICE_USD": {
"type": "number",
"description": "Denotes the current price of the asset in U.S. dollars. This value is used to populate toplists and is calculated based on real-time market data.",
"x-cc-api-group": "PRICE"
},
"PRICE_USD_SOURCE": {
"type": "string",
"description": "Denotes the source this U.S. dollars price data was gotten from.",
"x-cc-api-group": "PRICE"
},
"PRICE_USD_LAST_UPDATE_TS": {
"type": "number",
"description": "The unix timestamp when the asset in U.S. dollars was last updated.",
"x-cc-api-group": "PRICE"
},
"CIRCULATING_MKT_CAP_USD": {
"type": "number",
"description": "Calculated as the product of the asset's circulating supply and its current price in USD (we somtimes apply a MKT_CAP_PENALTY depending on liquidty conditions). This is used to rank assets in toplists based on their circulating market capitalization.",
"x-cc-api-group": "MKT_CAP"
},
"TOTAL_MKT_CAP_USD": {
"type": "number",
"description": "Calculated as the product of the asset's total supply and its current price in USD (we somtimes apply a MKT_CAP_PENALTY depending on liquidty conditions). This figure gives an overview of the total value of all issued tokens for a given asset.",
"x-cc-api-group": "MKT_CAP"
},
"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_DIRECT_USD": {
"type": "number",
"description": "Aggregated volume of the asset traded on instruments that have the quote currency matching the asset across all integrated spot markets. Provides insights into the liquidity and trading activity of the asset.",
"x-cc-api-group": "VOLUME"
},
"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_DIRECT_USD": {
"type": "number",
"description": "Aggregated volume of the asset traded on instruments that have the quote currency matching the asset across all integrated spot markets.",
"x-cc-api-group": "VOLUME"
},
"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_USD": {
"type": "number",
"description": "Aggregated 24 hours volume of the asset traded on instruments that have the quote currency matching the asset in spot markets that we consider top tier. These markets meet specific quality criteria, offering a more curated view of trading activity.",
"x-cc-api-group": "VOLUME"
},
"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_USD": {
"type": "number",
"description": "Aggregated volume of the asset traded on instruments that have the quote currency matching the asset across all integrated spot markets. Useful for understanding demand and trading interest.",
"x-cc-api-group": "VOLUME"
},
"SPOT_MOVING_24_HOUR_CHANGE_USD": {
"type": "number",
"description": "Aggregated 24 hours volume of the asset traded on instruments that have the currency matching the asset across all integrated spot markets.",
"x-cc-api-group": "CHANGE"
},
"SPOT_MOVING_24_HOUR_CHANGE_PERCENTAGE_USD": {
"type": "number",
"description": "Aggregated 24 hours percentage change of the asset traded on instruments that have the currency matching the asset across all integrated spot markets.",
"x-cc-api-group": "CHANGE"
},
"TOPLIST_BASE_RANK": {
"type": "object",
"description": "Indicates the asset’s position in our global asset ranking. There are multiple ranks, each is determined by at least one factor, such as asset launch date, market cap, trading volume, etc..",
"properties": {
"CREATED_ON": {
"type": "integer",
"description": "Rank based on CREATED_ON sorted ASC from earliest created to most recent one."
},
"LAUNCH_DATE": {
"type": "integer",
"description": "Rank based on LAUNCH_DATE sorted ASC from earliest launched to most recently launched one."
},
"PRICE_USD": {
"type": "integer",
"description": "Rank based on PRICE_USD sorted DESC from most expensive asset to cheapest one."
},
"CIRCULATING_MKT_CAP_USD": {
"type": "integer",
"description": "Rank based on CIRCULATING_MKT_CAP_USD sorted DESC from highest circulating market cap to lowest."
},
"TOTAL_MKT_CAP_USD": {
"type": "integer",
"description": "Rank based on TOTAL_MKT_CAP_USD sorted DESC from highest total market cap to lowest."
},
"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_DIRECT_USD": {
"type": "integer",
"description": "Rank based on SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_DIRECT_USD sorted DESC from highest quote volume accross top tier markets that trade directly to USD to lowest."
},
"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_DIRECT_USD": {
"type": "integer",
"description": "Rank based on SPOT_MOVING_24_HOUR_QUOTE_VOLUME_DIRECT_USD sorted DESC from highest volume accross all markets that trade directly to USD to lowest."
},
"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_USD": {
"type": "integer",
"description": "Rank based on SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_USD sorted DESC from highest quote volume accross top tier markets to lowest."
},
"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_USD": {
"type": "integer",
"description": "Rank based on SPOT_MOVING_24_HOUR_QUOTE_VOLUME_USD sorted DESC from highest quote volume accross all markets to lowest."
},
"SPOT_MOVING_24_HOUR_CHANGE_USD": {
"type": "integer",
"description": "Rank based on SPOT_MOVING_24_HOUR_CHANGE_USD sorted DESC from highest change accross all markets to lowest."
},
"SPOT_MOVING_24_HOUR_CHANGE_PERCENTAGE_USD": {
"type": "integer",
"description": "Rank based on SPOT_MOVING_24_HOUR_CHANGE_PERCENTAGE_USD sorted DESC from highest percentage change accross all markets to lowest."
}
},
"x-cc-api-group": "TOPLIST_RANK"
},
"TOTAL_ENDPOINTS_OK": {
"type": "integer",
"description": "Total endpoints we have successfully called in the last 24 hours.",
"x-cc-api-group": "INTERNAL"
},
"TOTAL_ENDPOINTS_WITH_ISSUES": {
"type": "integer",
"description": "Total endpoints that have not had a successfull call in the last 24 hours.",
"x-cc-api-group": "INTERNAL"
}
}
}
},
"Err": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
}
}
}
},
"/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": {
"type": "object",
"properties": {
"Data": {
"type": "object",
"additionalProperties": {
"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"
}
}
}
},
"Err": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
}
}
}
},
"/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": {
"type": "object",
"properties": {
"Data": {
"type": "object",
"additionalProperties": {
"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"
}
}
}
},
"Err": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"400": {
"description": "The 400 error occurs when some of the data sent is malformed.",
"content": {
"application/json": {
"schema": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
},
"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": {
"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"
}
}
}
}
}
}
}
}
}
}
}
}
}
}
},
"components": {
"schemas": {}
},
"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 first 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."
}
]
}Investment Explorer API
This API provides fundamental ratings for cryptocurrencies to help compare or rate specific cryptocurrencies.
POST /get-coin-fundamentalsRetrieve fundamental ratings for specified cryptocurrencies.This endpoint returns fundamental ratings like Ecosystem, Performance, Roadmap, Stakeholders, Technology, and Tokenomics for given cryptocurrency symbols.
원본 API 스키마
{
"openapi": "3.0.0",
"info": {
"title": "Investment Explorer API",
"description": "This API provides fundamental ratings for cryptocurrencies to help compare or rate specific cryptocurrencies.",
"version": "1.0.0"
},
"servers": [
{
"url": "https://api.investmentexplorer.cc",
"description": "Main API server"
}
],
"paths": {
"/get-coin-fundamentals": {
"post": {
"operationId": "getCoinFundamentals",
"summary": "Retrieve fundamental ratings for specified cryptocurrencies.",
"description": "This endpoint returns fundamental ratings like Ecosystem, Performance, Roadmap, Stakeholders, Technology, and Tokenomics for given cryptocurrency symbols.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"symbols": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "An array of cryptocurrency symbols (max 10) for which the fundamentals are requested."
}
}
}
}
}
},
"responses": {
"200": {
"description": "A JSON object containing fundamental ratings for each requested cryptocurrency symbol.",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"Ecosystem": {
"type": "number"
},
"Performance": {
"type": "number"
},
"Roadmap": {
"type": "number"
},
"Stakeholders": {
"type": "number"
},
"Technology": {
"type": "number"
},
"Tokenomics": {
"type": "number"
}
}
}
}
}
}
}
}
}
}
}
}Crypto Fear & Greed Index API
API to access historical data for the Crypto Fear & Greed Index.
POST /historyRetrieves historical data for the Crypto Fear & Greed Index.
원본 API 스키마
{
"openapi": "3.0.0",
"info": {
"title": "Crypto Fear & Greed Index API",
"description": "API to access historical data for the Crypto Fear & Greed Index.",
"version": "1.0.0"
},
"servers": [
{
"url": "https://alternative.me/api/crypto/fear-and-greed-index",
"description": "Main API server"
}
],
"paths": {
"/history": {
"post": {
"operationId": "postCryptoFearGreedIndexHistory",
"summary": "Retrieves historical data for the Crypto Fear & Greed Index.",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"days": {
"type": "integer",
"description": "Number of days for which to retrieve historical data."
}
}
}
}
}
},
"responses": {
"200": {
"description": "Successful response with historical data",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"datasets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"fill": {
"type": "boolean"
},
"data": {
"type": "array",
"items": {
"type": "integer"
}
},
"backgroundColor": {
"type": "string"
},
"borderColor": {
"type": "string"
}
}
}
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"success": {
"type": "integer",
"description": "Indicates if the request was successful."
}
}
}
}
}
}
}
}
}
}
}