{"openapi":"3.0.3","info":{"title":"CoinDesk.com Market, Index, Reference Data, News and Overview Metrics API for the Cryptocurrency Industry","description":"# CoinDesk.com  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@coindesk.com"},"license":{"name":"CoinDesk.com API License Agreement","url":"https://www.cryptocompare.com/api-licence-agreement/"},"version":"2.1.1455"},"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 provides the latest tick data for selected index instruments across various indices, offering real-time insights into index values and comprehensive OHLC (Open, High, Low, Close) metrics, aggregated over multiple time intervals. By capturing the most up-to-date index information, it e","x-extended-description-with-markdown":"This endpoint provides the latest tick data for selected index instruments across various indices, offering real-time insights into index values and comprehensive OHLC (Open, High, Low, Close) metrics, aggregated over multiple time intervals. By capturing the most up-to-date index information, it enables precise analysis and decision-making in a fast-moving market environment. \n        \nThe endpoint supports four response types, each designed to serve specific index data requirements and methodologies:\n- **Type 246 (Direct Trading Methodology - e.g., CCIX)**: Delivers accurate index values based on direct trading activities, using consistent base and quote pairs to represent real-time prices.\n- **Type 266 (Real-Time Adaptive Methodology - e.g., CADLI/USD)**: Aggregates prices from all asset pairs into a single currency, providing comprehensive price discovery and understanding of asset price dynamics.\n- **Type 985 (Real-Time Adaptive Methodology + Conversion)**: Applies CADLI's aggregation to derive a USD price for assets, offering flexibility in analyzing multiple currencies or digital assets through conversion.\n- **Type 987 (Real-Time Adaptive Methodology + Inversion)**: Extends the CADLI USD methodology by enabling value inversions, allowing USD values to be converted into other currencies or assets for diverse financial analysis.\n\n### Key Features\n- **Real-Time Tick Data**: Access the latest tick data with detailed index values and aggregated OHLC metrics for various timeframes.\n- **Multiple Methodologies**: Choose between direct trading prices, adaptive price aggregation, and methodologies involving currency conversion and inversion.\n- **Comprehensive Market Coverage**: Index data for diverse instruments across multiple indices, providing a holistic view of price dynamics.\n- **Granular Timeframes**: Data aggregated across multiple time intervals, allowing for both short-term and long-term market analysis.\n\n### Use Cases\n- **Real-Time Decision-Making**: Traders and algorithms leverage the most current tick data to make precise and timely trading decisions based on live market conditions.\n- **Market Trend Analysis**: Analysts use minutely and hourly data to detect short-term trends, while daily aggregated data supports longer-term strategy development.\n- **Price Discovery and Asset Analysis**: Indexes that aggregate prices across various pairs help market participants understand the true value of assets in real-time.\n- **Financial Reporting and Compliance**: Ensures timely and accurate data for auditing and regulatory purposes, allowing for thorough reporting and analysis.\n\n### Target Audience\n- **High-Frequency Traders**: Rely on up-to-the-moment tick data to inform split-second trading decisions.\n- **Intraday Traders**: Use granular data to optimize trades and manage risk within the trading day.\n- **Financial Analysts and Portfolio Managers**: Utilize daily and long-term trends to inform portfolio adjustments and strategic decisions.\n- **Compliance Professionals**: Depend on detailed and timely index data to meet regulatory standards and audit requirements.\n\n### Data Handling Notes\n- **Handling Aggregated Data**: Each tick offers aggregated OHLC metrics across various intervals, so users can select the most relevant timeframe for their analysis.\n- **Index Name Selection:** Users provide the index name (e.g., CADLI, CCIX) in their request, and the appropriate message type (246, 266, 985, or 987) is automatically returned based on the index's methodology and use case. There is no need to manually select the message type.\n\nYou can read the full product description for CADLI (the CoinDesk Adaptive Diversified Liquidity Index) on our [CADLI reference rate product and methodology page](https://ccdata.io/indices/cadli).\nYou can read the full product description for CCIX (formerly CCCAGG) on our [CCIX reference rate product and methodology page](https://ccdata.io/indices/ccix).","tags":["Indices & Ref. Rates"],"operationId":"index_cc_v1_latest_tick","x-section":"Indices & Ref. 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","enum":["cadli","cchkex","cchkex_eod","ccix","cber","cbr","cbrsett","cbersett","ccixdev","ccmvda_coint","ccmvda_virt","ccxrp","cd_mc","cdi_b","cdi_mda","cdi_ti","cdisett","cdmcdev","cdor","nasdaq_single","rr_spot","rr_vwap","sda","sgx_rr","sgxrt","sgxtwap"],"x-enum-properties-info":{"cchkex":{"visibilityRolesRequired":["ifam_hkex_r","customer_support"]},"cchkex_eod":{"visibilityRolesRequired":["customer_support"]},"ccixbe":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"cber":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"ccixber":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"cbr":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"ccixbervwap":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"cbrsett":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"ccixbevwap":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"cbersett":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"ccixdev":{"visibilityRolesRequired":["customer_support"]},"ccmvda_coint":{"visibilityRolesRequired":["ifam_coinbase_int_r","customer_support"]},"ccmvda_virt":{"visibilityRolesRequired":["ifam_mvis_r","customer_support"]},"cdi_ti":{"visibilityRolesRequired":["ifam_coindesk_r","customer_support"]},"cdisett":{"visibilityRolesRequired":["ifam_cdisett_r","customer_support","ifam_coindesk_r"]},"cdmcdev":{"visibilityRolesRequired":["i_cd20_r","customer_support"]},"nasdaq_single":{"visibilityRolesRequired":["customer_support"]},"rr_spot":{"visibilityRolesRequired":["customer_support"]},"rr_vwap":{"visibilityRolesRequired":["ifam_coindesk_r","ifam_rr_vwap_r","customer_support"]},"sgx_rr":{"visibilityRolesRequired":["ifam_sgxrr_r","customer_support"]},"sgxrt":{"visibilityRolesRequired":["ifam_sgxrr_r","customer_support"]},"sgxtwap":{"visibilityRolesRequired":["customer_support"]}},"x-visibility-roles-required-enum":{"cchkex":["ifam_hkex_r","customer_support"],"cchkex_eod":["customer_support"],"ccixbe":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"cber":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"ccixber":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"cbr":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"ccixbervwap":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"cbrsett":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"ccixbevwap":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"cbersett":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"ccixdev":["customer_support"],"ccmvda_coint":["ifam_coinbase_int_r","customer_support"],"ccmvda_virt":["ifam_mvis_r","customer_support"],"cdi_ti":["ifam_coindesk_r","customer_support"],"cdisett":["ifam_cdisett_r","customer_support","ifam_coindesk_r"],"cdmcdev":["i_cd20_r","customer_support"],"nasdaq_single":["customer_support"],"rr_spot":["customer_support"],"rr_vwap":["ifam_coindesk_r","ifam_rr_vwap_r","customer_support"],"sgx_rr":["ifam_sgxrr_r","customer_support"],"sgxrt":["ifam_sgxrr_r","customer_support"],"sgxtwap":["customer_support"]},"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":50,"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","LAST_ADJUSTED","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"],"x-enum-properties-info":{"ID":{"name":"ID","description":"Identifies the market, instrument, or data source with key metadata."},"VALUE":{"name":"VALUE","description":"Represents the latest value for an index or instrument, often used to track real-time price or metric changes."},"LAST_UPDATE":{"name":"LAST_UPDATE","description":"Contains information about the timestamp and value of the most recent market update."},"LAST_ADJUSTED":{"name":"LAST_ADJUSTED","description":"The LAST_ADJUSTED group captures metrics that reflect the most recent tick's adjusted values, incorporating any delayed or updated trades within the last hour. These fields are essential for providing accurate real-time insights into market activity and liquidity."},"CURRENT_HOUR":{"name":"CURRENT_HOUR","description":"Aggregated data for the current hour. Useful for intraday analysis."},"CURRENT_DAY":{"name":"CURRENT_DAY","description":"Provides metrics aggregated for the current day. Useful for tracking daily performance."},"CURRENT_WEEK":{"name":"CURRENT_WEEK","description":"Aggregated metrics for the current week."},"CURRENT_MONTH":{"name":"CURRENT_MONTH","description":"Represents data aggregated for the current calendar month."},"CURRENT_YEAR":{"name":"CURRENT_YEAR","description":"Aggregated data for the current calendar year."},"MOVING_24_HOUR":{"name":"MOVING_24_HOUR","description":"Rolling 24-hour metrics, updated continuously. Useful for monitoring trends outside calendar boundaries."},"MOVING_7_DAY":{"name":"MOVING_7_DAY","description":"Aggregated metrics for the last 7 days, updated on a rolling basis."},"MOVING_30_DAY":{"name":"MOVING_30_DAY","description":"Aggregated metrics for the last 30 days, providing a rolling monthly perspective."},"MOVING_90_DAY":{"name":"MOVING_90_DAY","description":"Metrics for the past 90 days, giving a broader rolling quarterly view."},"MOVING_180_DAY":{"name":"MOVING_180_DAY","description":"Aggregated metrics for the past 180 days, useful for analyzing medium-term trends."},"MOVING_365_DAY":{"name":"MOVING_365_DAY","description":"Rolling metrics for the past year, providing a long-term perspective."},"LIFETIME":{"name":"LIFETIME","description":"Represents all-time metrics since the start of data collection for the specific market or instrument."}}}},"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","description":"An object where each key represents a validated instrument from the required instruments array, and the value contains all the properties defined through the specified groups parameter.","additionalProperties":{"type":"object","x-visible-in-ai":true,"properties":{"TYPE":{"type":"string","description":"Defines the type of response, indicating the expected structure and accompanying fields.","x-cc-api-group":"ID"},"MARKET":{"type":"string","description":"Identifies the requested index code / index family, such as cadli, ccix, ccxrp, etc.","x-cc-api-group":"ID"},"INSTRUMENT":{"type":"string","description":"Represents the internal ID of an unmapped instrument, typically formatted as \"BASE-QUOTE\" (e.g., BTC-USD). This ID is used as a unique identifier for this specific index market / code.","x-cc-api-group":"ID"},"CCSEQ":{"type":"integer","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.","format":"int64","x-cc-api-group":"VALUE"},"VALUE":{"type":"number","description":"The latest calculated value of the index.","x-cc-api-group":"VALUE"},"VALUE_FLAG":{"type":"string","description":"An indicator representing whether the value has increased, decreased, or remained unchanged.","x-cc-api-group":"VALUE"},"VALUE_LAST_UPDATE_TS":{"type":"integer","description":"The time of the latest index update in Unix timestamp format (seconds).","format":"unix_timestamp","x-cc-api-group":"VALUE"},"VALUE_LAST_UPDATE_TS_NS":{"type":"integer","description":"Represents the nanosecond component of the latest index update timestamp. To calculate the full timestamp in nanoseconds, multiply the VALUE_LAST_UPDATE_TS by 1,000,000,000 (to convert seconds to nanoseconds) and then add TIMESTAMP_NS.","format":"int32","x-cc-api-group":"VALUE"},"LAST_UPDATE_QUANTITY":{"type":"number","description":"The base amount (in units) of the trade or order that caused the most recent index update. This might be 0 if the trade's volume is excluded from the calculation.","x-cc-api-group":"LAST_UPDATE"},"LAST_UPDATE_QUOTE_QUANTITY":{"type":"number","description":"The value (in quote currency) of the trade or order that caused the most recent index update. This might be 0 if the trade's volume is excluded from the calculation.","x-cc-api-group":"LAST_UPDATE"},"LAST_UPDATE_VOLUME_TOP_TIER":{"type":"number","description":"This is the same as LAST_UPDATE_QUANTITY but only if the trade or order happened on a \"top-tier\" market, as defined by our criteria. Otherwise, it's 0.","x-cc-api-group":"LAST_UPDATE"},"LAST_UPDATE_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"Similar to LAST_UPDATE_QUOTE_QUANTITY, but only includes trades or orders that occurred on a \"top-tier\" market. Otherwise, it's 0.","x-cc-api-group":"LAST_UPDATE"},"LAST_UPDATE_VOLUME_DIRECT":{"type":"number","description":"The same as LAST_UPDATE_QUANTITY, but only for trades or orders on instruments that directly trade in the index's base currency (e.g., USD for certain indices). Otherwise, it's 0.","x-cc-api-group":"LAST_UPDATE"},"LAST_UPDATE_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The same as LAST_UPDATE_QUOTE_QUANTITY, but only for trades or orders on instruments that directly trade in the index's base currency  (e.g., USD for certain indices). Otherwise, it's 0.","x-cc-api-group":"LAST_UPDATE"},"LAST_UPDATE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"This is the same as LAST_UPDATE_QUANTITY but only for trades or orders that occurred on a \"top-tier\" market and involved instruments that directly trade in the index's base currency (e.g., USD for certain indices). Otherwise, it's 0.","x-cc-api-group":"LAST_UPDATE"},"LAST_UPDATE_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"Similar to LAST_UPDATE_QUOTE_QUANTITY, but only for trades or orders that happened on a \"top-tier\" market and involved instruments that directly trade in the index's base currency (e.g., USD for certain indices). Otherwise, it's 0.","x-cc-api-group":"LAST_UPDATE"},"LAST_UPDATE_CCSEQ":{"type":"integer","description":"The unique, incrementing sequence number assigned to the latest index update. It ensures relative ordering per index and instrument, helping to detect any missed updates. While it does not guarantee chronological order, it is crucial for data integrity.","format":"int64","x-cc-api-group":"LAST_UPDATE"},"CURRENT_HOUR_VOLUME":{"type":"number","description":"The total trade volume (in base units) aggregated from the start of the current hour up to now, updated in real time for streaming and analysis.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_QUOTE_VOLUME":{"type":"number","description":"The total trade value (in quote currency) aggregated from the start of the current hour up to now, updated in real time for streaming and analysis.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_VOLUME_TOP_TIER":{"type":"number","description":"The total trade volume (in base units) from top-tier markets aggregated from the start of the current hour up to now, used for real-time tracking and streaming.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total trade value (in quote currency) from top-tier markets aggregated from the start of the current hour up to now, useful for streaming and analysis.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_VOLUME_DIRECT":{"type":"number","description":"The total trade volume (in base units) from instruments trading directly in the index's base currency, aggregated from the start of the current hour up to now.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from instruments trading directly in the index's base currency, aggregated from the start of the current hour up to now.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade volume (in base units) from top-tier markets and instruments trading directly in the index's base currency, aggregated from the start of the current hour up to now.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from top-tier markets and instruments trading directly in the index's base currency, aggregated from the start of the current hour up to now.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_OPEN":{"type":"number","description":"The value at the start of the current hour, based on the closest update before the hour began.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_HIGH":{"type":"number","description":"The highest value recorded during the current hour, starting from the hour's open. If no updates occur, it remains equal to the open.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_LOW":{"type":"number","description":"The lowest value recorded during the current hour, starting from the hour's open. If no updates occur, it remains equal to the open.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_TOTAL_INDEX_UPDATES":{"type":"integer","description":"The total number of updates recorded since the start of the current hour.","format":"int64","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_CHANGE":{"type":"number","description":"The difference between the current value and the open value of the current hour, represented in the quote currency. If no updates occur, the change is 0.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_HOUR_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change between the current value and the open value of the current hour. If no updates occur, the percentage change is 0.","x-cc-api-group":"CURRENT_HOUR"},"CURRENT_DAY_VOLUME":{"type":"number","description":"The total trade volume (in base units) aggregated from the start of the current day (00:00:00 GMT/UTC) to now, providing a cumulative daily volume for analysis.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_QUOTE_VOLUME":{"type":"number","description":"The total trade value (in quote currency) aggregated from the start of the current day (00:00:00 GMT/UTC) to now, used for tracking daily quote-based volumes.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_VOLUME_TOP_TIER":{"type":"number","description":"The total trade volume (in base units) from top-tier markets aggregated from the start of the current day (00:00:00 GMT/UTC) to now, useful for analyzing high-tier market activity.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total trade value (in quote currency) from top-tier markets aggregated from the start of the current day (00:00:00 GMT/UTC) to now, providing insights into top-tier quote-based activity.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_VOLUME_DIRECT":{"type":"number","description":"The total trade volume (in base units) from instruments trading directly in the index's base currency, aggregated from the start of the current day (00:00:00 GMT/UTC) to now.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from instruments trading directly in the index's base currency, aggregated from the start of the current day (00:00:00 GMT/UTC) to now.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade volume (in base units) from top-tier markets and instruments trading directly in the index's base currency, aggregated from the start of the current day (00:00:00 GMT/UTC) to now.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from top-tier markets and instruments trading directly in the index's base currency, aggregated from the start of the current day (00:00:00 GMT/UTC) to now.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_OPEN":{"type":"number","description":"The value at the start of the current day (00:00:00 GMT/UTC), based on the closest update before the day began.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_HIGH":{"type":"number","description":"The highest value recorded during the current day, starting from the day's open. If no updates occur, it remains equal to the open.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_LOW":{"type":"number","description":"The lowest value recorded during the current day, starting from the day's open. If no updates occur, it remains equal to the open.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_TOTAL_INDEX_UPDATES":{"type":"integer","description":"The total number of updates recorded since the start of the current day (00:00:00 GMT/UTC).","format":"int64","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_CHANGE":{"type":"number","description":"The difference between the current value and the open value of the current day, represented in the quote currency. If no updates occur, the change is 0.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_DAY_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change between the current value and the open value of the current day. If no updates occur, the percentage change is 0.","x-cc-api-group":"CURRENT_DAY"},"CURRENT_WEEK_VOLUME":{"type":"number","description":"The total trade volume (in base units) aggregated from Monday (00:00:00 GMT/UTC) to the current day of the week, with the current day's volume dynamically added for real-time weekly analysis.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_QUOTE_VOLUME":{"type":"number","description":"The total trade value (in quote currency) aggregated from Monday (00:00:00 GMT/UTC) to the current day of the week, with the current day's quote volume dynamically included.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_VOLUME_TOP_TIER":{"type":"number","description":"The total trade volume (in base units) from top-tier markets aggregated from Monday (00:00:00 GMT/UTC) to the current day of the week, with the current day's top-tier volume added dynamically.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total trade value (in quote currency) from top-tier markets aggregated from Monday (00:00:00 GMT/UTC) to the current day of the week, including the dynamically added current day's quote values.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_VOLUME_DIRECT":{"type":"number","description":"The total trade volume (in base units) from instruments trading directly in the index's base currency, aggregated from Monday (00:00:00 GMT/UTC) to the current day, dynamically including today's volume.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from instruments trading directly in the index's base currency, aggregated from Monday (00:00:00 GMT/UTC) to the current day, with today's quote volume added dynamically.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade volume (in base units) from top-tier markets and instruments trading directly in the index's base currency, aggregated from Monday (00:00:00 GMT/UTC) to the current day, dynamically including today's top-tier volume.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from top-tier markets and instruments trading directly in the index's base currency, aggregated from Monday (00:00:00 GMT/UTC) to the current day, with today's top-tier quote value added dynamically.","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 the current week, based on the last update from the previous week.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_HIGH":{"type":"number","description":"The highest value recorded during the current week, calculated from Monday (00:00:00 GMT/UTC) to the current moment, including today's updates.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_LOW":{"type":"number","description":"The lowest value recorded during the current week, calculated from Monday (00:00:00 GMT/UTC) to the current moment, including today's updates.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_TOTAL_INDEX_UPDATES":{"type":"integer","description":"The total count of updates recorded between Monday (00:00:00 GMT/UTC) and the current day of the week, dynamically including today's updates.","format":"int64","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_CHANGE":{"type":"number","description":"The difference between the current value and the opening value for the current week, represented in the quote currency.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_WEEK_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change between the current value and the opening value for the current week.","x-cc-api-group":"CURRENT_WEEK"},"CURRENT_MONTH_VOLUME":{"type":"number","description":"The total trade volume (in base units) aggregated from the 1st of the month (00:00:00 GMT/UTC) to the current day, with today's volume dynamically added for real-time monthly tracking.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_QUOTE_VOLUME":{"type":"number","description":"The total trade value (in quote currency) aggregated from the 1st of the month (00:00:00 GMT/UTC) to the current day, dynamically including today's quote volume.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_VOLUME_TOP_TIER":{"type":"number","description":"The total trade volume (in base units) from top-tier markets aggregated from the 1st of the month (00:00:00 GMT/UTC) to the current day, dynamically including today's top-tier volume.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total trade value (in quote currency) from top-tier markets aggregated from the 1st of the month (00:00:00 GMT/UTC) to the current day, including today's top-tier quote value.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_VOLUME_DIRECT":{"type":"number","description":"The total trade volume (in base units) from instruments trading directly in the index's base currency, aggregated from the 1st of the month (00:00:00 GMT/UTC) to the current day, dynamically including today's volume.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from instruments trading directly in the index's base currency, aggregated from the 1st of the month (00:00:00 GMT/UTC) to the current day, dynamically including today's quote volume.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade volume (in base units) from top-tier markets and instruments trading directly in the index's base currency, aggregated from the 1st of the month (00:00:00 GMT/UTC) to the current day, dynamically including today's top-tier volume.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from top-tier markets and instruments trading directly in the index's base currency, aggregated from the 1st of the month (00:00:00 GMT/UTC) to the current day, dynamically including today's top-tier quote value.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_OPEN":{"type":"number","description":"The value of the closest update to the 1st day of the current month (00:00:00 GMT/UTC), based on the last update from the previous month.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_HIGH":{"type":"number","description":"The highest value recorded during the current month, calculated from the 1st of the month (00:00:00 GMT/UTC) to the current moment, including today's updates.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_LOW":{"type":"number","description":"The lowest value recorded during the current month, calculated from the 1st of the month (00:00:00 GMT/UTC) to the current moment, including today's updates.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_TOTAL_INDEX_UPDATES":{"type":"integer","description":"The total count of updates recorded from the 1st of the month (00:00:00 GMT/UTC) to the current day, dynamically including today's updates.","format":"int64","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_CHANGE":{"type":"number","description":"The difference between the current value and the opening value for the current month, represented in the quote currency.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_MONTH_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change between the current value and the opening value for the current month.","x-cc-api-group":"CURRENT_MONTH"},"CURRENT_YEAR_VOLUME":{"type":"number","description":"The total trade volume (in base units) aggregated from January 1st (00:00:00 GMT/UTC) to the current day of the year, dynamically including today’s volume for real-time yearly tracking.","x-cc-api-group":"CURRENT_YEAR"},"CURRENT_YEAR_QUOTE_VOLUME":{"type":"number","description":"The total trade value (in quote currency) aggregated from January 1st (00:00:00 GMT/UTC) to the current day of the year, with today’s quote volume dynamically added.","x-cc-api-group":"CURRENT_YEAR"},"CURRENT_YEAR_VOLUME_TOP_TIER":{"type":"number","description":"The total trade volume (in base units) from top-tier markets aggregated from January 1st (00:00:00 GMT/UTC) to the current day, dynamically including today’s top-tier volume.","x-cc-api-group":"CURRENT_YEAR"},"CURRENT_YEAR_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total trade value (in quote currency) from top-tier markets aggregated from January 1st (00:00:00 GMT/UTC) to the current day, dynamically including today’s top-tier quote value.","x-cc-api-group":"CURRENT_YEAR"},"CURRENT_YEAR_VOLUME_DIRECT":{"type":"number","description":"The total trade volume (in base units) from instruments trading directly in the index’s base currency, aggregated from January 1st (00:00:00 GMT/UTC) to the current day, dynamically including today’s volume.","x-cc-api-group":"CURRENT_YEAR"},"CURRENT_YEAR_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from instruments trading directly in the index’s base currency, aggregated from January 1st (00:00:00 GMT/UTC) to the current day, dynamically including today’s quote value.","x-cc-api-group":"CURRENT_YEAR"},"CURRENT_YEAR_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade volume (in base units) from top-tier markets and instruments trading directly in the index’s base currency, aggregated from January 1st (00:00:00 GMT/UTC) to the current day, dynamically including today’s volume.","x-cc-api-group":"CURRENT_YEAR"},"CURRENT_YEAR_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from top-tier markets and instruments trading directly in the index’s base currency, aggregated from January 1st (00:00:00 GMT/UTC) to the current day, dynamically including today’s quote value.","x-cc-api-group":"CURRENT_YEAR"},"CURRENT_YEAR_OPEN":{"type":"number","description":"The value of the closest trade to January 1st (00:00:00 GMT/UTC) of the current year, based on the last update from December 31st (23:59:59 GMT/UTC) of the previous year.","x-cc-api-group":"CURRENT_YEAR"},"CURRENT_YEAR_HIGH":{"type":"number","description":"The highest value recorded during the current year, calculated from January 1st (00:00:00 GMT/UTC) to the current moment, including today’s updates.","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":"integer","description":"The total count of updates recorded from January 1st (00:00:00 GMT/UTC) to the current day, dynamically including today’s updates.","format":"int64","x-cc-api-group":"CURRENT_YEAR"},"CURRENT_YEAR_CHANGE":{"type":"number","description":"The difference between the current value and the opening value for the current year, represented in the quote currency.","x-cc-api-group":"CURRENT_YEAR"},"CURRENT_YEAR_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change between the current value and the opening value for the current year.","x-cc-api-group":"CURRENT_YEAR"},"MOVING_24_HOUR_VOLUME":{"type":"number","description":"The total trade volume (in base units) aggregated over the past 24 hours, calculated from 23 completed hours (up to the beginning of the current hour) and dynamically including the current hour’s volume.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_QUOTE_VOLUME":{"type":"number","description":"The total trade value (in quote currency) aggregated over the past 24 hours, including 23 completed hours and dynamically adding the current hour’s quote volume.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_VOLUME_TOP_TIER":{"type":"number","description":"The total trade volume (in base units) from top-tier markets over the past 24 hours, dynamically including the current hour’s top-tier volume.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total trade value (in quote currency) from top-tier markets over the past 24 hours, dynamically including the current hour’s top-tier quote value.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_VOLUME_DIRECT":{"type":"number","description":"The total trade volume (in base units) from direct trades over the past 24 hours, dynamically including the current hour’s direct volume.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from direct trades over the past 24 hours, dynamically including the current hour’s direct quote value.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade volume (in base units) from top-tier direct trades over the past 24 hours, dynamically including the current hour’s top-tier direct volume.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total trade value (in quote currency) from top-tier direct trades over the past 24 hours, dynamically including the current hour’s top-tier direct quote value.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_OPEN":{"type":"number","description":"The value of the closest update to the period start (23 hours + current hour ago). This is dynamically tracked and does not require separate calculations for completeness.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_HIGH":{"type":"number","description":"The highest value recorded within the past 24 hours, including data from 23 completed hours and dynamically factoring in the current hour.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_LOW":{"type":"number","description":"The lowest value recorded within the past 24 hours, calculated from 23 completed hours and dynamically incorporating updates from the current hour.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_TOTAL_INDEX_UPDATES":{"type":"integer","description":"The total count of updates over the past 24 hours, calculated dynamically from 23 completed hours and including updates from the current hour.","format":"int64","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_CHANGE":{"type":"number","description":"The absolute change in value over the past 24 hours, comparing the current value to the opening value for the period.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_24_HOUR_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change in value over the past 24 hours, dynamically comparing the current value to the opening value for the period.","x-cc-api-group":"MOVING_24_HOUR"},"MOVING_7_DAY_VOLUME":{"type":"number","description":"The total trade volume (in base units) over the past 7 days, calculated as 6 full days plus the current day, starting from 7 days ago up to the beginning of the current day, dynamically including the current day’s volume.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_QUOTE_VOLUME":{"type":"number","description":"The total trade value (in quote currency) over the past 7 days, calculated as 6 full days plus the current day, dynamically aggregating the current day’s quote volume to the values from the previous 6 full days.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_VOLUME_TOP_TIER":{"type":"number","description":"The total top-tier trade volume (in base units) over the past 7 days, calculated as 6 full days plus the current day, dynamically including the current day’s top-tier volume.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total top-tier trade value (in quote currency) over the past 7 days, calculated as 6 full days plus the current day, dynamically adding the current day’s top-tier quote volume to the previous days.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_VOLUME_DIRECT":{"type":"number","description":"The total direct trade volume (in base units) over the past 7 days, calculated as 6 full days plus the current day, dynamically including the current day’s direct volume.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total direct trade value (in quote currency) over the past 7 days, calculated as 6 full days plus the current day, dynamically aggregating the current day’s direct quote volume.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total top-tier direct trade volume (in base units) over the past 7 days, calculated as 6 full days plus the current day, dynamically including the current day’s top-tier direct volume.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total top-tier direct trade value (in quote currency) over the past 7 days, calculated as 6 full days plus the current day, dynamically adding the current day’s top-tier direct quote volume.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_OPEN":{"type":"number","description":"The value of the closest index update to the start of the period (7 days ago before 00:00:00 GMT/UTC), reflecting the opening value for the 6 full days plus the current day.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_HIGH":{"type":"number","description":"The highest value recorded over the past 7 days, calculated as 6 full days plus the current day, dynamically updated to include the current day’s high if applicable.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_LOW":{"type":"number","description":"The lowest value recorded over the past 7 days, calculated as 6 full days plus the current day, dynamically updated to include the current day’s low if applicable.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_TOTAL_INDEX_UPDATES":{"type":"integer","description":"The total count of updates between 7 days ago (6 full days + the current day) and the beginning of the current day, dynamically including updates from the current day.","format":"int64","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_CHANGE":{"type":"number","description":"The absolute change in value over the past 7 days, calculated as 6 full days plus the current day, dynamically comparing the current value with the opening value for the period.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_7_DAY_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change over the past 7 days, calculated as 6 full days plus the current day, dynamically calculated by comparing the current value with the opening value.","x-cc-api-group":"MOVING_7_DAY"},"MOVING_30_DAY_VOLUME":{"type":"number","description":"The total trade volume (in base units) over the past 30 days, calculated as 29 full days plus the current day. The calculation starts 30 days ago up to the beginning of the current day and dynamically includes the current day’s volume.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_QUOTE_VOLUME":{"type":"number","description":"The total trade value (in quote currency) over the past 30 days, calculated as 29 full days plus the current day. The current day’s quote volume is dynamically aggregated with the values from the previous 29 full days.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_VOLUME_TOP_TIER":{"type":"number","description":"The total top-tier trade volume (in base units) over the past 30 days, calculated as 29 full days plus the current day. The current day’s top-tier volume is dynamically included in the total.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total top-tier trade value (in quote currency) over the past 30 days, calculated as 29 full days plus the current day. This metric dynamically includes the current day’s top-tier quote volume.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_VOLUME_DIRECT":{"type":"number","description":"The total direct trade volume (in base units) over the past 30 days, calculated as 29 full days plus the current day. This metric dynamically includes the current day’s direct volume.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total direct trade value (in quote currency) over the past 30 days, calculated as 29 full days plus the current day. The current day’s direct quote volume is dynamically aggregated.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total top-tier direct trade volume (in base units) over the past 30 days, calculated as 29 full days plus the current day. This metric dynamically includes the current day’s top-tier direct volume.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total top-tier direct trade value (in quote currency) over the past 30 days, calculated as 29 full days plus the current day. The current day’s top-tier direct quote volume is dynamically added.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_OPEN":{"type":"number","description":"The value of the closest index update to the start of the period (30 days ago before 00:00:00 GMT/UTC), the opening value for the 29 full days and the current day.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_HIGH":{"type":"number","description":"The highest value recorded over the past 30 days, calculated as 29 full days plus the current day. This value dynamically updates to include the current day’s high if applicable.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_LOW":{"type":"number","description":"The lowest value recorded over the past 30 days, calculated as 29 full days plus the current day. This value dynamically updates to include the current day’s low if applicable.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_TOTAL_INDEX_UPDATES":{"type":"integer","description":"The total count of updates over the past 30 days, calculated as 29 full days plus the current day. The updates from the current day are dynamically included in the total.","format":"int64","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_CHANGE":{"type":"number","description":"The absolute change in value over the past 30 days, calculated as 29 full days plus the current day. This metric dynamically compares the current value with the opening value for the period.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_30_DAY_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change over the past 30 days, calculated as 29 full days plus the current day. The percentage is dynamically calculated by comparing the current value with the opening value for the period.","x-cc-api-group":"MOVING_30_DAY"},"MOVING_90_DAY_VOLUME":{"type":"number","description":"The total trade volume (in base units) over the past 90 days, calculated as 89 full days plus the current day. The calculation starts 90 days ago up to the beginning of the current day and dynamically includes the current day’s volume.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_QUOTE_VOLUME":{"type":"number","description":"The total trade value (in quote currency) over the past 90 days, calculated as 89 full days plus the current day. The current day’s quote volume is dynamically aggregated with the values from the previous 89 full days.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_VOLUME_TOP_TIER":{"type":"number","description":"The total top-tier trade volume (in base units) over the past 90 days, calculated as 89 full days plus the current day. The current day’s top-tier volume is dynamically included in the total.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total top-tier trade value (in quote currency) over the past 90 days, calculated as 89 full days plus the current day. This metric dynamically includes the current day’s top-tier quote volume.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_VOLUME_DIRECT":{"type":"number","description":"The total direct trade volume (in base units) over the past 90 days, calculated as 89 full days plus the current day. This metric dynamically includes the current day’s direct volume.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total direct trade value (in quote currency) over the past 90 days, calculated as 89 full days plus the current day. The current day’s direct quote volume is dynamically aggregated.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total top-tier direct trade volume (in base units) over the past 90 days, calculated as 89 full days plus the current day. This metric dynamically includes the current day’s top-tier direct volume.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total top-tier direct trade value (in quote currency) over the past 90 days, calculated as 89 full days plus the current day. The current day’s top-tier direct quote volume is dynamically added.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_OPEN":{"type":"number","description":"The value of the closest index update to the start of the period (90 days ago before 00:00:00 GMT/UTC), the opening value for the 89 full days plus the current day.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_HIGH":{"type":"number","description":"The highest value recorded over the past 90 days, calculated as 89 full days plus the current day. This value dynamically updates to include the current day’s high if applicable.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_LOW":{"type":"number","description":"The lowest value recorded over the past 90 days, calculated as 89 full days plus the current day. This value dynamically updates to include the current day’s low if applicable.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_TOTAL_INDEX_UPDATES":{"type":"integer","description":"The total count of updates over the past 90 days, calculated as 89 full days plus the current day. The updates from the current day are dynamically included in the total.","format":"int64","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_CHANGE":{"type":"number","description":"The absolute change in value over the past 90 days, calculated as 89 full days plus the current day. This metric dynamically compares the current value with the opening value for the period.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_90_DAY_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change over the past 90 days, calculated as 89 full days plus the current day. The percentage is dynamically calculated by comparing the current value with the opening value for the period.","x-cc-api-group":"MOVING_90_DAY"},"MOVING_180_DAY_VOLUME":{"type":"number","description":"The total trade volume (in base units) over the past 180 days, calculated as 179 full days plus the current day. The calculation dynamically aggregates the current day’s volume with the previous 179 full days.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_QUOTE_VOLUME":{"type":"number","description":"The total trade value (in quote currency) over the past 180 days, calculated as 179 full days plus the current day. The metric dynamically includes the current day’s quote volume alongside the previous 179 days.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_VOLUME_TOP_TIER":{"type":"number","description":"The total top-tier trade volume (in base units) over the past 180 days, calculated as 179 full days plus the current day. This includes the dynamically updated current day’s top-tier volume.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total top-tier trade value (in quote currency) over the past 180 days, calculated as 179 full days plus the current day. The metric dynamically includes the current day’s top-tier quote volume.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_VOLUME_DIRECT":{"type":"number","description":"The total direct trade volume (in base units) over the past 180 days, calculated as 179 full days plus the current day. This dynamically adds the current day’s direct volume to the previous days.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total direct trade value (in quote currency) over the past 180 days, calculated as 179 full days plus the current day. The metric includes the dynamically updated current day’s direct quote volume.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total top-tier direct trade volume (in base units) over the past 180 days, calculated as 179 full days plus the current day. This dynamically includes the current day’s top-tier direct volume.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total top-tier direct trade value (in quote currency) over the past 180 days, calculated as 179 full days plus the current day. The current day’s top-tier direct quote volume is dynamically added.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_OPEN":{"type":"number","description":"The value of the closest index update to the start of the period (180 days ago before 00:00:00 GMT/UTC). The opening value for the 179 full days plus the current day.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_HIGH":{"type":"number","description":"The highest value recorded over the past 180 days, calculated as 179 full days plus the current day. This value dynamically updates to include the current day’s high if applicable.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_LOW":{"type":"number","description":"The lowest value recorded over the past 180 days, calculated as 179 full days plus the current day. This dynamically updates to include the current day’s low if applicable.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_TOTAL_INDEX_UPDATES":{"type":"integer","description":"The total count of updates over the past 180 days, calculated as 179 full days plus the current day. The metric dynamically includes updates from the current day.","format":"int64","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_CHANGE":{"type":"number","description":"The absolute change in value over the past 180 days, calculated as 179 full days plus the current day. This dynamically compares the current value with the opening value for the period.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_180_DAY_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change over the past 180 days, calculated as 179 full days plus the current day. The percentage is dynamically calculated by comparing the current value with the opening value for the period.","x-cc-api-group":"MOVING_180_DAY"},"MOVING_365_DAY_VOLUME":{"type":"number","description":"The total trade volume (in base units) over the past 365 days, calculated as 364 full days plus the current day. This metric dynamically aggregates the current day’s volume with the previous 364 full days.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_QUOTE_VOLUME":{"type":"number","description":"The total trade value (in quote currency) over the past 365 days, calculated as 364 full days plus the current day. This dynamically includes the current day’s quote volume alongside the previous 364 days.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_VOLUME_TOP_TIER":{"type":"number","description":"The total top-tier trade volume (in base units) over the past 365 days, calculated as 364 full days plus the current day. This dynamically adds the current day’s top-tier volume.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total top-tier trade value (in quote currency) over the past 365 days, calculated as 364 full days plus the current day. This dynamically includes the current day’s top-tier quote volume.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_VOLUME_DIRECT":{"type":"number","description":"The total direct trade volume (in base units) over the past 365 days, calculated as 364 full days plus the current day. This dynamically adds the current day’s direct volume to the previous days.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total direct trade value (in quote currency) over the past 365 days, calculated as 364 full days plus the current day. This dynamically includes the current day’s direct quote volume.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total top-tier direct trade volume (in base units) over the past 365 days, calculated as 364 full days plus the current day. This dynamically includes the current day’s top-tier direct volume.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total top-tier direct trade value (in quote currency) over the past 365 days, calculated as 364 full days plus the current day. This dynamically adds the current day’s top-tier direct quote volume.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_OPEN":{"type":"number","description":"The value of the closest index update to the start of the period (365 days ago before 00:00:00 GMT/UTC). The opening value for the 364 full days plus the current day.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_HIGH":{"type":"number","description":"The highest value recorded over the past 365 days, calculated as 364 full days plus the current day. This dynamically updates to include the current day’s high if applicable.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_LOW":{"type":"number","description":"The lowest value recorded over the past 365 days, calculated as 364 full days plus the current day. This dynamically updates to include the current day’s low if applicable.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_TOTAL_INDEX_UPDATES":{"type":"integer","description":"The total count of updates over the past 365 days, calculated as 364 full days plus the current day. This metric dynamically includes updates from the current day.","format":"int64","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_CHANGE":{"type":"number","description":"The absolute change in value over the past 365 days, calculated as 364 full days plus the current day. This dynamically compares the current value with the opening value for the period.","x-cc-api-group":"MOVING_365_DAY"},"MOVING_365_DAY_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change over the past 365 days, calculated as 364 full days plus the current day. This percentage is dynamically calculated by comparing the current value with the opening value for the period.","x-cc-api-group":"MOVING_365_DAY"},"LIFETIME_FIRST_UPDATE_TS":{"type":"integer","description":"The timestamp of the very first update recorded for this instrument, represented as a Unix timestamp.","format":"unix_timestamp","x-cc-api-group":"LIFETIME"},"LIFETIME_VOLUME":{"type":"number","description":"The total accumulated trade volume (in base units) from all updates for this instrument over its entire lifetime.","x-cc-api-group":"LIFETIME"},"LIFETIME_QUOTE_VOLUME":{"type":"number","description":"The total accumulated trade value (in quote currency) from all updates for this instrument over its entire lifetime.","x-cc-api-group":"LIFETIME"},"LIFETIME_VOLUME_TOP_TIER":{"type":"number","description":"The total accumulated trade volume (in base units) from top-tier updates for this instrument over its entire lifetime.","x-cc-api-group":"LIFETIME"},"LIFETIME_QUOTE_VOLUME_TOP_TIER":{"type":"number","description":"The total accumulated trade value (in quote currency) from top-tier updates for this instrument over its entire lifetime.","x-cc-api-group":"LIFETIME"},"LIFETIME_VOLUME_DIRECT":{"type":"number","description":"The total accumulated trade volume (in base units) from direct updates for this instrument over its entire lifetime.","x-cc-api-group":"LIFETIME"},"LIFETIME_QUOTE_VOLUME_DIRECT":{"type":"number","description":"The total accumulated trade value (in quote currency) from direct updates for this instrument over its entire lifetime.","x-cc-api-group":"LIFETIME"},"LIFETIME_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total accumulated trade volume (in base units) from top-tier direct updates for this instrument over its entire lifetime.","x-cc-api-group":"LIFETIME"},"LIFETIME_QUOTE_VOLUME_TOP_TIER_DIRECT":{"type":"number","description":"The total accumulated trade value (in quote currency) from top-tier direct updates for this instrument over its entire lifetime.","x-cc-api-group":"LIFETIME"},"LIFETIME_OPEN":{"type":"number","description":"The value of the first update recorded for this instrument.","x-cc-api-group":"LIFETIME"},"LIFETIME_HIGH":{"type":"number","description":"The highest recorded value from all updates for this instrument over its entire lifetime.","x-cc-api-group":"LIFETIME"},"LIFETIME_HIGH_TS":{"type":"integer","description":"The timestamp of the highest recorded update for this instrument, represented as a Unix timestamp.","format":"unix_timestamp","x-cc-api-group":"LIFETIME"},"LIFETIME_LOW":{"type":"number","description":"The lowest recorded value from all updates for this instrument over its entire lifetime.","x-cc-api-group":"LIFETIME"},"LIFETIME_LOW_TS":{"type":"integer","description":"The timestamp of the lowest recorded update for this instrument, represented as a Unix timestamp.","format":"unix_timestamp","x-cc-api-group":"LIFETIME"},"LIFETIME_TOTAL_INDEX_UPDATES":{"type":"integer","description":"The total count of updates recorded for this instrument over its entire lifetime.","format":"int64","x-cc-api-group":"LIFETIME"},"LIFETIME_CHANGE":{"type":"number","description":"The absolute change in value from the opening value (LIFETIME_OPEN) to the current value for this instrument.","x-cc-api-group":"LIFETIME"},"LIFETIME_CHANGE_PERCENTAGE":{"type":"number","description":"The percentage change in value from the opening value (LIFETIME_OPEN) to the current value for this instrument.","x-cc-api-group":"LIFETIME"}}}},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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"}}}}}}}}}}},"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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"This endpoint is meticulously designed to provide historical candlestick data for various indices, captured at one-day intervals. The data encompasses crucial metrics such as OPEN, HIGH, LOW, CLOSE, VOLUME and additional trading-derived values (OHLCV+), offering a comprehensive view of an index's h","x-extended-description-with-markdown":"This endpoint is meticulously designed to provide historical candlestick data for various indices, captured at one-day intervals. The data encompasses crucial metrics such as OPEN, HIGH, LOW, CLOSE, VOLUME and additional trading-derived values (OHLCV+), offering a comprehensive view of an index's historical performance. This information is essential for conducting in-depth market analyses and making informed decisions based on past trends.\n\nA notable feature of this data is that the **OPEN** value for each day (00:00 GMT) is based on the **CLOSE** value of the preceding day (or the closest previous day that had trading activity). This relationship can potentially influence the **HIGH** and **LOW** values recorded within a day, as they are relative to the starting **OPEN** value. It's important to emphasize that the additional message metrics are derived exclusively from trading activities within the specific day. These extra metrics include:\n\n- **FIRST_MESSAGE_TIMESTAMP**, **FIRST_MESSAGE_VALUE**, **LAST_MESSAGE_TIMESTAMP** - Timestamps and values for the first and last index updates, the LAST_MESSAGE_VALUE is not provided since it is the same as the CLOSE.\n- **HIGH_MESSAGE_VALUE**, **HIGH_MESSAGE_TIMESTAMP**, **LOW_MESSAGE_VALUE**, **LOW_MESSAGE_TIMESTAMP** - The highest and lowest index values within the day, along with their corresponding timestamps.\n- **TOTAL_INDEX_UPDATES** - The total count of index updates during the day.\n- **VOLUME_TOP_TIER**, **QUOTE_VOLUME_TOP_TIER**, **VOLUME_DIRECT**, **QUOTE_VOLUME_DIRECT**, **VOLUME_TOP_TIER_DIRECT**, **QUOTE_VOLUME_TOP_TIER_DIRECT** - In-depth volume information, covering both top-tier and direct trading volumes within the day. These are the total sum of all the trading volume in both the base currency (VOLUME) and quote currency (QUOTE_VOLUME). These extra volume values are **only available** for **CADLI** and other **Real-Time Adaptive Methodology** indices.\n\nIf the 'fill' URL parameter is left empty or set to true (1), then on days with no trading activity, the OPEN, HIGH, LOW, CLOSE values will match the CLOSE of the previous closest hour with trading activity. In such cases, the VOLUME, QUOTE_VOLUME, and TOTAL_INDEX_UPDATES will be set to 0, and all the extra, trading-related metrics described above will be absent. Conversely, setting 'fill=false' in the request URL will exclude days with no trading activity from the response.\n\nThe endpoint features four distinct response types, each tailored to cater to specific historical data requirements:\n\n- **Type 247 (Direct Trading Methodology)**: Delivers historical candlestick data for the CCIX index. This data is pivotal for analyzing the historical price movements and trends specific to the CCIX, offering insights into its long-term performance.\n- **Type 267 (Real-Time Adaptive Methodology)**: Provides historical candlestick information for the CADLI index. This type is specifically designed to facilitate the analysis of CADLI's historical USD price movements, allowing users to track and evaluate its past market behavior.\n- **Type 986 (Real-Time Adaptive Methodology + Conversion)**: Extends the CADLI historical data by incorporating currency conversion factors. This response type is ideal for users requiring historical data on CADLI, adjusted for conversions into other fiat or digital currencies, enabling more diverse financial analyses.\n- **Type 989 (Real-Time Adaptive Methodology + Inversion)**: Offers a unique perspective on CADLI's historical data by applying price inversions. This response type is tailored for users who need to understand the historical USD value in terms of various other currencies or assets, providing a comprehensive inverted price analysis.\n\n### Use Cases\n- **Long-term Trend Analysis**: Investors and analysts can observe the long-term trends in market behavior by examining daily price movements and volume metrics.\n- **Strategic Investment Planning**: Enables portfolio managers to devise long-term investment strategies based on historical performance trends of indices.\n- **Risk Management**: Risk analysts use daily historical data to identify patterns or events that may indicate future risks or opportunities.\n\n### Target Audience\n- **Investment Analysts and Portfolio Managers**: Professionals who make strategic decisions based on long-term market performance.\n- **Financial Historians**: Researchers studying the historical movements of financial markets.\n- **Risk Management Experts**: Analysts who specialize in identifying, analyzing, and mitigating long-term financial risks.","tags":["Indices & Ref. Rates"],"operationId":"index_cc_v1_historical_days","x-section":"Indices & Ref. 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","enum":["cadli","cchkex","cchkex_eod","ccix","cber","cbr","cbrsett","cbersett","ccixdev","ccmvda_coint","ccmvda_virt","ccxrp","cd_mc","cdi_b","cdi_mda","cdi_ti","cdisett","cdmcdev","cdor","nasdaq_single","rr_spot","rr_vwap","sda","sgx_rr","sgxrt","sgxtwap"],"x-enum-properties-info":{"cchkex":{"visibilityRolesRequired":["ifam_hkex_r","customer_support"]},"cchkex_eod":{"visibilityRolesRequired":["customer_support"]},"ccixbe":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"cber":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"ccixber":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"cbr":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"ccixbervwap":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"cbrsett":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"ccixbevwap":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"cbersett":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"ccixdev":{"visibilityRolesRequired":["customer_support"]},"ccmvda_coint":{"visibilityRolesRequired":["ifam_coinbase_int_r","customer_support"]},"ccmvda_virt":{"visibilityRolesRequired":["ifam_mvis_r","customer_support"]},"cdi_ti":{"visibilityRolesRequired":["ifam_coindesk_r","customer_support"]},"cdisett":{"visibilityRolesRequired":["ifam_cdisett_r","customer_support","ifam_coindesk_r"]},"cdmcdev":{"visibilityRolesRequired":["i_cd20_r","customer_support"]},"nasdaq_single":{"visibilityRolesRequired":["customer_support"]},"rr_spot":{"visibilityRolesRequired":["customer_support"]},"rr_vwap":{"visibilityRolesRequired":["ifam_coindesk_r","ifam_rr_vwap_r","customer_support"]},"sgx_rr":{"visibilityRolesRequired":["ifam_sgxrr_r","customer_support"]},"sgxrt":{"visibilityRolesRequired":["ifam_sgxrr_r","customer_support"]},"sgxtwap":{"visibilityRolesRequired":["customer_support"]}},"x-visibility-roles-required-enum":{"cchkex":["ifam_hkex_r","customer_support"],"cchkex_eod":["customer_support"],"ccixbe":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"cber":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"ccixber":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"cbr":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"ccixbervwap":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"cbrsett":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"ccixbevwap":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"cbersett":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"ccixdev":["customer_support"],"ccmvda_coint":["ifam_coinbase_int_r","customer_support"],"ccmvda_virt":["ifam_mvis_r","customer_support"],"cdi_ti":["ifam_coindesk_r","customer_support"],"cdisett":["ifam_cdisett_r","customer_support","ifam_coindesk_r"],"cdmcdev":["i_cd20_r","customer_support"],"nasdaq_single":["customer_support"],"rr_spot":["customer_support"],"rr_vwap":["ifam_coindesk_r","ifam_rr_vwap_r","customer_support"],"sgx_rr":["ifam_sgxrr_r","customer_support"],"sgxrt":["ifam_sgxrr_r","customer_support"],"sgxtwap":["customer_support"]},"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"],"x-enum-properties-info":{"ID":{"name":"ID","description":"Provides fundamental identifiers and metadata related to market indices and financial instruments."},"OHLC":{"name":"OHLC","description":"Represents Open, High, Low, and Close values for an index during a specific time period. OPEN, HIGH, and LOW are derived from the last message in the previous time bucket, ensuring continuity between time buckets and highlighting trends."},"OHLC_MESSAGE":{"name":"OHLC_MESSAGE","description":"Extends the OHLC group by including granular details about the first, last, highest, and lowest updates in the specified time period. OPEN, HIGH, and LOW are derived from the first message in the current time bucket, providing an immediate snapshot of the bucket’s starting state."},"MESSAGE":{"name":"MESSAGE","description":"Captures metrics related to the volume of updates or messages processed during a specific period."},"VOLUME":{"name":"VOLUME","description":"Represents volume-related metrics for a trading pair or index, essential for understanding liquidity and market activity."}}}},"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 up to and including this Unix timestamp. When using the to_ts parameter to paginate through data, the earliest timestamp in the current batch will also appear as the latest timestamp in the next batch. To avoid duplicates, you should either deduplicate the overlapping timestamp or adjust the to_ts value to skip the duplicate. Adjustments should be made as follows: subtract 60 seconds for minute data, 3600 seconds for hourly data, or 86400 seconds for daily data. To retrieve all available historical data, use limit=2000 and continue requesting in batches: &limit=2000&to_ts={adjusted earliest Unix timestamp received}. The to_ts parameter must be in seconds since the epoch.","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. The timestamp (to_ts) you provide determines the last full aggregation bucket. If to_ts falls within an interval, the returned data will include the entire interval that to_ts belongs to.","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"],"x-enum-properties-info":{"JSON":{"name":"JSON","description":"Data is returned in JavaScript Object Notation (JSON) format for easy parsing and integration."},"CSV":{"name":"CSV","description":"Data is returned in Comma-Separated Values (CSV) format for spreadsheet and tabular analysis."}}},"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":"integer","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","format":"unix_timestamp"},"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":"integer","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).","format":"unix_timestamp","x-cc-api-group":"OHLC_MESSAGE"},"LAST_MESSAGE_TIMESTAMP":{"type":"integer","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).","format":"unix_timestamp","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":"integer","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).","format":"unix_timestamp","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"This endpoint is expertly crafted to provide hourly candlestick data for various indices, offering a granular view of index movements within a day. The data includes key metrics like OPEN, HIGH, LOW, CLOSE, VOLUME and additional trading-derived values (OHLCV+), enabling users to gain a detailed und","x-extended-description-with-markdown":"This endpoint is expertly crafted to provide hourly candlestick data for various indices, offering a granular view of index movements within a day. The data includes key metrics like OPEN, HIGH, LOW, CLOSE, VOLUME and additional trading-derived values (OHLCV+), enabling users to gain a detailed understanding of short-term index behaviors. This granular data is invaluable for users conducting time-sensitive market analysis or those interested in intra-day trading patterns.\n\nA notable feature of this data is that the **OPEN** value for each hour is based on the **CLOSE** value of the preceding hour (or the closest previous hour that had trading activity). This relationship can potentially influence the **HIGH** and **LOW** values recorded within a hour, as they are relative to the starting **OPEN** value. It's important to emphasize that the additional message metrics are derived exclusively from trading activities within the specific hour. These extra metrics include:\n\n- **FIRST_MESSAGE_TIMESTAMP**, **FIRST_MESSAGE_VALUE**, **LAST_MESSAGE_TIMESTAMP** - Timestamps and values for the first and last index updates, the LAST_MESSAGE_VALUE is not provided since it is the same as the CLOSE.\n- **HIGH_MESSAGE_VALUE**, **HIGH_MESSAGE_TIMESTAMP**, **LOW_MESSAGE_VALUE**, **LOW_MESSAGE_TIMESTAMP** - The highest and lowest index values within the hour, along with their corresponding timestamps.\n- **TOTAL_INDEX_UPDATES** - The total count of index updates during the hour.\n- **VOLUME_TOP_TIER**, **QUOTE_VOLUME_TOP_TIER**, **VOLUME_DIRECT**, **QUOTE_VOLUME_DIRECT**, **VOLUME_TOP_TIER_DIRECT**, **QUOTE_VOLUME_TOP_TIER_DIRECT** - In-depth volume information, covering both top-tier and direct trading volumes within the hour. These are the total sum of all the trading volume in both the base currency (VOLUME) and quote currency (QUOTE_VOLUME). These extra volume values are **only available** for **CADLI** and other **Real-Time Adaptive Methodology** indices.\n\nIf the 'fill' URL parameter is left empty or set to true (1), then on hours with no trading activity, the OPEN, HIGH, LOW, CLOSE values will match the CLOSE of the previous closest hour with trading activity. In such cases, the VOLUME, QUOTE_VOLUME, and TOTAL_INDEX_UPDATES will be set to 0, and all the extra, trading-related metrics described above will be absent. Conversely, setting 'fill=false' in the request URL will exclude hours with no trading activity from the response.\n\nThe endpoint includes four specialized response types, each serving a unique aspect of hourly data analysis:\n\n- **Type 247 (Direct Trading Methodology)**: Provides hourly candlestick data specifically for the CCIX index. This response type is essential for users looking to analyze short-term price movements and trends in the CCIX index, offering insights into its intra-day performance.\n- **Type 267 (Real-Time Adaptive Methodology)**: Delivers hourly candlestick data for the CADLI index. Tailored for an in-depth examination of CADLI's USD price movements within each hour, this type allows users to closely monitor and analyze CADLI's short-term market behavior.\n- **Type 986 (Real-Time Adaptive Methodology + Conversion)**: Enhances the CADLI hourly data with currency conversion factors. It's ideal for users who need intra-day CADLI data adjusted for conversions into other fiat or digital currencies, enabling nuanced financial analysis across different currencies.\n- **Type 989 (Real-Time Adaptive Methodology + Inversion )**: Offers hourly CADLI data with an inversion feature. This type is designed for users seeking to understand the intra-day USD value in terms of other currencies or assets, providing a detailed view of inverted price movements on an hourly basis.\n\n### Use Cases\n- **Intraday Trading Strategy Development**: Traders can develop and refine trading strategies by analyzing how indices move within each hour.\n- **Event-Driven Analysis**: Allows analysts to dissect market reactions to specific hourly news events or economic releases.\n- **Performance Benchmarking**: Enables comparison of hourly performance against broader market movements, helping in performance assessment and adjustment.\n\n### Target Audience\n- **Day Traders and Intraday Analysts**: Professionals focused on short-term trading who rely on hourly fluctuations to make buying and selling decisions.\n- **Quantitative Analysts**: Specialists in developing models that predict short-term market behaviors based on historical data.\n- **Event Analysts**: Researchers focusing on the impact of specific events on market indices within concise time frames.","tags":["Indices & Ref. Rates"],"operationId":"index_cc_v1_historical_hours","x-section":"Indices & Ref. 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","enum":["cadli","cchkex","cchkex_eod","ccix","cber","cbr","cbrsett","cbersett","ccixdev","ccmvda_coint","ccmvda_virt","ccxrp","cd_mc","cdi_b","cdi_mda","cdi_ti","cdisett","cdmcdev","cdor","nasdaq_single","rr_spot","rr_vwap","sda","sgx_rr","sgxrt","sgxtwap"],"x-enum-properties-info":{"cchkex":{"visibilityRolesRequired":["ifam_hkex_r","customer_support"]},"cchkex_eod":{"visibilityRolesRequired":["customer_support"]},"ccixbe":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"cber":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"ccixber":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"cbr":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"ccixbervwap":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"cbrsett":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"ccixbevwap":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"cbersett":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"ccixdev":{"visibilityRolesRequired":["customer_support"]},"ccmvda_coint":{"visibilityRolesRequired":["ifam_coinbase_int_r","customer_support"]},"ccmvda_virt":{"visibilityRolesRequired":["ifam_mvis_r","customer_support"]},"cdi_ti":{"visibilityRolesRequired":["ifam_coindesk_r","customer_support"]},"cdisett":{"visibilityRolesRequired":["ifam_cdisett_r","customer_support","ifam_coindesk_r"]},"cdmcdev":{"visibilityRolesRequired":["i_cd20_r","customer_support"]},"nasdaq_single":{"visibilityRolesRequired":["customer_support"]},"rr_spot":{"visibilityRolesRequired":["customer_support"]},"rr_vwap":{"visibilityRolesRequired":["ifam_coindesk_r","ifam_rr_vwap_r","customer_support"]},"sgx_rr":{"visibilityRolesRequired":["ifam_sgxrr_r","customer_support"]},"sgxrt":{"visibilityRolesRequired":["ifam_sgxrr_r","customer_support"]},"sgxtwap":{"visibilityRolesRequired":["customer_support"]}},"x-visibility-roles-required-enum":{"cchkex":["ifam_hkex_r","customer_support"],"cchkex_eod":["customer_support"],"ccixbe":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"cber":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"ccixber":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"cbr":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"ccixbervwap":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"cbrsett":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"ccixbevwap":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"cbersett":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"ccixdev":["customer_support"],"ccmvda_coint":["ifam_coinbase_int_r","customer_support"],"ccmvda_virt":["ifam_mvis_r","customer_support"],"cdi_ti":["ifam_coindesk_r","customer_support"],"cdisett":["ifam_cdisett_r","customer_support","ifam_coindesk_r"],"cdmcdev":["i_cd20_r","customer_support"],"nasdaq_single":["customer_support"],"rr_spot":["customer_support"],"rr_vwap":["ifam_coindesk_r","ifam_rr_vwap_r","customer_support"],"sgx_rr":["ifam_sgxrr_r","customer_support"],"sgxrt":["ifam_sgxrr_r","customer_support"],"sgxtwap":["customer_support"]},"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"],"x-enum-properties-info":{}}},"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 up to and including this Unix timestamp. When using the to_ts parameter to paginate through data, the earliest timestamp in the current batch will also appear as the latest timestamp in the next batch. To avoid duplicates, you should either deduplicate the overlapping timestamp or adjust the to_ts value to skip the duplicate. Adjustments should be made as follows: subtract 60 seconds for minute data, 3600 seconds for hourly data, or 86400 seconds for daily data. To retrieve all available historical data, use limit=2000 and continue requesting in batches: &limit=2000&to_ts={adjusted earliest Unix timestamp received}. The to_ts parameter must be in seconds since the epoch.","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. The timestamp (to_ts) you provide determines the last full aggregation bucket. If to_ts falls within an interval, the returned data will include the entire interval that to_ts belongs to.","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"],"x-enum-properties-info":{"JSON":{"name":"JSON","description":"Data is returned in JavaScript Object Notation (JSON) format for easy parsing and integration."},"CSV":{"name":"CSV","description":"Data is returned in Comma-Separated Values (CSV) format for spreadsheet and tabular analysis."}}},"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":"integer","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","format":"unix_timestamp"},"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":"integer","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).","format":"unix_timestamp","x-cc-api-group":"OHLC_MESSAGE"},"LAST_MESSAGE_TIMESTAMP":{"type":"integer","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).","format":"unix_timestamp","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":"integer","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).","format":"unix_timestamp","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"This endpoint is meticulously engineered to deliver candlestick data for various indices at minute-by-minute intervals. It provides detailed and up-to-the-minute metrics including OPEN, HIGH, LOW, CLOSE, VOLUME and additional trading-derived values (OHLCV+). This high-resolution data is crucial for","x-extended-description-with-markdown":"This endpoint is meticulously engineered to deliver candlestick data for various indices at minute-by-minute intervals. It provides detailed and up-to-the-minute metrics including OPEN, HIGH, LOW, CLOSE, VOLUME and additional trading-derived values (OHLCV+). This high-resolution data is crucial for users engaged in minute-level market analysis, offering insights into the immediate and rapid fluctuations of index values. It is particularly useful for day traders and those conducting short-term market strategies.\n\nA notable feature of this data is that the **OPEN** value for each minute is based on the **CLOSE** value of the preceding minute (or the closest previous minute that had trading activity). This relationship can potentially influence the **HIGH** and **LOW** values recorded within a minute, as they are relative to the starting **OPEN** value. It's important to emphasize that the additional message metrics are derived exclusively from trading activities within the specific minute. These extra metrics include:\n\n- **FIRST_MESSAGE_TIMESTAMP**, **FIRST_MESSAGE_VALUE**, **LAST_MESSAGE_TIMESTAMP** - Timestamps and values for the first and last index updates, the LAST_MESSAGE_VALUE is not provided since it is the same as the CLOSE.\n- **HIGH_MESSAGE_VALUE**, **HIGH_MESSAGE_TIMESTAMP**, **LOW_MESSAGE_VALUE**, **LOW_MESSAGE_TIMESTAMP** - The highest and lowest index values within the minute, along with their corresponding timestamps.\n- **TOTAL_INDEX_UPDATES** - The total count of index updates during the minute.\n- **VOLUME_TOP_TIER**, **QUOTE_VOLUME_TOP_TIER**, **VOLUME_DIRECT**, **QUOTE_VOLUME_DIRECT**, **VOLUME_TOP_TIER_DIRECT**, **QUOTE_VOLUME_TOP_TIER_DIRECT** - In-depth volume information, covering both top-tier and direct trading volumes within the minute. These are the total sum of all the trading volume in both the base currency (VOLUME) and quote currency (QUOTE_VOLUME). These extra volume values are **only available** for **CADLI** and other **Real-Time Adaptive Methodology** indices.\n\nIf the 'fill' URL parameter is left empty or set to true (1), then on minutes with no trading activity, the OPEN, HIGH, LOW, CLOSE values will match the CLOSE of the previous closest minute with trading activity. In such cases, the VOLUME, QUOTE_VOLUME, and TOTAL_INDEX_UPDATES will be set to 0, and all the extra, trading-related metrics described above will be absent. Conversely, setting 'fill=false' in the request URL will exclude minutes with no trading activity from the response.\n\nThe endpoint is equipped with four tailored response types, each designed to address specific needs in minute-level data analysis:\n\n- **Type 247 (Direct Trading Methodology)**: Supplies minute-by-minute candlestick data for the CCIX index. This data is invaluable for users needing to analyze the immediate price movements and trends of the CCIX, providing a detailed view of its fluctuation patterns at the minutest level.\n- **Type 267 (Real-Time Adaptive Methodology)**: Offers minute-level candlestick data for the CADLI index. This response type is specifically designed for a close examination of CADLI's USD price movements on a minute-by-minute basis, facilitating real-time tracking and analysis of its market behavior.\n- **Type 986 (Real-Time Adaptive Methodology + Conversion)**: Extends CADLI minute-level data with currency conversion factors. Ideal for users requiring real-time CADLI data adjusted for conversions into various fiat or digital currencies, it enables a thorough analysis of currency-specific market movements.\n- **Type 989 (Real-Time Adaptive Methodology + Inversion )**: Provides a unique perspective on CADLI's minute-level data through the application of price inversions. Tailored for those who need to understand the immediate USD value in terms of other currencies or assets, this type offers a comprehensive analysis of inverted price dynamics on a minute-by-minute basis.\n\n### Use Cases\n- **High-Frequency Trading (HFT) Strategy Optimization**: Essential for HFT where algorithms need to execute orders based on minute-by-minute data analysis.\n- **Micro Trend Analysis**: Traders can examine the minutest price and volume changes to capture short-lived opportunities.\n- **Algorithm Backtesting**: Provides data for backtesting algorithms against very granular historical data to ensure robustness in live trading.\n\n### Target Audience\n- **High-Frequency Traders (HFTs)**: Traders who operate on extremely short time frames, requiring precise and rapid data to make decisions.\n- **Algorithmic Traders**: Developers and traders who create and refine algorithms that trade based on minute-to-minute market data.\n- **Technical Analysts**: Analysts who use detailed charts to predict future movements based on past patterns observed at a granular level.","tags":["Indices & Ref. Rates"],"operationId":"index_cc_v1_historical_minutes","x-section":"Indices & Ref. 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","enum":["cadli","cchkex","cchkex_eod","ccix","cber","cbr","cbrsett","cbersett","ccixdev","ccmvda_coint","ccmvda_virt","ccxrp","cd_mc","cdi_b","cdi_mda","cdi_ti","cdisett","cdmcdev","cdor","nasdaq_single","rr_spot","rr_vwap","sda","sgx_rr","sgxrt","sgxtwap"],"x-enum-properties-info":{"cchkex":{"visibilityRolesRequired":["ifam_hkex_r","customer_support"]},"cchkex_eod":{"visibilityRolesRequired":["customer_support"]},"ccixbe":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"cber":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"ccixber":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"cbr":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"ccixbervwap":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"cbrsett":{"visibilityRolesRequired":["ifam_ccixber_r","ifam_coindesk_r","customer_support"]},"ccixbevwap":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"cbersett":{"visibilityRolesRequired":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"]},"ccixdev":{"visibilityRolesRequired":["customer_support"]},"ccmvda_coint":{"visibilityRolesRequired":["ifam_coinbase_int_r","customer_support"]},"ccmvda_virt":{"visibilityRolesRequired":["ifam_mvis_r","customer_support"]},"cdi_ti":{"visibilityRolesRequired":["ifam_coindesk_r","customer_support"]},"cdisett":{"visibilityRolesRequired":["ifam_cdisett_r","customer_support","ifam_coindesk_r"]},"cdmcdev":{"visibilityRolesRequired":["i_cd20_r","customer_support"]},"nasdaq_single":{"visibilityRolesRequired":["customer_support"]},"rr_spot":{"visibilityRolesRequired":["customer_support"]},"rr_vwap":{"visibilityRolesRequired":["ifam_coindesk_r","ifam_rr_vwap_r","customer_support"]},"sgx_rr":{"visibilityRolesRequired":["ifam_sgxrr_r","customer_support"]},"sgxrt":{"visibilityRolesRequired":["ifam_sgxrr_r","customer_support"]},"sgxtwap":{"visibilityRolesRequired":["customer_support"]}},"x-visibility-roles-required-enum":{"cchkex":["ifam_hkex_r","customer_support"],"cchkex_eod":["customer_support"],"ccixbe":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"cber":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"ccixber":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"cbr":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"ccixbervwap":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"cbrsett":["ifam_ccixber_r","ifam_coindesk_r","customer_support"],"ccixbevwap":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"cbersett":["ifam_ccixbe_r","ifam_coindesk_r","customer_support"],"ccixdev":["customer_support"],"ccmvda_coint":["ifam_coinbase_int_r","customer_support"],"ccmvda_virt":["ifam_mvis_r","customer_support"],"cdi_ti":["ifam_coindesk_r","customer_support"],"cdisett":["ifam_cdisett_r","customer_support","ifam_coindesk_r"],"cdmcdev":["i_cd20_r","customer_support"],"nasdaq_single":["customer_support"],"rr_spot":["customer_support"],"rr_vwap":["ifam_coindesk_r","ifam_rr_vwap_r","customer_support"],"sgx_rr":["ifam_sgxrr_r","customer_support"],"sgxrt":["ifam_sgxrr_r","customer_support"],"sgxtwap":["customer_support"]},"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"],"x-enum-properties-info":{}}},"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 up to and including this Unix timestamp. When using the to_ts parameter to paginate through data, the earliest timestamp in the current batch will also appear as the latest timestamp in the next batch. To avoid duplicates, you should either deduplicate the overlapping timestamp or adjust the to_ts value to skip the duplicate. Adjustments should be made as follows: subtract 60 seconds for minute data, 3600 seconds for hourly data, or 86400 seconds for daily data. To retrieve all available historical data, use limit=2000 and continue requesting in batches: &limit=2000&to_ts={adjusted earliest Unix timestamp received}. The to_ts parameter must be in seconds since the epoch.","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. The timestamp (to_ts) you provide determines the last full aggregation bucket. If to_ts falls within an interval, the returned data will include the entire interval that to_ts belongs to.","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"],"x-enum-properties-info":{"JSON":{"name":"JSON","description":"Data is returned in JavaScript Object Notation (JSON) format for easy parsing and integration."},"CSV":{"name":"CSV","description":"Data is returned in Comma-Separated Values (CSV) format for spreadsheet and tabular analysis."}}},"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":"integer","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","format":"unix_timestamp"},"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":"integer","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).","format":"unix_timestamp","x-cc-api-group":"OHLC_MESSAGE"},"LAST_MESSAGE_TIMESTAMP":{"type":"integer","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).","format":"unix_timestamp","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":"integer","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).","format":"unix_timestamp","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"Latest Block Full Processed ETH","description":"The /onchain/v1/block/2/last endpoint is deprecated and has been replaced by the enhanced /onchain/v1/block/2 endpoint. The updated endpoint now supports the block_number parameter with negative values, allowing you to retrieve the last block using -1, the penultimate block with -2, and so on. This","x-extended-description-with-markdown":"The /onchain/v1/block/2/last endpoint is deprecated and has been replaced by the enhanced /onchain/v1/block/2 endpoint. The updated endpoint now supports the block_number parameter with negative values, allowing you to retrieve the last block using -1, the penultimate block with -2, and so on. This change eliminates the need for a separate endpoint for the last block.\n        \n### How to Migrate\n- **Update Endpoint URL**: Change your API calls from `/onchain/v1/block/2/last` to `/onchain/v1/block/2`.\n- **Set `block_number=-1`**: To retrieve the last block, simply use the `block_number` parameter with a value of -1 in your API call.\n- **Use Negative Values for Earlier Blocks**: If you need earlier blocks, use values like -2 for the penultimate block, -3 for the third-to-last block, and so on.\n- **No Other Parameter or Response Changes**: The response format and other parameters remain unchanged.\n\n### What's Changed and Why\n- **Unified Endpoint**: The functionality for retrieving the latest block has been incorporated into the `/onchain/v1/block/2` endpoint. This simplifies the API by allowing a single endpoint to handle both specific block numbers and the last (or earlier) blocks using negative values.\n- **New `block_number` Parameter Behavior**: The `block_number` parameter now supports negative values. -1 retrieves the last block, -2 retrieves the second-to-last block, and so on, eliminating the need for a separate endpoint.\n\n### Reason for Changes\n- **Simplification**: By enhancing the `/onchain/v1/block/2` endpoint to support negative values for the `block_number` parameter, we eliminated the need for separate endpoints, reducing API complexity and improving ease of use.\n- **Increased Flexibility**: Allowing negative values for block_number gives developers more control and flexibility in retrieving the latest and earlier blocks using a single, unified endpoint.\n\nBy migrating to the enhanced `/onchain/v1/block/2` endpoint and using negative values for the `block_number` parameter, you'll benefit from a more streamlined API, with the ability to retrieve the last or earlier blocks without the need for separate endpoints.","tags":["Deprecated"],"operationId":"onchain_v1_block_2_last","x-section":"Deprecated","x-roles-required":["free"],"x-cache-length-seconds":5,"x-visible-in-ai":true,"x-endpoint-group-id":"onchain_v1_block_last","x-endpoint-group-name":"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","TRANSACTIONS"],"items":{"type":"string","enum":["ID","METADATA","TRANSACTIONS","ORPHAN_TRACES","UNCLES","WITHDRAWALS"],"x-enum-properties-info":{}}},"example":["ID","METADATA","TRANSACTIONS"]}],"deprecated":true,"x-superseded-by-operation-id":"onchain_v1_block_2","responses":{"200":{"description":"Success response from the API.","content":{"application/json":{"schema":{"type":"object","properties":{"Data":{"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,"x-cc-api-group":"ID"},"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":"integer","description":"The current block timestamp","format":"unix_timestamp","example":1438918233,"x-cc-api-group":"ID"},"RECEIVED_TIMESTAMP":{"type":"integer","description":"The current block received timestamp","format":"unix_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,"format":"unix_timestamp"},"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"},"L1_BLOCK_NUMBER":{"type":"integer","description":"The block number on Layer 1 where transactions are finalized.","example":2},"CONFIRMATIONS":{"type":"integer","description":"The number of blocks added to the blockchain after this block. More confirmations generally mean a higher degree of security and acceptance in the network.","example":0},"VERSION":{"type":"integer","description":"A version number indicating which set of block validation rules to follow. Miners can use this to signal readiness to enforce network upgrades.","example":0},"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"},"BITS":{"type":"string","description":"The total amount of gas consumed by all transactions in the block. It helps in understanding the efficiency of transactions.","example":"17035a59"},"TARGET":{"type":"string","description":"","example":"000000000000000000025ced0000000000000000000000000000000000000000"},"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":"The bloom filter that allows for efficient querying of event logs.","example":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},"MILLI_TIMESTAMP":{"type":"integer","description":"","example":0},"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"},"MERKLE_ROOT":{"type":"string","description":"The Merkle root hash, which summarizes all the transactions included in the block. It ensures the integrity of the transactions.","example":"04d7486fa71ef6061469a55dc0fdeb634d3e9849dd0ee829668720524d8178f3"},"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"},"REQUESTS_HASH":{"type":"string","description":"","example":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"SEND_COUNT":{"type":"integer","description":"The total number of messages or transactions that have been sent from Layer 2 to Layer 1.","example":0},"SEND_ROOT":{"type":"string","description":"Merkle root used to track messages sent from Layer 2 to Layer 1.","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},"CHAIN_WORK":{"type":"string","description":"The total cumulative amount of work in the blockchain up to and including this block. It's a measure of the blockchain's security.","example":"00000000000000000000000000000000000000007051baf97bac4bdfd3975a78"},"SIZE":{"type":"integer","description":"The size of the block in bytes. It includes all the data and metadata within the block.","example":544},"WEIGHT":{"type":"integer","description":"A metric for the block's size that considers both the non-SegWit and SegWit data, used to ensure blocks remain within the maximum block weight.","example":3993394},"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},"MEDIAN_TIME":{"type":"integer","description":"The median time of the last 11 blocks. It's used to ensure the network's time consistency.","example":1711120689},"AUTHOR":{"type":"string","description":"","example":"0xd883010f0b846765746888676f312e32342e32856c696e7578"},"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},"BLOB_GAS_USED":{"type":"string","description":"The total amount of gas used by blob transactions within the block.","example":null},"EXCESS_BLOB_GAS":{"type":"string","description":"The amount of gas exceeding the standard limit for blob transactions.","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":"Transaction internal mapped hash. (For BTC transactions without SegWit data, this is the same as the txid. For SegWit transactions, this represents the hash of the transaction including the witness data).","example":"0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"},"BLOCK_HASH":{"type":"string","description":"The current block hash","example":"0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"},"BLOCK_NUMBER":{"type":"integer","description":"The current block number","example":46147},"BLOCK_TIMESTAMP":{"type":"number","description":"The current block timestamp","example":1438918233,"format":"unix_timestamp"},"INDEX_IN_BLOCK":{"type":"integer","description":"Transaction index in the block","example":0},"TX_ID":{"type":"string","description":"Transaction ID, a unique identifier for the transaction, calculated as the double SHA-256 hash of the transaction data.","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":"string","description":"The amount of cryptocurrency being transferred from the sender to the recipient.","example":31337},"GAS":{"type":"string","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},"LOGS_BLOOM":{"type":"string","description":"The bloom filter that allows for efficient querying of event logs.","example":"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},"L1_GAS_USED":{"type":"string","description":"The amount of gas used specifically by the current transaction.","example":21000},"L1_BLOCK_NUMBER":{"type":"integer","description":"The block number on Layer 1 where the transaction was included.","example":1},"L1_BASE_FEE_SCALAR":{"type":"string","description":"A scalar value used to adjust the base fee on Layer 1 for the transaction.","example":21000},"L1_BLOB_BASE_FEE":{"type":"string","description":"The base fee for processing blob transactions on Layer 1.","example":21000},"L1_BLOB_BASE_FEE_SCALAR":{"type":"string","description":"A scalar value used to adjust the blob base fee on Layer 1.","example":21000},"L1_FEE":{"type":"string","description":"The total fee paid for processing the transaction on Layer 1.","example":21000},"L1_GAS_PRICE":{"type":"string","description":"The price per unit of gas for executing the transaction on Layer 1.","example":21000},"DEPOSIT_NONCE":{"type":"integer","description":"A unique number associated with the deposit transaction to ensure the uniquness and order of deposit transactions.","example":12700001},"DEPOSIT_RECEIPT_VERSION":{"type":"integer","description":"The version number of the deposit receipt, indicating the format version used.","example":1},"GAS_PRICE":{"type":"string","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_BLOB_GAS_PRICE":{"type":"string","description":"The total gas price of the transaction blobs.","example":21000},"RECEIPT_BLOB_GAS_USED":{"type":"string","description":"The total amount of gas used by the transaction blobs.","example":21000},"RECEIPT_CUMULATIVE_GAS_USED":{"type":"string","description":"The total amount of gas used by the transaction and all preceding transactions within the same block.","example":21000},"RECEIPT_GAS_USED":{"type":"string","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},"RECEIPT_TIMEBOOSTED":{"type":"boolean","description":"","example":true},"MAX_FEE_PER_GAS":{"type":"string","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":"string","description":"The maximum fee per gas unit that the sender is willing to pay for higher priority processing of the transaction.","example":null},"MAX_FEE_PER_BLOB_GAS":{"type":"string","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":"string","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"}}}}},"AUTHORIZATION_LIST":{"type":"array","description":"","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_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"},"ACTION_INIT":{"type":"string","description":"This is the bytecode that is executed to initialize the contract and determine its final code stored on the blockchain.","example":"0x"},"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"},"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_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_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_ADDRESS":{"type":"string","description":"This is the contract whose code and storage are being removed from the blockchain.","example":"0x"},"ACTION_REFUND_ADDRESS":{"type":"string","description":"This is usually an external account or another contract that the remaining Ether is sent to.","example":"0x"},"ACTION_BALANCE":{"type":"string","description":"This amount will be transferred to the ACTION_REFUND_ADDRESS. It’s typically represented in wei (the smallest unit of Ether).","example":"0"},"RESULT_BEFORE_EVM_TRANSFERS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_AFTER_EVM_TRANSFERS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_ADDRESS":{"type":"string","description":"The address where the new contract is deployed.","example":"0x"},"RESULT_CODE":{"type":"string","description":"This is the actual code that will be stored and executed on the blockchain, distinct from the init code that was used to generate it.","example":"0x"},"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"},"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"},"RESULT_CALLS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_ERROR":{"type":"string","description":"Records any errors encountered during the execution of the result, providing information about the nature of the error. Example: *execution reverted*.","example":"execution reverted"},"RESULT_STATUS":{"type":"string","description":"The 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"},"RESULT_REVERT_REASON":{"type":"string","description":"Records any errors encountered during the execution of the result, providing information about the nature of the error. Example: *fail*.","example":"fail"},"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}}}},"BLOBS":{"type":"array","description":"The current transaction blobs, null when there are no blobs attached to the transaction.","example":[],"items":{"type":"string"}},"HEX":{"type":"string","description":"The raw hexadecimal representation of the entire transaction data.","example":"0x"},"TRANSACTION_INPUTS":{"type":"array","description":"The source of funds for a Bitcoin transaction.","items":{"type":"object","properties":{"TYPE":{"type":"string","description":"Type of the message.","example":"1047"},"TX_ID":{"type":"string","description":"Transaction ID, a unique identifier for the transaction, calculated as the double SHA-256 hash of the transaction data.","example":"96772166abc6c3348e2ebf7c5a0f0297a99c19f8eb7479635f93caccfc4e0374"},"BLOCK_HASH":{"type":"string","description":"The current block hash","example":"0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"},"BLOCK_NUMBER":{"type":"integer","description":"The current block number","example":46147},"BLOCK_TIMESTAMP":{"type":"number","description":"The current block timestamp","example":1438918233,"format":"unix_timestamp"},"INDEX_IN_BLOCK":{"type":"integer","description":"Transaction index in the block","example":0},"INDEX_IN_TRANSACTION":{"type":"integer","description":"The position of a specific input or output within a transaction.","example":20},"SEQUENCE":{"type":"integer","description":"A number used to specify the order of transaction.","example":4294967295},"COINBASE":{"type":"string","description":"A special type of transaction input that is used to reward miners with newly created bitcoins.","example":""},"TX_IN_WITNESS":{"type":"string","description":"","example":["924b2624416402a52ed7cf4eba6b2c535d2def8e649a74ed97aaca5ec54881ef3b34da68bb13d76d6b420e60297a9247cb081d1e59cb2c260b1509cff25d4b31","204c04e894d5357840e324b24c959ca6a5082035f6ffae12f331202bc84bf4612eac0063036f7264010b2047f22ed15d3082f5e9a005864528e4f991ade841a9c5846e2c118425878b6be1010d09b530368c74df10a30368","c04c04e894d5357840e324b24c959ca6a5082035f6ffae12f331202bc84bf4612e"]},"SCRIPT_SIG":{"type":"object","description":"","example":{"ASM":"","HEX":""}},"SOURCE_TRANSACTION_OUTPUT":{"type":"object","description":"","example":{"TYPE":"1048","BLOCK_NUMBER":840017,"BLOCK_TIMESTAMP":1713580375,"VALUE":0.015,"INDEX_IN_TRANSACTION":0,"SCRIPT_PUB_KEY":{"ASM":"OP_HASH160 3d26f38127c38d328f850efcb9aa72cf308c3a73 OP_EQUAL","DESC":"addr(37GMoczzB6tVZEN4nGJEk4okDUXs7EM5rH)#q35hmxvj","HEX":"a9143d26f38127c38d328f850efcb9aa72cf308c3a7387","ADDRESS":"37GMoczzB6tVZEN4nGJEk4okDUXs7EM5rH","TYPE":"scripthash"}},"properties":{"TYPE":{"type":"string","description":"Type of the message.","example":"1048"},"BLOCK_NUMBER":{"type":"integer","description":"The current block number","example":46147},"BLOCK_TIMESTAMP":{"type":"number","description":"The current block timestamp","example":1438918233,"format":"unix_timestamp"},"INDEX_IN_TRANSACTION":{"type":"integer","description":"","example":8},"VALUE":{"type":"integer","description":"","example":0.01908834},"SCRIPT_PUB_KEY":{"type":"object","description":"","example":{"ASM":"OP_DUP OP_HASH160 e84d7bce1c9ac9905d7f375d5996354732396901 OP_EQUALVERIFY OP_CHECKSIG","DESC":"addr(1NBJbAK15oRW7x1sGvVEGLLunDub82YctX)#t07wcz5u","HEX":"76a914e84d7bce1c9ac9905d7f375d599635473239690188ac","ADDRESS":"1NBJbAK15oRW7x1sGvVEGLLunDub82YctX","TYPE":"pubkeyhash"}}}}}}},"TRANSACTION_OUTPUTS":{"type":"array","description":"The destination of funds in a Bitcoin transaction.","items":{"type":"object","properties":{"TYPE":{"type":"string","description":"Type of the message.","example":"1048"},"BLOCK_NUMBER":{"type":"integer","description":"The current block number","example":46147},"BLOCK_TIMESTAMP":{"type":"number","description":"The current block timestamp","example":1438918233,"format":"unix_timestamp"},"INDEX_IN_TRANSACTION":{"type":"integer","description":"","example":8},"VALUE":{"type":"integer","description":"","example":0.01908834},"SCRIPT_PUB_KEY":{"type":"object","description":"","example":{"ASM":"OP_DUP OP_HASH160 e84d7bce1c9ac9905d7f375d5996354732396901 OP_EQUALVERIFY OP_CHECKSIG","DESC":"addr(1NBJbAK15oRW7x1sGvVEGLLunDub82YctX)#t07wcz5u","HEX":"76a914e84d7bce1c9ac9905d7f375d599635473239690188ac","ADDRESS":"1NBJbAK15oRW7x1sGvVEGLLunDub82YctX","TYPE":"pubkeyhash"}}}}},"SOURCE_HASH":{"type":"string","description":"Transaction source hash.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"MINT":{"type":"integer","description":"","example":0},"REQUEST_ID":{"type":"string","description":"","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"REFUND_TO":{"type":"string","description":"The address to which any potential refunds from failed transactions or excess fees will be sent.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"L1_BASE_FEE":{"type":"integer","description":"The base fee required for transactions on Layer 1.","example":0},"DEPOSIT_VALUE":{"type":"integer","description":"The amount of cryptocurrency being deposited into the Layer 2 network.","example":0},"RETRY_TO":{"type":"string","description":"The address to which a transaction should be retried or redirected.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"RETRY_VALUE":{"type":"integer","description":"The amount of value associated with a transaction retry.","example":0},"RETRY_DATA":{"type":"string","description":"Additional data or parameters required for retrying a transaction.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"BENEFICIARY":{"type":"string","description":"The recipient address designated to receive the cryptocurrency.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"MAX_SUBMISSION_FEE":{"type":"integer","description":"The maximum fee a user is willing to pay for submitting a transaction.","example":0},"TICKET_ID":{"type":"string","description":"An identifier for a transaction ticket, used to track and manage queued or pending transactions.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"MAX_REFUND":{"type":"integer","description":"The maximum amount of funds that can be refunded in a transaction.","example":0},"SUBMISSION_FEE_REFUND":{"type":"integer","description":"The portion of the submission fee that is refunded if a transaction is not processed as expected.","example":0}}},"example":[],"x-cc-api-group":"TRANSACTIONS"},"ORPHAN_TRACES":{"type":"array","description":"Traces that were part of blocks that were not included in the main blockchain due to a fork or reorganization.","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_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"},"ACTION_INIT":{"type":"string","description":"This is the bytecode that is executed to initialize the contract and determine its final code stored on the blockchain.","example":"0x"},"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"},"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_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_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_ADDRESS":{"type":"string","description":"This is the contract whose code and storage are being removed from the blockchain.","example":"0x"},"ACTION_REFUND_ADDRESS":{"type":"string","description":"This is usually an external account or another contract that the remaining Ether is sent to.","example":"0x"},"ACTION_BALANCE":{"type":"string","description":"This amount will be transferred to the ACTION_REFUND_ADDRESS. It’s typically represented in wei (the smallest unit of Ether).","example":"0"},"RESULT_BEFORE_EVM_TRANSFERS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_AFTER_EVM_TRANSFERS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_ADDRESS":{"type":"string","description":"The address where the new contract is deployed.","example":"0x"},"RESULT_CODE":{"type":"string","description":"This is the actual code that will be stored and executed on the blockchain, distinct from the init code that was used to generate it.","example":"0x"},"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"},"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"},"RESULT_CALLS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_ERROR":{"type":"string","description":"Records any errors encountered during the execution of the result, providing information about the nature of the error. Example: *execution reverted*.","example":"execution reverted"},"RESULT_STATUS":{"type":"string","description":"The 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"},"RESULT_REVERT_REASON":{"type":"string","description":"Records any errors encountered during the execution of the result, providing information about the nature of the error. Example: *fail*.","example":"fail"},"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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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"}}}}}}}}}}}},"security":[{"api_key":[]},{"http_basic":[]}]}},"/onchain/v1/block/8/last":{"get":{"summary":"Latest Block Full Processed BNB","description":"The /onchain/v1/block/8/last endpoint is deprecated and has been replaced by the enhanced /onchain/v1/block/8 endpoint. The block_number parameter in the updated endpoint now supports negative values, allowing you to retrieve the last block using -1, the penultimate block with -2, and so on. This c","x-extended-description-with-markdown":"The /onchain/v1/block/8/last endpoint is deprecated and has been replaced by the enhanced /onchain/v1/block/8 endpoint. The block_number parameter in the updated endpoint now supports negative values, allowing you to retrieve the last block using -1, the penultimate block with -2, and so on. This change eliminates the need for a separate endpoint for the last block.\n        \n### How to Migrate\n- **Update Endpoint URL**: Change your API calls from `/onchain/v1/block/8/last` to `/onchain/v1/block/8`.\n- **Set `block_number=-1`**: Use the `block_number` parameter with a value of -1 to retrieve the last block.\n- **Use Negative Values for Earlier Blocks**: Use `block_number=-2` to retrieve the penultimate block, -3 for the third-to-last block, and so on.\n- **No Other Parameter or Response Changes**: The response format and other parameters remain the same.\n\n### What's Changed and Why\n- **Unified Endpoint**: The `/onchain/v1/block/8` endpoint has been updated to handle both specific block numbers and negative values for the `block_number` parameter, allowing retrieval of the last block (-1) and earlier blocks, simplifying the API.\n- **New `block_number` Parameter Behavior**: The `block_number` parameter now supports negative values. Use -1 for the latest block, -2 for the second-to-last block, etc., eliminating the need for separate endpoints.\n\n### Reason for Changes\n- **API Simplification**: The `/onchain/v1/block/8` endpoint has been enhanced to support negative values for the `block_number` parameter, which removes the need for a separate /last endpoint and reduces overall API complexity.\n- **Increased Flexibility**: Using negative values for `block_number` provides a more flexible way to retrieve the latest or earlier blocks without needing additional endpoints.\n\nBy migrating to the updated `/onchain/v1/block/8` endpoint and utilizing negative values for the `block_number` parameter, you’ll be able to efficiently retrieve the latest and earlier blocks, simplifying your API integration and reducing the need for multiple endpoints.","tags":["Deprecated"],"operationId":"onchain_v1_block_8_last","x-section":"Deprecated","x-roles-required":["free"],"x-cache-length-seconds":5,"x-visible-in-ai":true,"x-endpoint-group-id":"onchain_v1_block_last","x-endpoint-group-name":"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","TRANSACTIONS"],"items":{"type":"string","enum":["ID","METADATA","TRANSACTIONS","ORPHAN_TRACES","UNCLES","WITHDRAWALS"],"x-enum-properties-info":{}}},"example":["ID","METADATA","TRANSACTIONS"]}],"deprecated":true,"x-superseded-by-operation-id":"onchain_v1_block_8","responses":{"200":{"description":"Success response from the API.","content":{"application/json":{"schema":{"type":"object","properties":{"Data":{"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,"x-cc-api-group":"ID"},"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":"integer","description":"The current block timestamp","format":"unix_timestamp","example":1438918233,"x-cc-api-group":"ID"},"RECEIVED_TIMESTAMP":{"type":"integer","description":"The current block received timestamp","format":"unix_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,"format":"unix_timestamp"},"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"},"L1_BLOCK_NUMBER":{"type":"integer","description":"The block number on Layer 1 where transactions are finalized.","example":2},"CONFIRMATIONS":{"type":"integer","description":"The number of blocks added to the blockchain after this block. More confirmations generally mean a higher degree of security and acceptance in the network.","example":0},"VERSION":{"type":"integer","description":"A version number indicating which set of block validation rules to follow. Miners can use this to signal readiness to enforce network upgrades.","example":0},"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"},"BITS":{"type":"string","description":"The total amount of gas consumed by all transactions in the block. It helps in understanding the efficiency of transactions.","example":"17035a59"},"TARGET":{"type":"string","description":"","example":"000000000000000000025ced0000000000000000000000000000000000000000"},"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":"The bloom filter that allows for efficient querying of event logs.","example":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},"MILLI_TIMESTAMP":{"type":"integer","description":"","example":0},"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"},"MERKLE_ROOT":{"type":"string","description":"The Merkle root hash, which summarizes all the transactions included in the block. It ensures the integrity of the transactions.","example":"04d7486fa71ef6061469a55dc0fdeb634d3e9849dd0ee829668720524d8178f3"},"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"},"REQUESTS_HASH":{"type":"string","description":"","example":"0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"SEND_COUNT":{"type":"integer","description":"The total number of messages or transactions that have been sent from Layer 2 to Layer 1.","example":0},"SEND_ROOT":{"type":"string","description":"Merkle root used to track messages sent from Layer 2 to Layer 1.","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},"CHAIN_WORK":{"type":"string","description":"The total cumulative amount of work in the blockchain up to and including this block. It's a measure of the blockchain's security.","example":"00000000000000000000000000000000000000007051baf97bac4bdfd3975a78"},"SIZE":{"type":"integer","description":"The size of the block in bytes. It includes all the data and metadata within the block.","example":544},"WEIGHT":{"type":"integer","description":"A metric for the block's size that considers both the non-SegWit and SegWit data, used to ensure blocks remain within the maximum block weight.","example":3993394},"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},"MEDIAN_TIME":{"type":"integer","description":"The median time of the last 11 blocks. It's used to ensure the network's time consistency.","example":1711120689},"AUTHOR":{"type":"string","description":"","example":"0xd883010f0b846765746888676f312e32342e32856c696e7578"},"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},"BLOB_GAS_USED":{"type":"string","description":"The total amount of gas used by blob transactions within the block.","example":null},"EXCESS_BLOB_GAS":{"type":"string","description":"The amount of gas exceeding the standard limit for blob transactions.","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":"Transaction internal mapped hash. (For BTC transactions without SegWit data, this is the same as the txid. For SegWit transactions, this represents the hash of the transaction including the witness data).","example":"0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"},"BLOCK_HASH":{"type":"string","description":"The current block hash","example":"0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"},"BLOCK_NUMBER":{"type":"integer","description":"The current block number","example":46147},"BLOCK_TIMESTAMP":{"type":"number","description":"The current block timestamp","example":1438918233,"format":"unix_timestamp"},"INDEX_IN_BLOCK":{"type":"integer","description":"Transaction index in the block","example":0},"TX_ID":{"type":"string","description":"Transaction ID, a unique identifier for the transaction, calculated as the double SHA-256 hash of the transaction data.","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":"string","description":"The amount of cryptocurrency being transferred from the sender to the recipient.","example":31337},"GAS":{"type":"string","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},"LOGS_BLOOM":{"type":"string","description":"The bloom filter that allows for efficient querying of event logs.","example":"0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000"},"L1_GAS_USED":{"type":"string","description":"The amount of gas used specifically by the current transaction.","example":21000},"L1_BLOCK_NUMBER":{"type":"integer","description":"The block number on Layer 1 where the transaction was included.","example":1},"L1_BASE_FEE_SCALAR":{"type":"string","description":"A scalar value used to adjust the base fee on Layer 1 for the transaction.","example":21000},"L1_BLOB_BASE_FEE":{"type":"string","description":"The base fee for processing blob transactions on Layer 1.","example":21000},"L1_BLOB_BASE_FEE_SCALAR":{"type":"string","description":"A scalar value used to adjust the blob base fee on Layer 1.","example":21000},"L1_FEE":{"type":"string","description":"The total fee paid for processing the transaction on Layer 1.","example":21000},"L1_GAS_PRICE":{"type":"string","description":"The price per unit of gas for executing the transaction on Layer 1.","example":21000},"DEPOSIT_NONCE":{"type":"integer","description":"A unique number associated with the deposit transaction to ensure the uniquness and order of deposit transactions.","example":12700001},"DEPOSIT_RECEIPT_VERSION":{"type":"integer","description":"The version number of the deposit receipt, indicating the format version used.","example":1},"GAS_PRICE":{"type":"string","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_BLOB_GAS_PRICE":{"type":"string","description":"The total gas price of the transaction blobs.","example":21000},"RECEIPT_BLOB_GAS_USED":{"type":"string","description":"The total amount of gas used by the transaction blobs.","example":21000},"RECEIPT_CUMULATIVE_GAS_USED":{"type":"string","description":"The total amount of gas used by the transaction and all preceding transactions within the same block.","example":21000},"RECEIPT_GAS_USED":{"type":"string","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},"RECEIPT_TIMEBOOSTED":{"type":"boolean","description":"","example":true},"MAX_FEE_PER_GAS":{"type":"string","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":"string","description":"The maximum fee per gas unit that the sender is willing to pay for higher priority processing of the transaction.","example":null},"MAX_FEE_PER_BLOB_GAS":{"type":"string","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":"string","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"}}}}},"AUTHORIZATION_LIST":{"type":"array","description":"","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_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"},"ACTION_INIT":{"type":"string","description":"This is the bytecode that is executed to initialize the contract and determine its final code stored on the blockchain.","example":"0x"},"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"},"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_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_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_ADDRESS":{"type":"string","description":"This is the contract whose code and storage are being removed from the blockchain.","example":"0x"},"ACTION_REFUND_ADDRESS":{"type":"string","description":"This is usually an external account or another contract that the remaining Ether is sent to.","example":"0x"},"ACTION_BALANCE":{"type":"string","description":"This amount will be transferred to the ACTION_REFUND_ADDRESS. It’s typically represented in wei (the smallest unit of Ether).","example":"0"},"RESULT_BEFORE_EVM_TRANSFERS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_AFTER_EVM_TRANSFERS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_ADDRESS":{"type":"string","description":"The address where the new contract is deployed.","example":"0x"},"RESULT_CODE":{"type":"string","description":"This is the actual code that will be stored and executed on the blockchain, distinct from the init code that was used to generate it.","example":"0x"},"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"},"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"},"RESULT_CALLS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_ERROR":{"type":"string","description":"Records any errors encountered during the execution of the result, providing information about the nature of the error. Example: *execution reverted*.","example":"execution reverted"},"RESULT_STATUS":{"type":"string","description":"The 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"},"RESULT_REVERT_REASON":{"type":"string","description":"Records any errors encountered during the execution of the result, providing information about the nature of the error. Example: *fail*.","example":"fail"},"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}}}},"BLOBS":{"type":"array","description":"The current transaction blobs, null when there are no blobs attached to the transaction.","example":[],"items":{"type":"string"}},"HEX":{"type":"string","description":"The raw hexadecimal representation of the entire transaction data.","example":"0x"},"TRANSACTION_INPUTS":{"type":"array","description":"The source of funds for a Bitcoin transaction.","items":{"type":"object","properties":{"TYPE":{"type":"string","description":"Type of the message.","example":"1047"},"TX_ID":{"type":"string","description":"Transaction ID, a unique identifier for the transaction, calculated as the double SHA-256 hash of the transaction data.","example":"96772166abc6c3348e2ebf7c5a0f0297a99c19f8eb7479635f93caccfc4e0374"},"BLOCK_HASH":{"type":"string","description":"The current block hash","example":"0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060"},"BLOCK_NUMBER":{"type":"integer","description":"The current block number","example":46147},"BLOCK_TIMESTAMP":{"type":"number","description":"The current block timestamp","example":1438918233,"format":"unix_timestamp"},"INDEX_IN_BLOCK":{"type":"integer","description":"Transaction index in the block","example":0},"INDEX_IN_TRANSACTION":{"type":"integer","description":"The position of a specific input or output within a transaction.","example":20},"SEQUENCE":{"type":"integer","description":"A number used to specify the order of transaction.","example":4294967295},"COINBASE":{"type":"string","description":"A special type of transaction input that is used to reward miners with newly created bitcoins.","example":""},"TX_IN_WITNESS":{"type":"string","description":"","example":["924b2624416402a52ed7cf4eba6b2c535d2def8e649a74ed97aaca5ec54881ef3b34da68bb13d76d6b420e60297a9247cb081d1e59cb2c260b1509cff25d4b31","204c04e894d5357840e324b24c959ca6a5082035f6ffae12f331202bc84bf4612eac0063036f7264010b2047f22ed15d3082f5e9a005864528e4f991ade841a9c5846e2c118425878b6be1010d09b530368c74df10a30368","c04c04e894d5357840e324b24c959ca6a5082035f6ffae12f331202bc84bf4612e"]},"SCRIPT_SIG":{"type":"object","description":"","example":{"ASM":"","HEX":""}},"SOURCE_TRANSACTION_OUTPUT":{"type":"object","description":"","example":{"TYPE":"1048","BLOCK_NUMBER":840017,"BLOCK_TIMESTAMP":1713580375,"VALUE":0.015,"INDEX_IN_TRANSACTION":0,"SCRIPT_PUB_KEY":{"ASM":"OP_HASH160 3d26f38127c38d328f850efcb9aa72cf308c3a73 OP_EQUAL","DESC":"addr(37GMoczzB6tVZEN4nGJEk4okDUXs7EM5rH)#q35hmxvj","HEX":"a9143d26f38127c38d328f850efcb9aa72cf308c3a7387","ADDRESS":"37GMoczzB6tVZEN4nGJEk4okDUXs7EM5rH","TYPE":"scripthash"}},"properties":{"TYPE":{"type":"string","description":"Type of the message.","example":"1048"},"BLOCK_NUMBER":{"type":"integer","description":"The current block number","example":46147},"BLOCK_TIMESTAMP":{"type":"number","description":"The current block timestamp","example":1438918233,"format":"unix_timestamp"},"INDEX_IN_TRANSACTION":{"type":"integer","description":"","example":8},"VALUE":{"type":"integer","description":"","example":0.01908834},"SCRIPT_PUB_KEY":{"type":"object","description":"","example":{"ASM":"OP_DUP OP_HASH160 e84d7bce1c9ac9905d7f375d5996354732396901 OP_EQUALVERIFY OP_CHECKSIG","DESC":"addr(1NBJbAK15oRW7x1sGvVEGLLunDub82YctX)#t07wcz5u","HEX":"76a914e84d7bce1c9ac9905d7f375d599635473239690188ac","ADDRESS":"1NBJbAK15oRW7x1sGvVEGLLunDub82YctX","TYPE":"pubkeyhash"}}}}}}},"TRANSACTION_OUTPUTS":{"type":"array","description":"The destination of funds in a Bitcoin transaction.","items":{"type":"object","properties":{"TYPE":{"type":"string","description":"Type of the message.","example":"1048"},"BLOCK_NUMBER":{"type":"integer","description":"The current block number","example":46147},"BLOCK_TIMESTAMP":{"type":"number","description":"The current block timestamp","example":1438918233,"format":"unix_timestamp"},"INDEX_IN_TRANSACTION":{"type":"integer","description":"","example":8},"VALUE":{"type":"integer","description":"","example":0.01908834},"SCRIPT_PUB_KEY":{"type":"object","description":"","example":{"ASM":"OP_DUP OP_HASH160 e84d7bce1c9ac9905d7f375d5996354732396901 OP_EQUALVERIFY OP_CHECKSIG","DESC":"addr(1NBJbAK15oRW7x1sGvVEGLLunDub82YctX)#t07wcz5u","HEX":"76a914e84d7bce1c9ac9905d7f375d599635473239690188ac","ADDRESS":"1NBJbAK15oRW7x1sGvVEGLLunDub82YctX","TYPE":"pubkeyhash"}}}}},"SOURCE_HASH":{"type":"string","description":"Transaction source hash.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"MINT":{"type":"integer","description":"","example":0},"REQUEST_ID":{"type":"string","description":"","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"REFUND_TO":{"type":"string","description":"The address to which any potential refunds from failed transactions or excess fees will be sent.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"L1_BASE_FEE":{"type":"integer","description":"The base fee required for transactions on Layer 1.","example":0},"DEPOSIT_VALUE":{"type":"integer","description":"The amount of cryptocurrency being deposited into the Layer 2 network.","example":0},"RETRY_TO":{"type":"string","description":"The address to which a transaction should be retried or redirected.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"RETRY_VALUE":{"type":"integer","description":"The amount of value associated with a transaction retry.","example":0},"RETRY_DATA":{"type":"string","description":"Additional data or parameters required for retrying a transaction.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"BENEFICIARY":{"type":"string","description":"The recipient address designated to receive the cryptocurrency.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"MAX_SUBMISSION_FEE":{"type":"integer","description":"The maximum fee a user is willing to pay for submitting a transaction.","example":0},"TICKET_ID":{"type":"string","description":"An identifier for a transaction ticket, used to track and manage queued or pending transactions.","example":"0x3a384c001fc552caf3bedc004d9946d734d3c45518d74e5d95397c2b306862a3"},"MAX_REFUND":{"type":"integer","description":"The maximum amount of funds that can be refunded in a transaction.","example":0},"SUBMISSION_FEE_REFUND":{"type":"integer","description":"The portion of the submission fee that is refunded if a transaction is not processed as expected.","example":0}}},"example":[],"x-cc-api-group":"TRANSACTIONS"},"ORPHAN_TRACES":{"type":"array","description":"Traces that were part of blocks that were not included in the main blockchain due to a fork or reorganization.","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_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"},"ACTION_INIT":{"type":"string","description":"This is the bytecode that is executed to initialize the contract and determine its final code stored on the blockchain.","example":"0x"},"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"},"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_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_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_ADDRESS":{"type":"string","description":"This is the contract whose code and storage are being removed from the blockchain.","example":"0x"},"ACTION_REFUND_ADDRESS":{"type":"string","description":"This is usually an external account or another contract that the remaining Ether is sent to.","example":"0x"},"ACTION_BALANCE":{"type":"string","description":"This amount will be transferred to the ACTION_REFUND_ADDRESS. It’s typically represented in wei (the smallest unit of Ether).","example":"0"},"RESULT_BEFORE_EVM_TRANSFERS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_AFTER_EVM_TRANSFERS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_ADDRESS":{"type":"string","description":"The address where the new contract is deployed.","example":"0x"},"RESULT_CODE":{"type":"string","description":"This is the actual code that will be stored and executed on the blockchain, distinct from the init code that was used to generate it.","example":"0x"},"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"},"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"},"RESULT_CALLS":{"type":"array","description":"","example":[],"items":{"type":"string"}},"RESULT_ERROR":{"type":"string","description":"Records any errors encountered during the execution of the result, providing information about the nature of the error. Example: *execution reverted*.","example":"execution reverted"},"RESULT_STATUS":{"type":"string","description":"The 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"},"RESULT_REVERT_REASON":{"type":"string","description":"Records any errors encountered during the execution of the result, providing information about the nature of the error. Example: *fail*.","example":"fail"},"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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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"}}}}}}}}}}}},"security":[{"api_key":[]},{"http_basic":[]}]}},"/asset/v2/metadata":{"get":{"summary":"Full Asset Metadata","description":"The Full Asset Metadata endpoint returns an object that provides detailed and comprehensive information about multiple cryptocurrency assets in response to a request. Each asset can be identified by its CoinDesk asset ID, unique asset symbol, or asset URI, ensuring users receive a broad dataset cov","x-extended-description-with-markdown":"The Full Asset Metadata endpoint returns an object that provides detailed and comprehensive information about multiple cryptocurrency assets in response to a request. Each asset can be identified by its CoinDesk asset ID, unique asset symbol, or asset URI, ensuring users receive a broad dataset covering all requested assets. This object consolidates extensive data related to asset description, classification, blockchain properties, social metrics, token sale information, and equity sale details for each asset—facilitating in-depth analysis, development, and research.\n\nThe assets specified in the `assets` parameter will be returned as keys in the response object, allowing users to easily map the provided input to the corresponding detailed asset metadata. This ensures a structured and predictable response format that aligns with the original request, simplifying data handling and integration into applications.\n\n### Key Features\n- **Multi-Asset Comprehensive Information**: Retrieve metadata for multiple cryptocurrency assets in one call. This includes asset type, symbol, name, and official links to whitepapers and websites, streamlining the process of accessing extensive data for various assets at once.\n- **Detailed Blockchain and Token Properties**: Obtain technical specifications like consensus mechanisms, supply data, block creation times, and key blockchain addresses for each requested asset, supporting blockchain development and analysis at scale.\n- **Integrated Social Metrics**: Access social media presence and engagement metrics across platforms such as Twitter, Discord, and Telegram, providing insight into the community interest and sentiment for each asset.\n- **Token Sale and ICO Data**: Retrieve historical token sale information for multiple assets, including ICO/IEO details, funding stages, accepted payment methods, and legal considerations, supporting market analysis and strategic planning.\n- **Equity Sale Information**: Access data on equity fundraising activities for relevant assets, including investor details, funding goals, and legal frameworks, aiding compliance and business development.\n\n### Use Cases\n- **Application Development**: Developers can integrate rich asset metadata for multiple assets into applications, wallets, or exchange platforms to enhance user experience and offer a comprehensive view of various cryptocurrencies.\n- **Market Analysis and Research**: Analysts and researchers can conduct multi-asset studies using detailed metadata for a broad range of assets, supporting comprehensive market reports and academic work.\n- **Investment and Portfolio Management**: Investors and traders can make informed decisions by comparing properties, social engagement, and fundraising histories across a diverse set of assets.\n- **Compliance and Legal Review**: Compliance teams can use detailed sale and legal data for multiple assets to ensure regulatory alignment and conduct thorough due diligence.\n\n### Target Audiences\n- **Cryptocurrency Exchanges**: Streamline the listing process by accessing all necessary information for multiple assets in one response.\n- **Financial Services Firms**: Integrate comprehensive multi-asset data into financial products to enhance portfolio management and advisory services.\n- **Blockchain Startups**: Conduct competitive analysis and market research efficiently by accessing information on a range of assets.\n- **Media and Information Platforms**: Provide readers with detailed and up-to-date information on a wide array of cryptocurrency assets.\n- **Index Administrators**: Use detailed metadata on various assets to ensure accurate classification, tokenomics, and blockchain properties for reliable market indices.\n- **Custodians**: Safeguard and manage digital assets by verifying the classification and legal information of multiple assets, aiding client reporting and audits.\n\n### Data Handling Notes\n- **High Data Volume**: When requesting metadata for multiple assets, be prepared for significant data volumes. Structuring and indexing data in a database is advised for efficient retrieval and updates.\n- **Dynamic Updates**: Social metrics and token sale data can change frequently across various assets. Schedule updates to maintain current information, particularly for high-activity or trending assets.\n- **Optimized Storage**: For performance, store only the most relevant fields such as tokenomics or social metrics for multiple assets, especially when dealing with a high number of assets.\n- **Handling Incomplete Data**: Some assets may have incomplete metadata. Implement strategies to manage missing data gracefully. Enterprise customers can reach out via Slack for dedicated support, while other users can contact via email for prioritized reviews of specific assets.\n\nWith the Full Asset Metadata endpoint, users can efficiently access detailed information for multiple cryptocurrency assets with a single API call, optimizing workflows and supporting innovation in blockchain technology and cryptocurrency research.","tags":["Asset"],"operationId":"asset_v2_metadata","x-section":"Asset","x-roles-required":[],"x-cache-length-seconds":30,"x-visible-in-ai":true,"x-endpoint-group-id":"asset_v2_metadata_group","x-endpoint-group-name":"Metadata","parameters":[{"name":"assets","in":"query","description":"Specify a list of digital assets for which you want to retrieve information by providing either its unique SYMBOL or the CoinDesk 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 CoinDesk. 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":"array","default":[],"minItems":0,"maxItems":50,"items":{"type":"string"}},"example":["BTC"],"x-search-dropdown-type":"assets"},{"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","CONTROLLED_ADDRESSES","SECURITY_METRICS","SUPPLY","SUPPLY_ADDRESSES","ASSET_TYPE_SPECIFIC_METRICS","AI_INSIGHTS","SOCIAL","TOKEN_SALE","EQUITY_SALE","RESOURCE_LINKS","CLASSIFICATION","PRICE","MKT_CAP","VOLUME","CHANGE","TOPLIST_RANK","DESCRIPTION","DESCRIPTION_SUMMARY","CONTACT","SEO","INTERNAL"],"x-enum-properties-info":{"CUSTODIANS":{"rolesRequired":["free"]},"CONTROLLED_ADDRESSES":{"rolesRequired":["free"]},"SOCIAL":{"rolesRequired":["free"]},"TOKEN_SALE":{"rolesRequired":["free"]},"EQUITY_SALE":{"rolesRequired":["free"]},"INTERNAL":{"rolesRequired":["asset_management_viewer"]}},"x-roles-required-enum":{"CUSTODIANS":["free"],"CONTROLLED_ADDRESSES":["free"],"SOCIAL":["free"],"TOKEN_SALE":["free"],"EQUITY_SALE":["free"],"INTERNAL":["asset_management_viewer"]}}},"example":[]},{"name":"asset_lookup_priority","in":"query","description":"This parameter specifies the matching priority for the asset key provided in the asset parameter. You can choose to match against the list of asset SYMBOLS, CoinDesk internal asset IDS, or asset URIs. Note that asset SYMBOLS and URIs may change due to rebrands or token switches, but the CoinDesk internal asset ID remains consistent.","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"string","default":"SYMBOL","enum":["SYMBOL","ID","URI"],"x-enum-properties-info":{"SYMBOL":{"name":"Symbol Priority","description":"Prioritize asset lookup by its ticker symbol (e.g., BTC for Bitcoin)."},"ID":{"name":"ID Priority","description":"Prioritize asset lookup by its unique identifier. (e.g., 1 for Bitcoin)"},"URI":{"name":"URI Priority","description":"Prioritize asset lookup by its associated Uniform Resource Identifier (URI) (e.g., bitcoin for Bitcoin)."}}},"example":"SYMBOL"},{"name":"quote_asset","in":"query","description":"Specify the digital asset for the quote values by providing either the CoinDesk internal asset ID, its unique SYMBOL, or the CoinDesk recommened URI. 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 CoinDesk. When using the asset URI, provide the unique URI that CoinDesk recommends using for the asset page. We try to first match against the id list then the symbol and then the uri. The CoinDesk asset id will never change and will always denote the same asset over time no matter how many rebrands or new versions an asset has.","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"string","default":"USD","minLength":1,"maxLength":100},"example":"USD","x-search-dropdown-type":"asset"},{"name":"asset_language","in":"query","description":"Specifies the desired language for localized asset descriptions and other fields that make sense to translate. The value should be a valid IETF BCP 47 language tag (e.g., \"en-US\" for American English, \"ja-JP\" for Japanese). Defaults to \"en-US\" if not specified. Fields with translations enabled: ASSET_DYNAMIC_FAQS,ASSET_DESCRIPTION,ASSET_DESCRIPTION_SUMMARY,ASSET_DESCRIPTION_SNIPPET,SEO_DESCRIPTION,ASSET_DESCRIPTION_EXTENDED_SEO.","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"string","default":"en-US","enum":["en-US","de-DE","es-ES","fr-FR","pt-BR","it-IT","ja-JP","ko-KR","zh-CN","vi-VN","sv-SE","tr-TR","tl-PH","ru-RU","uk-UA","ro-RO","nl-NL","sq-AL"],"x-enum-properties-info":{"en-US":{"name":"English (US)","description":"English language as used in the United States"},"de-DE":{"name":"Deutsch","description":"German language as used in Germany"},"es-ES":{"name":"Español","description":"Spanish language as used in Spain"},"fr-FR":{"name":"Français","description":"French language as used in France"},"pt-BR":{"name":"Português (Brasil)","description":"Portuguese language as used in Brazil"},"it-IT":{"name":"Italiano","description":"Italian language as used in Italy"},"ja-JP":{"name":"日本語","description":"Japanese language as used in Japan"},"ko-KR":{"name":"한국어","description":"Korean language as used in South Korea"},"zh-CN":{"name":"简体中文","description":"Simplified Chinese language as used in China"},"vi-VN":{"name":"Tiếng việt","description":"Vietnamese language as used in Vietnam"},"sv-SE":{"name":"Svenska","description":"Swedish language as used in Sweden"},"tr-TR":{"name":"Türkçe","description":"Turkish language as used in Turkey"},"tl-PH":{"name":"Filipino","description":"Filipino language as used in the Philippines"},"ru-RU":{"name":"Русский","description":"Russian language as used in Russia"},"uk-UA":{"name":"Українська","description":"Ukrainian language as used in Ukraine"},"ro-RO":{"name":"Română","description":"Romanian language as used in Romania"},"nl-NL":{"name":"Nederlands","description":"Dutch language as used in the Netherlands"},"sq-AL":{"name":"Shqip","description":"Albanian language as used in Albania"}}},"example":"en-US"}],"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":"Specifies the type or category of the message or data being handled. This is a unique number / id for each message type.","example":"162","x-cc-api-group":"ID"},"ID":{"type":"integer","description":"The unique identifier for the asset entry","example":2,"x-cc-api-group":"ID"},"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":"This refers to the base, parent, or main asset to which a token is linked or pegged, signifying that the token acts as a representation of the parent asset. When a token loses its connection to a parent asset due to events such as hacks or the issuing entity's decision to not honor the peg—similar to how TerraUSD detached from its USD peg—the PARENT_ASSET_SYMBOL is removed because the token no longer serves as a true representation of the parent asset. In order to remove the parent we need clear communication from the company who is in charge of keeping the peg. We add add a plublic notice and the include the communication in the Other Document URLs.","x-cc-api-group":"ID"},"ID_ASSET_ISSUER":{"type":"integer","description":"This field identifies the original creator of the token. It provides essential information about the entity, individual or contract rules responsible for issuing the token initially and/or maintaining the supply. In the case of of bridged assets, this is the bridge operator and the parent will have its own issuer. You can go up the parent chain and figure out what counterparty risk you are exposed to when trading a specific asset. This clarification ensures that users can directly trace the origin of the token, understanding its issuance history and the primary issuer's credentials.","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":"integer","description":"Asset internal creation unix ts in our system","format":"unix_timestamp","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":"integer","description":"Asset internal last updated unix ts in our system","format":"unix_timestamp","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"},"PUBLIC_NOTICE":{"type":"string","description":"A public notice for this asset.","x-cc-api-group":"BASIC"},"ASSET_TYPE":{"type":"string","description":"The asset class/type","x-cc-api-group":"ID"},"ASSET_STATUS":{"type":"string","description":"The current operational status of the asset and its underlying project","x-cc-api-group":"CLASSIFICATION"},"NAME":{"type":"string","description":"The full name of the asset, e.g. Bitcoin.","x-cc-api-group":"BASIC"},"INDEX_MARKET_NAME":{"type":"string","description":"The internal CoinDesk Indices API market name (index family) for this index.","x-cc-api-group":"ID"},"LOGO_URL":{"type":"string","description":"The image that appears when you see this asset.","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"},"ASSET_SYMBOL_GLYPH":{"type":"string","description":"The Asset Symbol Glyph represents the visual or typographic mark associated with an asset, such as \"$\" for USD or \"₿\" for Bitcoin. It is distinct from the asset symbol (e.g., USD, BTC) and provides a recognizable representation used in financial contexts, UIs, and documentation.","x-cc-api-group":"CLASSIFICATION"},"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"},"ASSET_ISSUER_NAME":{"type":"string","description":"This field identifies the original creator of the asset. It provides essential information about the entity, individual or contract rules responsible for issuing the asset initially and/or maintaining the supply. In the case of of bridged assets, this is the bridge operator and the parent will have its own issuer. You can go up the parent chain and figure out what counterparty risk you are exposed to when trading a specific asset. This clarification ensures that users can directly trace the origin of the asset, understanding its issuance history and the primary issuer's credentials.","x-cc-api-group":"ID"},"PARENT_ASSET_SYMBOL":{"type":"string","description":"This refers to the base, parent, or main asset to which a token is linked or pegged, signifying that the token acts as a representation of the parent asset. When a token loses its connection to a parent asset due to events such as hacks or the issuing entity's decision to not honor the peg—similar to how TerraUSD detached from its USD peg—the PARENT_ASSET_SYMBOL is removed because the token no longer serves as a true representation of the parent asset. In order to remove the parent we need clear communication from the company who is in charge of keeping the peg. We add add a plublic notice and the include the communication in the Other Document URLs.","x-cc-api-group":"ID"},"RESERVES_BREAKDOWN":{"type":"array","description":"A detailed breakdown of reserves backing a stablecoin asset, covering various categories such as cash, cryptocurrency, bonds, and other investments for transparency.","items":{"type":"object","properties":{"RESERVE_TYPE":{"type":"string","description":"The type of asset used for reserve collateralization, such as cash, crypto, or bonds."},"HOLDING_ADDRESSES":{"type":"array","description":"An array of objects containing the blockchain chain and the holding address (wallet or smart contract) for proof of reserves.","items":{"type":"object","properties":{"BLOCKCHAIN":{"type":"string","description":"The blockchain on which the holding address (smart contract or wallet) is located."},"ADDRESS":{"type":"string","description":"The address holding the relevant asset or token, such as a smart contract or wallet. This can be used for proof of reserves."}}}},"PERCENTAGE":{"type":"number","description":"The percentage of the total reserves allocated to this particular reserve type."},"DESCRIPTION":{"type":"string","description":"A brief description for the reserves, clarifying the nature of the reserve type."},"COMMENTS":{"type":"string","description":"Any additional internal comments or information about the reserves."}}},"x-cc-api-group":"ASSET_TYPE_SPECIFIC_METRICS"},"PREVIOUS_ASSET_SYMBOLS":{"type":"array","description":"A list of symbols that were previously associated with this asset.","items":{"type":"object","properties":{"SYMBOL":{"type":"string","description":"A symbol this asset was previously associated with."},"SYMBOL_USAGE_START_DATE":{"type":"integer","description":"Indicates the date this past symbol started being used."},"SYMBOL_USAGE_END_DATE":{"type":"integer","description":"Indicates the date this past symbol stopped being used."},"DESCRIPTION":{"type":"string","description":"A description for why this symbol existed or was changed."}}},"x-cc-api-group":"BASIC"},"HAS_SMART_CONTRACT_CAPABILITIES":{"type":"boolean","description":"Can you build smart contracts on top of this?","x-cc-api-group":"ASSET_TYPE_SPECIFIC_METRICS"},"SMART_CONTRACT_SUPPORT_TYPE":{"type":"string","description":"This field classifies digital assets based on their level of smart contract support, ranging from assets with no verifiable smart contract capabilities to those offering full autonomy. This categorization helps users and systems understand an asset's technical capacity for smart contract execution, crucial for assessing its utility and potential applications.","x-cc-api-group":"ASSET_TYPE_SPECIFIC_METRICS"},"IS_EXCLUDED_FROM_PRICE_TOPLIST":{"type":"boolean","description":"Indicates whether the asset should be excluded from the overall and asset type price toplist rankings. But this will still be included in the industry ones.","x-cc-api-group":"CLASSIFICATION"},"IS_EXCLUDED_FROM_VOLUME_TOPLIST":{"type":"boolean","description":"Indicates whether the asset should be excluded from the overall and asset type volume toplist rankings. But this will still be included in the industry ones.","x-cc-api-group":"CLASSIFICATION"},"IS_EXCLUDED_FROM_MKT_CAP_TOPLIST":{"type":"boolean","description":"Indicates whether the asset should be excluded from the overall and asset type market capitalization toplist rankings. But this will still be included in the industry ones.","x-cc-api-group":"CLASSIFICATION"},"MKT_CAP_EXCLUSION_REASON":{"type":"string","description":"Specifies the reason why the asset is excluded from the market capitalization toplist, aiding in documentation and communication.","x-cc-api-group":"CLASSIFICATION"},"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"},"INDEX_METHODOLOGY":{"type":"string","description":"This field stores a URL linking to the Index Methodology document, which provides detailed information about the methodology used for constructing an index.","x-cc-api-group":"RESOURCE_LINKS"},"INDEX_FACTSHEET":{"type":"string","description":"This field stores a URL linking to the Index Factsheet document. The factsheet provides a concise overview of the index, including key metrics, methodology summary, and other relevant information for stakeholders.","x-cc-api-group":"RESOURCE_LINKS"},"INDEX_LINKED_PRODUCTS":{"type":"array","description":"A structured field representing a list of products linked to a specific index. This includes associated details such as names, symbols or URLs","items":{"type":"object","properties":{"NAME":{"type":"string","description":"The primary name or title associated with the entity. This is a general string used to identify the entity uniquely or descriptively."},"SYMBOL":{"type":"string","description":"A shorthand or abbreviated representation of the entity's name, typically used for quick reference or symbolic purposes."},"URL":{"type":"string","description":"A web address or hyperlink associated with the entity. It links to additional resources, references, or detailed information."},"COMMENTS":{"type":"string","description":"A text field for additional notes or commentary about the entity. It supports longer text inputs and is accessible only to users with the \"asset_management_viewer\" role."}}},"x-cc-api-group":"RESOURCE_LINKS"},"PROSPECTUS":{"type":"string","description":"This field is designated for uploading the prospectus document of an Exchange-Traded Fund (ETF). The prospectus is a comprehensive report that details the investment's objectives, strategies, risks, and financials. It is essential for investor transparency and regulatory compliance. ","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_SECURITY_METRICS":{"type":"array","description":"","items":{"type":"object","properties":{"NAME":{"type":"string"},"OVERALL_SCORE":{"type":"number"},"OVERALL_RANK":{"type":"integer"},"UPDATED_AT":{"type":"number"}}},"x-cc-api-group":"SECURITY_METRICS"},"ASSET_INDUSTRIES":{"type":"array","description":"The asset industries that asset operates in.","items":{"type":"object","properties":{"ASSET_INDUSTRY":{"type":"string"},"JUSTIFICATION":{"type":"string","description":"A justification for putting an asset in this industry."}}},"x-cc-api-group":"CLASSIFICATION"},"ASSET_DYNAMIC_FAQS":{"type":"array","description":"AI-generated frequently asked questions about the asset, automatically updated based on market conditions and events.","items":{"type":"object","properties":{"TYPE_KEY":{"type":"string"},"NAME":{"type":"string","description":"The question or title for this FAQ entry, e.g. \"Why is the {asset symbol} price down today?\""},"LAST_UPDATE_TS":{"type":"number","description":"The timestamp when this FAQ entry was last generated or updated by AI."},"MOVING_24_HOUR_CHANGE_PERCENTAGE":{"type":"number","description":"The 24 hours percentage percentage change when the asset was news summary was created"},"TLDR":{"type":"string","description":"A brief summary with a paragraph and 3 bullet points in markdown format."},"TEXT":{"type":"string","description":"The detailed answer to the FAQ question in markdown format."},"SOURCES":{"type":"array","description":"List of sources used to generate this FAQ entry.","items":{"type":"object","properties":{"TITLE":{"type":"string","description":"The title of the article, post, or document"},"SOURCE_NAME":{"type":"string","description":"The name of the source (e.g., \"CoinDesk\", \"Twitter\", \"GitHub\")"},"URL":{"type":"string"},"PUBLISHED_ON":{"type":"number","description":"The timestamp when this the news article refernced was originally published."}}}},"LLM_MODEL_NAME":{"type":"string","description":"The LLM model that generated this FAQ entry (e.g., \"openai|gpt-4\", \"anthropic|3-sonnet\")"},"SCORE":{"type":"number","description":"AI confidence score - for price movement or positive - negative score for latest news summary:  1 - strongly positive news, 0 strongly negative news for this FAQ entry (0.0 - 1.0)"}}},"x-cc-api-group":"AI_INSIGHTS"},"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"},"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"},"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"},"RPC_OPERATORS":{"type":"array","description":"Provides a list of endpoints necessary for accessing RPC data on a specified blockchain network if you prefer not to run your own node.","items":{"type":"object","properties":{"OPERATOR_NAME":{"type":"string","description":"The name of the entity responsible for maintaining and providing access to the RPC endpoint."},"URL":{"type":"string","description":"The web address of the RPC endpoint, where requests can be sent to interact with the blockchain."},"REQUIRES_API_KEY":{"type":"boolean","description":"The parameter name to be used for passing the API key in requests to the RPC endpoint."},"DOCUMENTATION_URL":{"type":"string","description":"The web address where the documentation for the RPC endpoint can be found. This documentation provides details on how to interact with the blockchain via the endpoint, including available methods, parameters, and examples."},"API_KEY_PARAMETER_NAME":{"type":"string","description":"Specifies the location (e.g., header, query parameter) where the API key should be included in the request."},"API_KEY_PARAMETER_LOCATION":{"type":"string","description":"Specifies the part of the HTTP request where the API key should be included. This can vary based on the endpoint requirements, such as including the key in the URL path, query parameters, POST parameters, or HTTP headers."}}},"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"},"CONTROLLED_ADDRESSES":{"type":"array","description":"The list of designated addresses used to manage and store assets within an investment portfolio or on behalf of clients. This includes addresses where cryptocurrencies, securities, or other assets are held, reflecting the diverse nature of modern investment strategies. It encompasses addresses used by exchanges, ETFs, and companies to maintain their investment reserves or operational funds.","items":{"type":"object","properties":{"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"},"ADDRESS_PURPOSE":{"type":"string","description":"The role of the address within the company's operations, aiding in precise asset management and regulatory compliance. This categorization distinguishes between addresses for investments, client custody, and operational expenses, streamlining asset control and reporting."},"CONTROL_TYPE":{"type":"string","description":"Classifies the level and nature of control the company exercises over various cryptocurrency addresses. This categorization helps delineate the operational and security protocols associated with each address, ranging from single-key direct control to multi-signatory arrangements and even non-control strategies."},"NAME":{"type":"string","description":"The name of the address. Contract name or just the common name for this address."},"DESCRIPTION":{"type":"string","description":"A description for the address to help people understand better what it is for."}}},"x-cc-api-group":"CONTROLLED_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 (token, fiat, cryptocurrency, commodity) 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":"This is linked to the asset representing a specific chain."},"BLOCKCHAIN_ASSET_ID":{"type":"integer","description":"This is linked to the asset ID representing a specific chain."},"TOKEN_STANDARD":{"type":"string","description":"This is linked to the Blockchain field and it is one of the SUPPORTED_STANDARDS available on that platform."},"EXPLORER_URL":{"type":"string","description":"The URL for the token explorer website or tool."},"SMART_CONTRACT_ADDRESS":{"type":"string","description":"Unique identifier of the asset on the given blockchain (e.g., smart contract address for EVMs and chains that work with smart contracts, asset ID for Omni, symbol or symbol hex.issuer for XRP); format varies by chain."},"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 solution.","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"}}}},"PRIVACY_SOLUTION_TYPE":{"type":"string","description":"The Privacy Solution Type field indicates whether the privacy-enhancing features for transactions are integrated directly into the blockchain protocol or if they require the use of external tools or services."}}},"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"},"OPEN_GRAPH_IMAGE_URL":{"type":"string","description":"The image that appears when you share the asset on social media, if not available we use the logo_url.","x-cc-api-group":"SEO"},"ASSET_DESCRIPTION_EXTENDED_SEO":{"type":"string","description":"The long form description in markdown for this asset that has been reviewed or hand crafted by a person with SEO expertise to have the higest impact in rankings.","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 X (Formerly Twitter) account plus data we collect from them.","items":{"type":"object","properties":{"URL":{"type":"string","description":"The URL of the X account.","example":"https://x.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 X account."},"USERNAME":{"type":"string","description":"The username of the X account."},"VERIFIED":{"type":"boolean","description":"The verification status of the X account."},"VERIFIED_TYPE":{"type":"string","description":"The verification type of the X account."},"FOLLOWING":{"type":"integer","description":"The number of accounts followed by this X account."},"FOLLOWERS":{"type":"integer","description":"The number of followers of this X account."},"FAVOURITES":{"type":"integer","description":"The total number of tweets favorited by this X account."},"LISTS":{"type":"integer","description":"The total number of lists this X account is a member of."},"STATUSES":{"type":"integer","description":"The total number of tweets and retweets made by this X account."},"ACCOUNT_CREATED_AT":{"type":"number","description":"The timestamp of when the X account was created."},"LAST_UPDATED_TS":{"type":"number","description":"The timestamp of the last update to the X 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 to investors for the token sale. This does not include the reserve. It is just the sum of all the TOKEN_SALE_RESERVE_SPLIT."},"TOKEN_SALE_RESERVE_SUPPLY":{"type":"number","description":"Total number of tokens kept in reserve or allocated to team mebers. This does not include the tokens sold to investors. It is just the sum of all the TOKEN_SALE_RESERVE_SPLIT."},"TOKEN_SALE_SUPPLY_ADDED":{"type":"number","description":"Total number of tokens added in this token sale. This is equal to TOKEN_SALE_SUPPLY + TOKEN_SALE_RESERVE_SUPPLY."},"TOKEN_SALE_PRE_SALE_SUPPLY":{"type":"number","description":"Total number of tokens available before this this token sale. This is the sum of all the previous sales, on the first token sale this will be 0. TOKEN_SALE_POST_SALE_SUPPLY  = TOKEN_SALE_PRE_SALE_SUPPLY + TOKEN_SALE_SUPPLY_ADDED."},"TOKEN_SUPPLY_POST_SALE":{"type":"string","description":"The numbers of tokens post Sale. This should be all the locked tokens, the team tokens and all other tokens not included in the sale. It should be equal to TOKEN_SALE_RESERVE + TOKEN_SALE_SUPPLY."},"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. The token sale TOKEN_SALE_RESERVE total should be the sum of all the TOKEN_SALE_RESERVE_SPLITs. Sum of TOKEN_SALE_RESERVE_SPLIT and TOKEN_SALE_SUPPLY  should be equal to TOKEN_SUPPLY_POST_SALE.","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":"Identifies the root asset in a chain of derived or related assets, essential for tracing asset lineage. Null if the asset does not have a parent. For example, the fiat USD (id: 5) would be the root asset for the tokens CUSDC (id: 1623) or USDCE (id: 1728).","example":2,"x-cc-api-group":"ID"},"ROOT_ASSET_SYMBOL":{"type":"string","description":"The symbol of the root asset, facilitating recognition and correlation within asset hierarchies. Null if the asset does not have a parent. For example, the fiat USD (id: 5) would be the root asset for the tokens CUSDC (id: 1623) or USDCE (id: 1728).","example":"ETH","x-cc-api-group":"ID"},"ROOT_ASSET_TYPE":{"type":"string","description":"Specifies the fundamental category of the root asset, crucial for understanding the base or origin of an asset's classification. Null if the asset does not have a parent. For example, the fiat USD would be the root asset for tokens CUSDC or USDCE, and in this case, the ROOT_ASSET_TYPE would be fiat.","example":"BLOCKCHAIN","x-cc-api-group":"ID"},"PRICE_USD":{"type":"number","description":"Denotes the current value / price of the asset in USD. 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 we used for the USD value / price.","x-cc-api-group":"PRICE"},"PRICE_USD_LAST_UPDATE_TS":{"type":"integer","description":"The Unix timestamp of the last update to the USD value / price of the asset.","format":"unix_timestamp","x-cc-api-group":"PRICE"},"PRICE_CONVERSION_ASSET":{"type":"object","description":"Denotes the convesion asset ID, SYMBOL and ASSET_TYPE.","properties":{"ID":{"type":"integer","description":"The unique identifier for the asset entry","example":2},"SYMBOL":{"type":"string","description":"Internal mapped symbol for a specific asset","example":"ETH"},"ASSET_TYPE":{"type":"string","description":"The type of the asset (FIAT, BLOCKCHAIN, TOKEN, etc.)","example":"BLOCKCHAIN"}},"x-cc-api-group":"PRICE"},"PRICE_CONVERSION_RATE":{"type":"number","description":"Denotes the current value / price of USD in the requested quote asset.","x-cc-api-group":"PRICE"},"PRICE_CONVERSION_VALUE":{"type":"number","description":"Denotes the current value / price of the asset in the requested quote currency.","x-cc-api-group":"PRICE"},"PRICE_CONVERSION_SOURCE":{"type":"string","description":"Denotes the source we used for the conversion asset value / price.","x-cc-api-group":"PRICE"},"PRICE_CONVERSION_LAST_UPDATE_TS":{"type":"integer","description":"The Unix timestamp of the last update to the conversion asset value / price.","format":"unix_timestamp","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 quoted in USD (we sometimes apply a MKT_CAP_PENALTY depending on liquidity 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 quoted in USD (we sometimes apply a MKT_CAP_PENALTY depending on liquidity conditions). This figure gives an overview of the total value of all issued tokens for a given asset.","x-cc-api-group":"MKT_CAP"},"CIRCULATING_MKT_CAP_CONVERSION":{"type":"number","description":"Calculated as the product of the asset's circulating supply and its current price quoted in conversion asset (we sometimes apply a MKT_CAP_PENALTY depending on liquidity conditions). We calculate this field by multiplying the CIRCULATING_MKT_CAP_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"MKT_CAP"},"TOTAL_MKT_CAP_CONVERSION":{"type":"number","description":"Calculated as the product of the asset's total supply and its current price quoted in conversion asset (we sometimes apply a MKT_CAP_PENALTY depending on liquidity conditions). We calculate this field by multiplying the TOTAL_MKT_CAP_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"MKT_CAP"},"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_DIRECT_USD":{"type":"number","description":"Aggregated 24 hours volume of the asset traded accross instruments that are quoted in USD on spot markets that we consider top tier, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset on top tier spot markets.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_DIRECT_USD":{"type":"number","description":"Aggregated 24 hours volume of the asset traded accross instruments that are quoted in USD on all the intergarted spot markets, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset.","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 accross all instruments on spot markets that we consider top tier, quoted in USD. This is the sum of all the trade volumes on all the spot top tier markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. 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 24 hours volume of the asset traded accross all instruments on all the integrated spot markets, quoted in USD. This is the sum of all the trade volumes on all the spot markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. Useful for understanding demand and trading interest.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_CONVERSION":{"type":"number","description":"Aggregated 24 hours volume of the asset traded accross all instruments on spot markets that we consider top tier, quoted in conversion asset. We calculate this field by multiplying the SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_CONVERSION":{"type":"number","description":"Aggregated 24 hours volume of the asset traded accross all instruments on all the integrated spot markets. We calculate this field by multiplying the SPOT_MOVING_24_HOUR_QUOTE_VOLUME_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_24_HOUR_CHANGE_USD":{"type":"number","description":"The difference between the value of the asset quoted in USD 24 hours ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_24_HOUR_CHANGE_PERCENTAGE_USD":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 24 hours ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_24_HOUR_CHANGE_CONVERSION":{"type":"number","description":"The approximate difference between the value of the asset quoted conversion currency 23 hours ago and now. We calculate this field by multiplying the SPOT_MOVING_24_HOUR_CHANGE_USD and the PRICE_CONVERSION_VALUE. This figure does not take into account the volatility of the conversion asset quoted in USD.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_24_HOUR_CHANGE_PERCENTAGE_CONVERSION":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 24 hours ago and the latest USD price. This is the same as the SPOT_MOVING_24_HOUR_CHANGE_PERCENTAGE_USD just adding it here for easier access.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT_USD":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross instruments that are quoted in USD on spot markets that we consider top tier, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset on top tier spot markets.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_DIRECT_USD":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross instruments that are quoted in USD on all the intergarted spot markets, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_USD":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross all instruments on spot markets that we consider top tier, quoted in USD. This is the sum of all the trade volumes on all the spot top tier markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. These markets meet specific quality criteria, offering a more curated view of trading activity.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_USD":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross all instruments on all the integrated spot markets, quoted in USD. This is the sum of all the trade volumes on all the spot markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. Useful for understanding demand and trading interest.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_CONVERSION":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross all instruments on spot markets that we consider top tier, quoted in conversion asset. We calculate this field by multiplying the SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_CONVERSION":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross all instruments on all the integrated spot markets. We calculate this field by multiplying the SPOT_MOVING_7_DAY_QUOTE_VOLUME_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_CHANGE_USD":{"type":"number","description":"The difference between the value of the asset quoted in USD 7 days ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_7_DAY_CHANGE_PERCENTAGE_USD":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 7 days ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_7_DAY_CHANGE_CONVERSION":{"type":"number","description":"The approximate difference between the value of the asset quoted conversion currency 6 days ago and current day. We calculate this field by multiplying the SPOT_MOVING_7_DAY_CHANGE_USD and the PRICE_CONVERSION_VALUE. This figure does not take into account the volatility of the conversion asset quoted in USD.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_7_DAY_CHANGE_PERCENTAGE_CONVERSION":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 7 days ago and the latest USD price. This is the same as the SPOT_MOVING_7_DAY_CHANGE_PERCENTAGE_USD just adding it here for easier access.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT_USD":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross instruments that are quoted in USD on spot markets that we consider top tier, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset on top tier spot markets.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_DIRECT_USD":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross instruments that are quoted in USD on all the intergarted spot markets, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_USD":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross all instruments on spot markets that we consider top tier, quoted in USD. This is the sum of all the trade volumes on all the spot top tier markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. These markets meet specific quality criteria, offering a more curated view of trading activity.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_USD":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross all instruments on all the integrated spot markets, quoted in USD. This is the sum of all the trade volumes on all the spot markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. Useful for understanding demand and trading interest.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_CONVERSION":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross all instruments on spot markets that we consider top tier, quoted in conversion asset. We calculate this field by multiplying the SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_CONVERSION":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross all instruments on all the integrated spot markets. We calculate this field by multiplying the SPOT_MOVING_30_DAY_QUOTE_VOLUME_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_CHANGE_USD":{"type":"number","description":"The difference between the value of the asset quoted in USD 30 days ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_30_DAY_CHANGE_PERCENTAGE_USD":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 30 days ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_30_DAY_CHANGE_CONVERSION":{"type":"number","description":"The approximate difference between the value of the asset quoted conversion currency 29 days ago and current day. We calculate this field by multiplying the SPOT_MOVING_30_DAY_CHANGE_USD and the PRICE_CONVERSION_VALUE. This figure does not take into account the volatility of the conversion asset quoted in USD.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_30_DAY_CHANGE_PERCENTAGE_CONVERSION":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 30 days ago and the latest USD price. This is the same as the SPOT_MOVING_30_DAY_CHANGE_PERCENTAGE_USD just adding it here for easier access.","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."},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_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_7_DAY_QUOTE_VOLUME_DIRECT_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_QUOTE_VOLUME_DIRECT_USD sorted DESC from highest volume accross all markets that trade directly to USD to lowest."},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_USD sorted DESC from highest quote volume accross top tier markets to lowest."},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_QUOTE_VOLUME_USD sorted DESC from highest quote volume accross all markets to lowest."},"SPOT_MOVING_7_DAY_CHANGE_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_CHANGE_USD sorted DESC from highest change accross all markets to lowest."},"SPOT_MOVING_7_DAY_CHANGE_PERCENTAGE_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_CHANGE_PERCENTAGE_USD sorted DESC from highest percentage change accross all markets to lowest."},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_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_30_DAY_QUOTE_VOLUME_DIRECT_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_QUOTE_VOLUME_DIRECT_USD sorted DESC from highest volume accross all markets that trade directly to USD to lowest."},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_USD sorted DESC from highest quote volume accross top tier markets to lowest."},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_QUOTE_VOLUME_USD sorted DESC from highest quote volume accross all markets to lowest."},"SPOT_MOVING_30_DAY_CHANGE_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_CHANGE_USD sorted DESC from highest change accross all markets to lowest."},"SPOT_MOVING_30_DAY_CHANGE_PERCENTAGE_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_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"}}}},"Warn":{"type":"object","description":"This object is used when multiple parameters are validated and a partial response is returned due to some invalid request parameters. It informs the client of the issues encountered while processing the request and provides details about the specific parameters involved.","properties":{"type":{"type":"integer","description":"A public facing warning type. If you want to treat a specific warning use the type.","format":"int32","example":1},"message":{"type":"string","description":"A message describing the warning","example":"There are multiple instruments matching your query for WETH-USDT on uniswapv3. We have provided the best match based on our criteria. Other matches include: 0x4e68ccd3e89f51c3074ca5072bbac773960dfa36_2. To select a different match just pass the pool smart contract address and the chain id."},"other_info":{"type":"object","properties":{"param":{"type":"string","description":"The parameter that is responsible for the warning","example":"instrument"},"values":{"type":"object","description":"The values responsible for the warning","example":{},"items":{"type":"object","properties":{}}}}}}},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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"}}}}}}}}}}},"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":{}},"Warn":{"type":"object","description":"This object is used when multiple parameters are validated and a partial response is returned due to some invalid request parameters. It informs the client of the issues encountered while processing the request and provides details about the specific parameters involved.","properties":{"type":{"type":"integer","description":"A public facing warning type. If you want to treat a specific warning use the type.","format":"int32","example":1},"message":{"type":"string","description":"A message describing the warning","example":"There are multiple instruments matching your query for WETH-USDT on uniswapv3. We have provided the best match based on our criteria. Other matches include: 0x4e68ccd3e89f51c3074ca5072bbac773960dfa36_2. To select a different match just pass the pool smart contract address and the chain id."},"other_info":{"type":"object","properties":{"param":{"type":"string","description":"The parameter that is responsible for the warning","example":"instrument"},"values":{"type":"object","description":"The values responsible for the warning","example":{},"items":{"type":"object","properties":{}}}}}}},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":{}},"Warn":{"type":"object","description":"This object is used when multiple parameters are validated and a partial response is returned due to some invalid request parameters. It informs the client of the issues encountered while processing the request and provides details about the specific parameters involved.","properties":{"type":{"type":"integer","description":"A public facing warning type. If you want to treat a specific warning use the type.","format":"int32","example":1},"message":{"type":"string","description":"A message describing the warning","example":"There are multiple instruments matching your query for WETH-USDT on uniswapv3. We have provided the best match based on our criteria. Other matches include: 0x4e68ccd3e89f51c3074ca5072bbac773960dfa36_2. To select a different match just pass the pool smart contract address and the chain id."},"other_info":{"type":"object","properties":{"param":{"type":"string","description":"The parameter that is responsible for the warning","example":"instrument"},"values":{"type":"object","description":"The values responsible for the warning","example":{},"items":{"type":"object","properties":{}}}}}}},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":{}},"Warn":{"type":"object","description":"This object is used when multiple parameters are validated and a partial response is returned due to some invalid request parameters. It informs the client of the issues encountered while processing the request and provides details about the specific parameters involved.","properties":{"type":{"type":"integer","description":"A public facing warning type. If you want to treat a specific warning use the type.","format":"int32","example":1},"message":{"type":"string","description":"A message describing the warning","example":"There are multiple instruments matching your query for WETH-USDT on uniswapv3. We have provided the best match based on our criteria. Other matches include: 0x4e68ccd3e89f51c3074ca5072bbac773960dfa36_2. To select a different match just pass the pool smart contract address and the chain id."},"other_info":{"type":"object","properties":{"param":{"type":"string","description":"The parameter that is responsible for the warning","example":"instrument"},"values":{"type":"object","description":"The values responsible for the warning","example":{},"items":{"type":"object","properties":{}}}}}}},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":{}},"Warn":{"type":"object","description":"This object is used when multiple parameters are validated and a partial response is returned due to some invalid request parameters. It informs the client of the issues encountered while processing the request and provides details about the specific parameters involved.","properties":{"type":{"type":"integer","description":"A public facing warning type. If you want to treat a specific warning use the type.","format":"int32","example":1},"message":{"type":"string","description":"A message describing the warning","example":"There are multiple instruments matching your query for WETH-USDT on uniswapv3. We have provided the best match based on our criteria. Other matches include: 0x4e68ccd3e89f51c3074ca5072bbac773960dfa36_2. To select a different match just pass the pool smart contract address and the chain id."},"other_info":{"type":"object","properties":{"param":{"type":"string","description":"The parameter that is responsible for the warning","example":"instrument"},"values":{"type":"object","description":"The values responsible for the warning","example":{},"items":{"type":"object","properties":{}}}}}}},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":{}},"Warn":{"type":"object","description":"This object is used when multiple parameters are validated and a partial response is returned due to some invalid request parameters. It informs the client of the issues encountered while processing the request and provides details about the specific parameters involved.","properties":{"type":{"type":"integer","description":"A public facing warning type. If you want to treat a specific warning use the type.","format":"int32","example":1},"message":{"type":"string","description":"A message describing the warning","example":"There are multiple instruments matching your query for WETH-USDT on uniswapv3. We have provided the best match based on our criteria. Other matches include: 0x4e68ccd3e89f51c3074ca5072bbac773960dfa36_2. To select a different match just pass the pool smart contract address and the chain id."},"other_info":{"type":"object","properties":{"param":{"type":"string","description":"The parameter that is responsible for the warning","example":"instrument"},"values":{"type":"object","description":"The values responsible for the warning","example":{},"items":{"type":"object","properties":{}}}}}}},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":{}},"Warn":{"type":"object","description":"This object is used when multiple parameters are validated and a partial response is returned due to some invalid request parameters. It informs the client of the issues encountered while processing the request and provides details about the specific parameters involved.","properties":{"type":{"type":"integer","description":"A public facing warning type. If you want to treat a specific warning use the type.","format":"int32","example":1},"message":{"type":"string","description":"A message describing the warning","example":"There are multiple instruments matching your query for WETH-USDT on uniswapv3. We have provided the best match based on our criteria. Other matches include: 0x4e68ccd3e89f51c3074ca5072bbac773960dfa36_2. To select a different match just pass the pool smart contract address and the chain id."},"other_info":{"type":"object","properties":{"param":{"type":"string","description":"The parameter that is responsible for the warning","example":"instrument"},"values":{"type":"object","description":"The values responsible for the warning","example":{},"items":{"type":"object","properties":{}}}}}}},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":{}},"Warn":{"type":"object","description":"This object is used when multiple parameters are validated and a partial response is returned due to some invalid request parameters. It informs the client of the issues encountered while processing the request and provides details about the specific parameters involved.","properties":{"type":{"type":"integer","description":"A public facing warning type. If you want to treat a specific warning use the type.","format":"int32","example":1},"message":{"type":"string","description":"A message describing the warning","example":"There are multiple instruments matching your query for WETH-USDT on uniswapv3. We have provided the best match based on our criteria. Other matches include: 0x4e68ccd3e89f51c3074ca5072bbac773960dfa36_2. To select a different match just pass the pool smart contract address and the chain id."},"other_info":{"type":"object","properties":{"param":{"type":"string","description":"The parameter that is responsible for the warning","example":"instrument"},"values":{"type":"object","description":"The values responsible for the warning","example":{},"items":{"type":"object","properties":{}}}}}}},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":{}},"Warn":{"type":"object","description":"This object is used when multiple parameters are validated and a partial response is returned due to some invalid request parameters. It informs the client of the issues encountered while processing the request and provides details about the specific parameters involved.","properties":{"type":{"type":"integer","description":"A public facing warning type. If you want to treat a specific warning use the type.","format":"int32","example":1},"message":{"type":"string","description":"A message describing the warning","example":"There are multiple instruments matching your query for WETH-USDT on uniswapv3. We have provided the best match based on our criteria. Other matches include: 0x4e68ccd3e89f51c3074ca5072bbac773960dfa36_2. To select a different match just pass the pool smart contract address and the chain id."},"other_info":{"type":"object","properties":{"param":{"type":"string","description":"The parameter that is responsible for the warning","example":"instrument"},"values":{"type":"object","description":"The values responsible for the warning","example":{},"items":{"type":"object","properties":{}}}}}}},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":{}},"Warn":{"type":"object","description":"This object is used when multiple parameters are validated and a partial response is returned due to some invalid request parameters. It informs the client of the issues encountered while processing the request and provides details about the specific parameters involved.","properties":{"type":{"type":"integer","description":"A public facing warning type. If you want to treat a specific warning use the type.","format":"int32","example":1},"message":{"type":"string","description":"A message describing the warning","example":"There are multiple instruments matching your query for WETH-USDT on uniswapv3. We have provided the best match based on our criteria. Other matches include: 0x4e68ccd3e89f51c3074ca5072bbac773960dfa36_2. To select a different match just pass the pool smart contract address and the chain id."},"other_info":{"type":"object","properties":{"param":{"type":"string","description":"The parameter that is responsible for the warning","example":"instrument"},"values":{"type":"object","description":"The values responsible for the warning","example":{},"items":{"type":"object","properties":{}}}}}}},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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/search":{"get":{"summary":"Asset Search","description":"The Asset Search endpoint provides comprehensive search functionality within the asset database, allowing users to retrieve assets based on symbols, names, or IDs. It supports both textual and numerical queries, intelligently prioritizing exact matches and relevance to deliver precise search result","x-extended-description-with-markdown":"The Asset Search endpoint provides comprehensive search functionality within the asset database, allowing users to retrieve assets based on symbols, names, or IDs. It supports both textual and numerical queries, intelligently prioritizing exact matches and relevance to deliver precise search results, enhancing user exploration and asset discovery. The response format offers rich data, including asset type, ID, symbol, URI, public availability, name, logo URL, and various other attributes that facilitate a thorough understanding of each asset's characteristics and market standing.\n\n### Key Features\n- **Advanced Search Capabilities**: Retrieve assets using symbols, names, or IDs with support for both textual and numerical queries.\n- **Intelligent Prioritization and Sorting**: Implements sophisticated ranking logic that prioritizes exact matches and considers market capitalization to deliver the most relevant results.\n- **Default Top Assets Retrieval**: When no search string is provided, the endpoint returns top assets by market capitalization, aiding in market insights without specific queries.\n- **Comprehensive Asset Data**: Access detailed information for each asset, including type, symbol, name, logo URL, market cap, and attributes like HAS_SMART_CONTRACT_CAPABILITIES and ROOT_ASSET_TYPE.\n- **Optimized User Experience**: Enhances asset discovery by efficiently sorting and presenting assets based on relevancy and market significance.\n\n### Use Cases\n- **Integration into Financial Platforms**: Enhance financial websites and applications with robust asset search functionality to improve user engagement.\n- **Market Research and Analysis**: Empower analysts and researchers to retrieve precise asset data for in-depth market studies and reporting.\n- **Investment and Trading Tools**: Assist investors and traders in quickly finding and evaluating assets to make informed decisions.\n- **Educational Resources**: Provide educational platforms with advanced search capabilities to facilitate learning and research in the cryptocurrency space.\n- **Customizable Search Widgets**: Develop widgets for websites that require live asset data and search functionalities to enhance user interaction.\n\n### Target Audiences\n- **Developers and Integrators**: Implement advanced search features into applications, enhancing functionality and user experience.\n- **Financial Institutions and Exchanges**: Improve asset discovery on trading platforms, aiding users in finding and trading cryptocurrencies efficiently.\n- **Investors and Traders**: Access precise and relevant asset information quickly to inform trading strategies and investment decisions.\n- **Educational Institutions and Media Platforms**: Offer readers and learners precise search tools to access detailed cryptocurrency asset information.\n- **Market Analysts and Researchers**: Utilize intelligent search functionality to access prioritized asset data for comprehensive market analysis.\n\nBy leveraging the Asset Search endpoint, users can optimize asset discovery and enhance their platforms with intelligent search functionality, catering to a wide range of applications in the dynamic digital asset ecosystem.\n\n**Notes on 'Intelligent Prioritization and Sorting' Logic:**\n- **Empty search_string**: When no search_string is provided, the endpoint defaults to delivering the top assets by market capitalization, up to the specified limit. This functionality ensures that users can still discover valuable assets and gain insights into the market's leading entities, even in the absence of a specific query.\n- **Exact Asset ID Match**: Results with a search_string exactly matching an asset's ID (interpreted as an integer) are given the highest priority.\n- **Exact Symbol Match**: The second ranking criteria is based on exact symbol match but with a caviat. When a user inputs a search_string such as \"ET\" or \"BIT,\" the search functionality employs a sophisticated logic to prioritize results, focusing on exact symbol matches. If the search_string is textual and the first asset in the search results precisely matches the search_string, the algorithm assesses the market capitalizations of the top two assets. If the second asset—whether it's Bitcoin in the case of \"BIT\" or \"ETH\" when the search is \"ET\"—has a higher market capitalization than both a predefined threshold and the first asset's market cap, their positions are swapped. This approach ensures that for searches like \"ET\" and \"BIT,\" the system prioritizes assets like \"ETH\" and Bitcoin, not solely based on exact textual matches but also considering their market prominence. Consequently, if a user searches for \"BIT\" and finds a lesser-known asset with the symbol \"BIT\" and Bitcoin, or searches for \"ET\" and finds \"ET\" and \"ETH,\" the system will elevate Bitcoin or \"ETH\" in the results, reflecting their significant market relevance and aligning with probable user intent in a unified, efficient operation.\n- **Symbol Match with High Market Cap**: Symbols starting with the search_string and having a circulating market cap over 10 million USD are ranked third.\n- **Name Match with High Market Cap**: Names containing the search_string and with a circulating market cap over 10 million USD are ranked fourth.\n- **Partial Symbol Match**: Assets with symbols partially matching the search_string (starting with it) are ranked fifth.\n- **Combined Symbol and Name Partial Match**: Assets with symbols partially matching the search_string anywhere and names starting with the search_string are ranked sixth.\n- **Broad Match for Symbol and Name**: Assets with symbols or names that broadly match the search_string anywhere are ranked seventh.\n- **All Other Matches**: Assets not fitting the above criteria are ranked last.\n\nFollowing this prioritization, assets are further ordered by their circulating market capitalization in descending order. This ensures that, within each priority level, assets of higher economic value are presented first, aiding in a more nuanced and efficient asset discovery process. This logic is designed to optimize the search experience, allowing users to find relevant assets quickly based on ID, symbol, name, and market significance.","tags":["Asset"],"operationId":"asset_v1_search","x-section":"Asset","x-roles-required":[],"x-cache-length-seconds":5,"x-visible-in-ai":true,"x-endpoint-group-id":"asset_v1_search_group","x-endpoint-group-name":"Search","parameters":[{"name":"search_string","in":"query","description":"The search_string parameter enables users to search assets by symbols, names, or IDs, offering flexibility in query handling. For textual inputs, it matches against the start of symbols and anywhere in names, case-insensitively, with a priority on exact symbol matches. Numerical inputs trigger a search against asset IDs, prioritizing exact matches, followed by symbol and name matches based on their relevance and the asset's market capitalization.","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"string","default":"","minLength":0,"maxLength":100}},{"name":"limit","in":"query","description":"The number of search results to return.","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"integer","default":20,"minimum":1,"maximum":100}}],"deprecated":false,"responses":{"200":{"description":"Success response from the API.","content":{"application/json":{"schema":{"type":"object","properties":{"Data":{"type":"object","x-visible-in-ai":true,"properties":{"LIST":{"type":"array","description":"The list of search result assets dynamically ranked based on the presence and type of search_string provided, prioritizing exact ID matches, then exact and partial symbol matches with consideration for market cap, followed by name matches and broad matches, finally defaulting to top assets by market cap in the absence of a query.","items":{"type":"object","properties":{"TYPE":{"type":"string","description":"Identifies the category or type of data represented, crucial for understanding the context of the asset. We use it to define what fields follow after this.","example":"147"},"ID":{"type":"integer","description":"Unique numerical identifier assigned to each asset, serving as a primary key for database reference.","example":2},"SYMBOL":{"type":"string","description":"The abbreviated representation or ticker symbol of the asset, commonly used in markets and trading.","example":"ETH"},"URI":{"type":"string","description":"Web address or endpoint where detailed information about the asset can be found.","example":"bitcoin"},"IS_PUBLIC":{"type":"boolean","description":"Boolean indicator specifying whether the asset is visible and accessible to the public in the API."},"NAME":{"type":"string","description":"Full name of the asset, providing a clear and descriptive identification beyond its symbol.","example":"Bitcoin"},"LOGO_URL":{"type":"string","description":"URL to the official logo image for the asset, used for visual identification in interfaces.","example":"https://resources.cryptocompare.com/asset-management/1/1659708726266.png"},"ASSET_TYPE":{"type":"string","description":"Describes the category of the asset (e.g., BLOCKCHAIN, TOKEN, FIAT, etc.), aiding in classification and filtering.","example":"BLOCKCHAIN"},"HAS_SMART_CONTRACT_CAPABILITIES":{"type":"boolean","description":"Indicates whether the asset supports or is capable of executing smart contracts, important for understanding functional capabilities.","example":"1"},"MARKET_NAME":{"type":"string","description":"For BLOCKCHAIN and TOKEN assets it is the CoinDesk data board market reference rate - cadli. For INDEX assets it is the specific market name where the index is traded or published.","example":"cadli"},"CIRCULATING_MKT_CAP_USD":{"type":"number","description":"Represents the current market capitalization based on circulating supply and price, important for economic and financial analysis. Calculated as the product of the asset's circulating supply and its current price in USD (we sometimes apply a MKT_CAP_PENALTY depending on liquidity conditions). This is used to rank assets in the search results based on their circulating market capitalization.","example":867375515666.5},"ID_PARENT_ASSET":{"type":"integer","description":"The ID of any parent asset, linking related assets and enabling hierarchical data structuring. Null if the asset does not have a parent. An example of parent asset would be the fiat USD for the stablecoin USDC or USDT.","example":1},"PARENT_ASSET_SYMBOL":{"type":"string","description":"Symbol of the parent asset, if applicable, helping to identify and relate assets within a family or series. Null if the asset does not have a parent. An example of parent asset would be the fiat USD for the stablecoin USDC or USDT.","example":"ETH"},"ROOT_ASSET_ID":{"type":"integer","description":"Identifies the root asset in a chain of derived or related assets, essential for tracing asset lineage. Null if the asset does not have a parent. For example, the fiat USD (id: 5) would be the root asset for the tokens CUSDC (id: 1623) or USDCE (id: 1728).","example":2,"x-cc-api-group":"BASIC"},"ROOT_ASSET_SYMBOL":{"type":"string","description":"The symbol of the root asset, facilitating recognition and correlation within asset hierarchies. Null if the asset does not have a parent. For example, the fiat USD (id: 5) would be the root asset for the tokens CUSDC (id: 1623) or USDCE (id: 1728).","example":"ETH"},"ROOT_ASSET_TYPE":{"type":"string","description":"Specifies the fundamental category of the root asset, crucial for understanding the base or origin of an asset's classification. Null if the asset does not have a parent. For example, the fiat USD would be the root asset for tokens CUSDC or USDCE, and in this case, the ROOT_ASSET_TYPE would be fiat.","example":"BLOCKCHAIN"},"CREATED_ON":{"type":"number","description":"The Unix timestamp of the asset entry creation in our system.","example":1681990528,"format":"unix_timestamp"}}}}}},"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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"The /asset/v1/metadata endpoint is deprecated and has been replaced by /asset/v2/metadata. The migration to the /asset/v2/metadata endpoint comes with key enhancements, including new parameters, additional response fields, and structural changes designed to improve flexibility and data access.","x-extended-description-with-markdown":"The /asset/v1/metadata endpoint is deprecated and has been replaced by /asset/v2/metadata. The migration to the /asset/v2/metadata endpoint comes with key enhancements, including new parameters, additional response fields, and structural changes designed to improve flexibility and data access.  Below is an in-depth guide to transitioning from the deprecated `/asset/v1/metadata` endpoint to the new `/asset/v2/metadata`.\n\n### Migration Steps\n- **Update the Endpoint URL**: Change all API calls from `/asset/v1/metadata` to `/asset/v2/metadata`.\n- **Modify the `assets` Parameter**: Replace the `asset` parameter with `assets`, which now accepts asset IDs, symbols, or URIs for more flexible asset identification.\n- **Change Response Parsing**: Update your code to handle the revised response format, where data is nested under the asset ID, symbol, or URI provided in the `assets` parameter. **Old Format**: `{ \"Data\": { \"ID\": 1, \"SYMBOL\": \"BTC\", ...}, \"Err\": {} }` **New Format**: `{ \"Data\": { \"BTC\": { \"ID\": 1, \"SYMBOL\": \"BTC\", ...} }, \"Err\": {} }`.\n\n### Benefits\n- **Multiple Asset Support**: The new `assets` parameter allows querying multiple assets in one API call, reducing the number of requests needed and improving data retrieval efficiency.\n- **Simplified Asset Specification**: The `assets` parameter enhances flexibility by supporting asset IDs, symbols, or URIs.\n- **Improved Data Parsing**: The nested response structure organizes data under the queried asset, making it easier to parse and integrate.\n- **Seamless Transition**: Minimal changes to existing code help streamline the migration process, allowing quick adoption of the new endpoint.\n\nMigrating to `/asset/v2/metadata` will provide a more robust and feature-rich integration, enabling better asset identification, flexible currency conversions, and improved response data structure for seamless application use.","tags":["Deprecated"],"operationId":"asset_v1_metadata","x-section":"Deprecated","x-roles-required":[],"x-cache-length-seconds":30,"x-visible-in-ai":true,"x-endpoint-group-id":"asset_v1_data","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, the CoinDesk internal asset ID or the CoinDesk recommened URI. 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 CoinDesk. When using the asset URI, provide the unique URI that CoinDesk recommends using for the asset page. 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. The CoinDesk asset id will never change and will always denote the same asset over time no matter how many rebrands or new versions an asset has.","required":true,"explode":false,"style":"form","deprecated":false,"schema":{"type":"string","minLength":1,"maxLength":100},"example":"BTC","x-search-dropdown-type":"asset"},{"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","CONTROLLED_ADDRESSES","SECURITY_METRICS","SUPPLY","SUPPLY_ADDRESSES","ASSET_TYPE_SPECIFIC_METRICS","AI_INSIGHTS","SOCIAL","TOKEN_SALE","EQUITY_SALE","RESOURCE_LINKS","CLASSIFICATION","PRICE","MKT_CAP","VOLUME","CHANGE","TOPLIST_RANK","DESCRIPTION","DESCRIPTION_SUMMARY","CONTACT","SEO","INTERNAL"],"x-enum-properties-info":{"CUSTODIANS":{"rolesRequired":["free"]},"CONTROLLED_ADDRESSES":{"rolesRequired":["free"]},"SOCIAL":{"rolesRequired":["free"]},"TOKEN_SALE":{"rolesRequired":["free"]},"EQUITY_SALE":{"rolesRequired":["free"]},"INTERNAL":{"rolesRequired":["asset_management_viewer"]}},"x-roles-required-enum":{"CUSTODIANS":["free"],"CONTROLLED_ADDRESSES":["free"],"SOCIAL":["free"],"TOKEN_SALE":["free"],"EQUITY_SALE":["free"],"INTERNAL":["asset_management_viewer"]}}},"example":[]},{"name":"asset_lookup_priority","in":"query","description":"This parameter specifies the matching priority for the asset key provided in the asset parameter. You can choose to match against the list of asset SYMBOLS, CoinDesk internal asset IDS, or asset URIs. Note that asset SYMBOLS and URIs may change due to rebrands or token switches, but the CoinDesk internal asset ID remains consistent.","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"string","default":"SYMBOL","enum":["SYMBOL","ID","URI"],"x-enum-properties-info":{"SYMBOL":{"name":"Symbol Priority","description":"Prioritize asset lookup by its ticker symbol (e.g., BTC for Bitcoin)."},"ID":{"name":"ID Priority","description":"Prioritize asset lookup by its unique identifier. (e.g., 1 for Bitcoin)"},"URI":{"name":"URI Priority","description":"Prioritize asset lookup by its associated Uniform Resource Identifier (URI) (e.g., bitcoin for Bitcoin)."}}},"example":"SYMBOL"},{"name":"quote_asset","in":"query","description":"Specify the digital asset for the quote values by providing either the CoinDesk internal asset ID, its unique SYMBOL, or the CoinDesk recommened URI. 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 CoinDesk. When using the asset URI, provide the unique URI that CoinDesk recommends using for the asset page. We try to first match against the id list then the symbol and then the uri. The CoinDesk asset id will never change and will always denote the same asset over time no matter how many rebrands or new versions an asset has.","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"string","default":"USD","minLength":1,"maxLength":100},"example":"USD","x-search-dropdown-type":"asset"}],"deprecated":true,"x-superseded-by-operation-id":"asset_v2_metadata","responses":{"200":{"description":"Success response from the API.","content":{"application/json":{"schema":{"type":"object","properties":{"Data":{"type":"object","x-visible-in-ai":false,"properties":{"TYPE":{"type":"string","description":"Specifies the type or category of the message or data being handled. This is a unique number / id for each message type.","example":"162","x-cc-api-group":"ID"},"ID":{"type":"integer","description":"The unique identifier for the asset entry","example":2,"x-cc-api-group":"ID"},"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":"This refers to the base, parent, or main asset to which a token is linked or pegged, signifying that the token acts as a representation of the parent asset. When a token loses its connection to a parent asset due to events such as hacks or the issuing entity's decision to not honor the peg—similar to how TerraUSD detached from its USD peg—the PARENT_ASSET_SYMBOL is removed because the token no longer serves as a true representation of the parent asset. In order to remove the parent we need clear communication from the company who is in charge of keeping the peg. We add add a plublic notice and the include the communication in the Other Document URLs.","x-cc-api-group":"ID"},"ID_ASSET_ISSUER":{"type":"integer","description":"This field identifies the original creator of the token. It provides essential information about the entity, individual or contract rules responsible for issuing the token initially and/or maintaining the supply. In the case of of bridged assets, this is the bridge operator and the parent will have its own issuer. You can go up the parent chain and figure out what counterparty risk you are exposed to when trading a specific asset. This clarification ensures that users can directly trace the origin of the token, understanding its issuance history and the primary issuer's credentials.","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":"integer","description":"Asset internal creation unix ts in our system","format":"unix_timestamp","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":"integer","description":"Asset internal last updated unix ts in our system","format":"unix_timestamp","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"},"PUBLIC_NOTICE":{"type":"string","description":"A public notice for this asset.","x-cc-api-group":"BASIC"},"ASSET_TYPE":{"type":"string","description":"The asset class/type","x-cc-api-group":"ID"},"ASSET_STATUS":{"type":"string","description":"The current operational status of the asset and its underlying project","x-cc-api-group":"CLASSIFICATION"},"NAME":{"type":"string","description":"The full name of the asset, e.g. Bitcoin.","x-cc-api-group":"BASIC"},"INDEX_MARKET_NAME":{"type":"string","description":"The internal CoinDesk Indices API market name (index family) for this index.","x-cc-api-group":"ID"},"LOGO_URL":{"type":"string","description":"The image that appears when you see this asset.","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"},"ASSET_SYMBOL_GLYPH":{"type":"string","description":"The Asset Symbol Glyph represents the visual or typographic mark associated with an asset, such as \"$\" for USD or \"₿\" for Bitcoin. It is distinct from the asset symbol (e.g., USD, BTC) and provides a recognizable representation used in financial contexts, UIs, and documentation.","x-cc-api-group":"CLASSIFICATION"},"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"},"ASSET_ISSUER_NAME":{"type":"string","description":"This field identifies the original creator of the asset. It provides essential information about the entity, individual or contract rules responsible for issuing the asset initially and/or maintaining the supply. In the case of of bridged assets, this is the bridge operator and the parent will have its own issuer. You can go up the parent chain and figure out what counterparty risk you are exposed to when trading a specific asset. This clarification ensures that users can directly trace the origin of the asset, understanding its issuance history and the primary issuer's credentials.","x-cc-api-group":"ID"},"PARENT_ASSET_SYMBOL":{"type":"string","description":"This refers to the base, parent, or main asset to which a token is linked or pegged, signifying that the token acts as a representation of the parent asset. When a token loses its connection to a parent asset due to events such as hacks or the issuing entity's decision to not honor the peg—similar to how TerraUSD detached from its USD peg—the PARENT_ASSET_SYMBOL is removed because the token no longer serves as a true representation of the parent asset. In order to remove the parent we need clear communication from the company who is in charge of keeping the peg. We add add a plublic notice and the include the communication in the Other Document URLs.","x-cc-api-group":"ID"},"RESERVES_BREAKDOWN":{"type":"array","description":"A detailed breakdown of reserves backing a stablecoin asset, covering various categories such as cash, cryptocurrency, bonds, and other investments for transparency.","items":{"type":"object","properties":{"RESERVE_TYPE":{"type":"string","description":"The type of asset used for reserve collateralization, such as cash, crypto, or bonds."},"HOLDING_ADDRESSES":{"type":"array","description":"An array of objects containing the blockchain chain and the holding address (wallet or smart contract) for proof of reserves.","items":{"type":"object","properties":{"BLOCKCHAIN":{"type":"string","description":"The blockchain on which the holding address (smart contract or wallet) is located."},"ADDRESS":{"type":"string","description":"The address holding the relevant asset or token, such as a smart contract or wallet. This can be used for proof of reserves."}}}},"PERCENTAGE":{"type":"number","description":"The percentage of the total reserves allocated to this particular reserve type."},"DESCRIPTION":{"type":"string","description":"A brief description for the reserves, clarifying the nature of the reserve type."},"COMMENTS":{"type":"string","description":"Any additional internal comments or information about the reserves."}}},"x-cc-api-group":"ASSET_TYPE_SPECIFIC_METRICS"},"PREVIOUS_ASSET_SYMBOLS":{"type":"array","description":"A list of symbols that were previously associated with this asset.","items":{"type":"object","properties":{"SYMBOL":{"type":"string","description":"A symbol this asset was previously associated with."},"SYMBOL_USAGE_START_DATE":{"type":"integer","description":"Indicates the date this past symbol started being used."},"SYMBOL_USAGE_END_DATE":{"type":"integer","description":"Indicates the date this past symbol stopped being used."},"DESCRIPTION":{"type":"string","description":"A description for why this symbol existed or was changed."}}},"x-cc-api-group":"BASIC"},"HAS_SMART_CONTRACT_CAPABILITIES":{"type":"boolean","description":"Can you build smart contracts on top of this?","x-cc-api-group":"ASSET_TYPE_SPECIFIC_METRICS"},"SMART_CONTRACT_SUPPORT_TYPE":{"type":"string","description":"This field classifies digital assets based on their level of smart contract support, ranging from assets with no verifiable smart contract capabilities to those offering full autonomy. This categorization helps users and systems understand an asset's technical capacity for smart contract execution, crucial for assessing its utility and potential applications.","x-cc-api-group":"ASSET_TYPE_SPECIFIC_METRICS"},"IS_EXCLUDED_FROM_PRICE_TOPLIST":{"type":"boolean","description":"Indicates whether the asset should be excluded from the overall and asset type price toplist rankings. But this will still be included in the industry ones.","x-cc-api-group":"CLASSIFICATION"},"IS_EXCLUDED_FROM_VOLUME_TOPLIST":{"type":"boolean","description":"Indicates whether the asset should be excluded from the overall and asset type volume toplist rankings. But this will still be included in the industry ones.","x-cc-api-group":"CLASSIFICATION"},"IS_EXCLUDED_FROM_MKT_CAP_TOPLIST":{"type":"boolean","description":"Indicates whether the asset should be excluded from the overall and asset type market capitalization toplist rankings. But this will still be included in the industry ones.","x-cc-api-group":"CLASSIFICATION"},"MKT_CAP_EXCLUSION_REASON":{"type":"string","description":"Specifies the reason why the asset is excluded from the market capitalization toplist, aiding in documentation and communication.","x-cc-api-group":"CLASSIFICATION"},"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"},"INDEX_METHODOLOGY":{"type":"string","description":"This field stores a URL linking to the Index Methodology document, which provides detailed information about the methodology used for constructing an index.","x-cc-api-group":"RESOURCE_LINKS"},"INDEX_FACTSHEET":{"type":"string","description":"This field stores a URL linking to the Index Factsheet document. The factsheet provides a concise overview of the index, including key metrics, methodology summary, and other relevant information for stakeholders.","x-cc-api-group":"RESOURCE_LINKS"},"INDEX_LINKED_PRODUCTS":{"type":"array","description":"A structured field representing a list of products linked to a specific index. This includes associated details such as names, symbols or URLs","items":{"type":"object","properties":{"NAME":{"type":"string","description":"The primary name or title associated with the entity. This is a general string used to identify the entity uniquely or descriptively."},"SYMBOL":{"type":"string","description":"A shorthand or abbreviated representation of the entity's name, typically used for quick reference or symbolic purposes."},"URL":{"type":"string","description":"A web address or hyperlink associated with the entity. It links to additional resources, references, or detailed information."},"COMMENTS":{"type":"string","description":"A text field for additional notes or commentary about the entity. It supports longer text inputs and is accessible only to users with the \"asset_management_viewer\" role."}}},"x-cc-api-group":"RESOURCE_LINKS"},"PROSPECTUS":{"type":"string","description":"This field is designated for uploading the prospectus document of an Exchange-Traded Fund (ETF). The prospectus is a comprehensive report that details the investment's objectives, strategies, risks, and financials. It is essential for investor transparency and regulatory compliance. ","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_SECURITY_METRICS":{"type":"array","description":"","items":{"type":"object","properties":{"NAME":{"type":"string"},"OVERALL_SCORE":{"type":"number"},"OVERALL_RANK":{"type":"integer"},"UPDATED_AT":{"type":"number"}}},"x-cc-api-group":"SECURITY_METRICS"},"ASSET_INDUSTRIES":{"type":"array","description":"The asset industries that asset operates in.","items":{"type":"object","properties":{"ASSET_INDUSTRY":{"type":"string"},"JUSTIFICATION":{"type":"string","description":"A justification for putting an asset in this industry."}}},"x-cc-api-group":"CLASSIFICATION"},"ASSET_DYNAMIC_FAQS":{"type":"array","description":"AI-generated frequently asked questions about the asset, automatically updated based on market conditions and events.","items":{"type":"object","properties":{"TYPE_KEY":{"type":"string"},"NAME":{"type":"string","description":"The question or title for this FAQ entry, e.g. \"Why is the {asset symbol} price down today?\""},"LAST_UPDATE_TS":{"type":"number","description":"The timestamp when this FAQ entry was last generated or updated by AI."},"MOVING_24_HOUR_CHANGE_PERCENTAGE":{"type":"number","description":"The 24 hours percentage percentage change when the asset was news summary was created"},"TLDR":{"type":"string","description":"A brief summary with a paragraph and 3 bullet points in markdown format."},"TEXT":{"type":"string","description":"The detailed answer to the FAQ question in markdown format."},"SOURCES":{"type":"array","description":"List of sources used to generate this FAQ entry.","items":{"type":"object","properties":{"TITLE":{"type":"string","description":"The title of the article, post, or document"},"SOURCE_NAME":{"type":"string","description":"The name of the source (e.g., \"CoinDesk\", \"Twitter\", \"GitHub\")"},"URL":{"type":"string"},"PUBLISHED_ON":{"type":"number","description":"The timestamp when this the news article refernced was originally published."}}}},"LLM_MODEL_NAME":{"type":"string","description":"The LLM model that generated this FAQ entry (e.g., \"openai|gpt-4\", \"anthropic|3-sonnet\")"},"SCORE":{"type":"number","description":"AI confidence score - for price movement or positive - negative score for latest news summary:  1 - strongly positive news, 0 strongly negative news for this FAQ entry (0.0 - 1.0)"}}},"x-cc-api-group":"AI_INSIGHTS"},"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"},"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"},"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"},"RPC_OPERATORS":{"type":"array","description":"Provides a list of endpoints necessary for accessing RPC data on a specified blockchain network if you prefer not to run your own node.","items":{"type":"object","properties":{"OPERATOR_NAME":{"type":"string","description":"The name of the entity responsible for maintaining and providing access to the RPC endpoint."},"URL":{"type":"string","description":"The web address of the RPC endpoint, where requests can be sent to interact with the blockchain."},"REQUIRES_API_KEY":{"type":"boolean","description":"The parameter name to be used for passing the API key in requests to the RPC endpoint."},"DOCUMENTATION_URL":{"type":"string","description":"The web address where the documentation for the RPC endpoint can be found. This documentation provides details on how to interact with the blockchain via the endpoint, including available methods, parameters, and examples."},"API_KEY_PARAMETER_NAME":{"type":"string","description":"Specifies the location (e.g., header, query parameter) where the API key should be included in the request."},"API_KEY_PARAMETER_LOCATION":{"type":"string","description":"Specifies the part of the HTTP request where the API key should be included. This can vary based on the endpoint requirements, such as including the key in the URL path, query parameters, POST parameters, or HTTP headers."}}},"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"},"CONTROLLED_ADDRESSES":{"type":"array","description":"The list of designated addresses used to manage and store assets within an investment portfolio or on behalf of clients. This includes addresses where cryptocurrencies, securities, or other assets are held, reflecting the diverse nature of modern investment strategies. It encompasses addresses used by exchanges, ETFs, and companies to maintain their investment reserves or operational funds.","items":{"type":"object","properties":{"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"},"ADDRESS_PURPOSE":{"type":"string","description":"The role of the address within the company's operations, aiding in precise asset management and regulatory compliance. This categorization distinguishes between addresses for investments, client custody, and operational expenses, streamlining asset control and reporting."},"CONTROL_TYPE":{"type":"string","description":"Classifies the level and nature of control the company exercises over various cryptocurrency addresses. This categorization helps delineate the operational and security protocols associated with each address, ranging from single-key direct control to multi-signatory arrangements and even non-control strategies."},"NAME":{"type":"string","description":"The name of the address. Contract name or just the common name for this address."},"DESCRIPTION":{"type":"string","description":"A description for the address to help people understand better what it is for."}}},"x-cc-api-group":"CONTROLLED_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 (token, fiat, cryptocurrency, commodity) 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":"This is linked to the asset representing a specific chain."},"BLOCKCHAIN_ASSET_ID":{"type":"integer","description":"This is linked to the asset ID representing a specific chain."},"TOKEN_STANDARD":{"type":"string","description":"This is linked to the Blockchain field and it is one of the SUPPORTED_STANDARDS available on that platform."},"EXPLORER_URL":{"type":"string","description":"The URL for the token explorer website or tool."},"SMART_CONTRACT_ADDRESS":{"type":"string","description":"Unique identifier of the asset on the given blockchain (e.g., smart contract address for EVMs and chains that work with smart contracts, asset ID for Omni, symbol or symbol hex.issuer for XRP); format varies by chain."},"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 solution.","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"}}}},"PRIVACY_SOLUTION_TYPE":{"type":"string","description":"The Privacy Solution Type field indicates whether the privacy-enhancing features for transactions are integrated directly into the blockchain protocol or if they require the use of external tools or services."}}},"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"},"OPEN_GRAPH_IMAGE_URL":{"type":"string","description":"The image that appears when you share the asset on social media, if not available we use the logo_url.","x-cc-api-group":"SEO"},"ASSET_DESCRIPTION_EXTENDED_SEO":{"type":"string","description":"The long form description in markdown for this asset that has been reviewed or hand crafted by a person with SEO expertise to have the higest impact in rankings.","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 X (Formerly Twitter) account plus data we collect from them.","items":{"type":"object","properties":{"URL":{"type":"string","description":"The URL of the X account.","example":"https://x.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 X account."},"USERNAME":{"type":"string","description":"The username of the X account."},"VERIFIED":{"type":"boolean","description":"The verification status of the X account."},"VERIFIED_TYPE":{"type":"string","description":"The verification type of the X account."},"FOLLOWING":{"type":"integer","description":"The number of accounts followed by this X account."},"FOLLOWERS":{"type":"integer","description":"The number of followers of this X account."},"FAVOURITES":{"type":"integer","description":"The total number of tweets favorited by this X account."},"LISTS":{"type":"integer","description":"The total number of lists this X account is a member of."},"STATUSES":{"type":"integer","description":"The total number of tweets and retweets made by this X account."},"ACCOUNT_CREATED_AT":{"type":"number","description":"The timestamp of when the X account was created."},"LAST_UPDATED_TS":{"type":"number","description":"The timestamp of the last update to the X 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 to investors for the token sale. This does not include the reserve. It is just the sum of all the TOKEN_SALE_RESERVE_SPLIT."},"TOKEN_SALE_RESERVE_SUPPLY":{"type":"number","description":"Total number of tokens kept in reserve or allocated to team mebers. This does not include the tokens sold to investors. It is just the sum of all the TOKEN_SALE_RESERVE_SPLIT."},"TOKEN_SALE_SUPPLY_ADDED":{"type":"number","description":"Total number of tokens added in this token sale. This is equal to TOKEN_SALE_SUPPLY + TOKEN_SALE_RESERVE_SUPPLY."},"TOKEN_SALE_PRE_SALE_SUPPLY":{"type":"number","description":"Total number of tokens available before this this token sale. This is the sum of all the previous sales, on the first token sale this will be 0. TOKEN_SALE_POST_SALE_SUPPLY  = TOKEN_SALE_PRE_SALE_SUPPLY + TOKEN_SALE_SUPPLY_ADDED."},"TOKEN_SUPPLY_POST_SALE":{"type":"string","description":"The numbers of tokens post Sale. This should be all the locked tokens, the team tokens and all other tokens not included in the sale. It should be equal to TOKEN_SALE_RESERVE + TOKEN_SALE_SUPPLY."},"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. The token sale TOKEN_SALE_RESERVE total should be the sum of all the TOKEN_SALE_RESERVE_SPLITs. Sum of TOKEN_SALE_RESERVE_SPLIT and TOKEN_SALE_SUPPLY  should be equal to TOKEN_SUPPLY_POST_SALE.","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":"Identifies the root asset in a chain of derived or related assets, essential for tracing asset lineage. Null if the asset does not have a parent. For example, the fiat USD (id: 5) would be the root asset for the tokens CUSDC (id: 1623) or USDCE (id: 1728).","example":2,"x-cc-api-group":"ID"},"ROOT_ASSET_SYMBOL":{"type":"string","description":"The symbol of the root asset, facilitating recognition and correlation within asset hierarchies. Null if the asset does not have a parent. For example, the fiat USD (id: 5) would be the root asset for the tokens CUSDC (id: 1623) or USDCE (id: 1728).","example":"ETH","x-cc-api-group":"ID"},"ROOT_ASSET_TYPE":{"type":"string","description":"Specifies the fundamental category of the root asset, crucial for understanding the base or origin of an asset's classification. Null if the asset does not have a parent. For example, the fiat USD would be the root asset for tokens CUSDC or USDCE, and in this case, the ROOT_ASSET_TYPE would be fiat.","example":"BLOCKCHAIN","x-cc-api-group":"ID"},"PRICE_USD":{"type":"number","description":"Denotes the current value / price of the asset in USD. 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 we used for the USD value / price.","x-cc-api-group":"PRICE"},"PRICE_USD_LAST_UPDATE_TS":{"type":"integer","description":"The Unix timestamp of the last update to the USD value / price of the asset.","format":"unix_timestamp","x-cc-api-group":"PRICE"},"PRICE_CONVERSION_ASSET":{"type":"object","description":"Denotes the convesion asset ID, SYMBOL and ASSET_TYPE.","properties":{"ID":{"type":"integer","description":"The unique identifier for the asset entry","example":2},"SYMBOL":{"type":"string","description":"Internal mapped symbol for a specific asset","example":"ETH"},"ASSET_TYPE":{"type":"string","description":"The type of the asset (FIAT, BLOCKCHAIN, TOKEN, etc.)","example":"BLOCKCHAIN"}},"x-cc-api-group":"PRICE"},"PRICE_CONVERSION_RATE":{"type":"number","description":"Denotes the current value / price of USD in the requested quote asset.","x-cc-api-group":"PRICE"},"PRICE_CONVERSION_VALUE":{"type":"number","description":"Denotes the current value / price of the asset in the requested quote currency.","x-cc-api-group":"PRICE"},"PRICE_CONVERSION_SOURCE":{"type":"string","description":"Denotes the source we used for the conversion asset value / price.","x-cc-api-group":"PRICE"},"PRICE_CONVERSION_LAST_UPDATE_TS":{"type":"integer","description":"The Unix timestamp of the last update to the conversion asset value / price.","format":"unix_timestamp","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 quoted in USD (we sometimes apply a MKT_CAP_PENALTY depending on liquidity 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 quoted in USD (we sometimes apply a MKT_CAP_PENALTY depending on liquidity conditions). This figure gives an overview of the total value of all issued tokens for a given asset.","x-cc-api-group":"MKT_CAP"},"CIRCULATING_MKT_CAP_CONVERSION":{"type":"number","description":"Calculated as the product of the asset's circulating supply and its current price quoted in conversion asset (we sometimes apply a MKT_CAP_PENALTY depending on liquidity conditions). We calculate this field by multiplying the CIRCULATING_MKT_CAP_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"MKT_CAP"},"TOTAL_MKT_CAP_CONVERSION":{"type":"number","description":"Calculated as the product of the asset's total supply and its current price quoted in conversion asset (we sometimes apply a MKT_CAP_PENALTY depending on liquidity conditions). We calculate this field by multiplying the TOTAL_MKT_CAP_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"MKT_CAP"},"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_DIRECT_USD":{"type":"number","description":"Aggregated 24 hours volume of the asset traded accross instruments that are quoted in USD on spot markets that we consider top tier, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset on top tier spot markets.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_DIRECT_USD":{"type":"number","description":"Aggregated 24 hours volume of the asset traded accross instruments that are quoted in USD on all the intergarted spot markets, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset.","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 accross all instruments on spot markets that we consider top tier, quoted in USD. This is the sum of all the trade volumes on all the spot top tier markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. 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 24 hours volume of the asset traded accross all instruments on all the integrated spot markets, quoted in USD. This is the sum of all the trade volumes on all the spot markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. Useful for understanding demand and trading interest.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_CONVERSION":{"type":"number","description":"Aggregated 24 hours volume of the asset traded accross all instruments on spot markets that we consider top tier, quoted in conversion asset. We calculate this field by multiplying the SPOT_MOVING_24_HOUR_QUOTE_VOLUME_TOP_TIER_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_24_HOUR_QUOTE_VOLUME_CONVERSION":{"type":"number","description":"Aggregated 24 hours volume of the asset traded accross all instruments on all the integrated spot markets. We calculate this field by multiplying the SPOT_MOVING_24_HOUR_QUOTE_VOLUME_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_24_HOUR_CHANGE_USD":{"type":"number","description":"The difference between the value of the asset quoted in USD 24 hours ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_24_HOUR_CHANGE_PERCENTAGE_USD":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 24 hours ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_24_HOUR_CHANGE_CONVERSION":{"type":"number","description":"The approximate difference between the value of the asset quoted conversion currency 23 hours ago and now. We calculate this field by multiplying the SPOT_MOVING_24_HOUR_CHANGE_USD and the PRICE_CONVERSION_VALUE. This figure does not take into account the volatility of the conversion asset quoted in USD.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_24_HOUR_CHANGE_PERCENTAGE_CONVERSION":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 24 hours ago and the latest USD price. This is the same as the SPOT_MOVING_24_HOUR_CHANGE_PERCENTAGE_USD just adding it here for easier access.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT_USD":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross instruments that are quoted in USD on spot markets that we consider top tier, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset on top tier spot markets.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_DIRECT_USD":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross instruments that are quoted in USD on all the intergarted spot markets, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_USD":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross all instruments on spot markets that we consider top tier, quoted in USD. This is the sum of all the trade volumes on all the spot top tier markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. These markets meet specific quality criteria, offering a more curated view of trading activity.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_USD":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross all instruments on all the integrated spot markets, quoted in USD. This is the sum of all the trade volumes on all the spot markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. Useful for understanding demand and trading interest.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_CONVERSION":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross all instruments on spot markets that we consider top tier, quoted in conversion asset. We calculate this field by multiplying the SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_CONVERSION":{"type":"number","description":"Aggregated 7 days volume of the asset traded accross all instruments on all the integrated spot markets. We calculate this field by multiplying the SPOT_MOVING_7_DAY_QUOTE_VOLUME_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_7_DAY_CHANGE_USD":{"type":"number","description":"The difference between the value of the asset quoted in USD 7 days ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_7_DAY_CHANGE_PERCENTAGE_USD":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 7 days ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_7_DAY_CHANGE_CONVERSION":{"type":"number","description":"The approximate difference between the value of the asset quoted conversion currency 6 days ago and current day. We calculate this field by multiplying the SPOT_MOVING_7_DAY_CHANGE_USD and the PRICE_CONVERSION_VALUE. This figure does not take into account the volatility of the conversion asset quoted in USD.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_7_DAY_CHANGE_PERCENTAGE_CONVERSION":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 7 days ago and the latest USD price. This is the same as the SPOT_MOVING_7_DAY_CHANGE_PERCENTAGE_USD just adding it here for easier access.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT_USD":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross instruments that are quoted in USD on spot markets that we consider top tier, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset on top tier spot markets.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_DIRECT_USD":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross instruments that are quoted in USD on all the intergarted spot markets, quoted in USD. Provides insights into the USD liquidity and trading activity of the asset.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_USD":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross all instruments on spot markets that we consider top tier, quoted in USD. This is the sum of all the trade volumes on all the spot top tier markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. These markets meet specific quality criteria, offering a more curated view of trading activity.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_USD":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross all instruments on all the integrated spot markets, quoted in USD. This is the sum of all the trade volumes on all the spot markets, every trade volume is converted to USD using the most accurate conversion price at the time of the trade. Useful for understanding demand and trading interest.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_CONVERSION":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross all instruments on spot markets that we consider top tier, quoted in conversion asset. We calculate this field by multiplying the SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_CONVERSION":{"type":"number","description":"Aggregated 30 days volume of the asset traded accross all instruments on all the integrated spot markets. We calculate this field by multiplying the SPOT_MOVING_30_DAY_QUOTE_VOLUME_USD and the PRICE_CONVERSION_VALUE.","x-cc-api-group":"VOLUME"},"SPOT_MOVING_30_DAY_CHANGE_USD":{"type":"number","description":"The difference between the value of the asset quoted in USD 30 days ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_30_DAY_CHANGE_PERCENTAGE_USD":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 30 days ago and the latest USD price.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_30_DAY_CHANGE_CONVERSION":{"type":"number","description":"The approximate difference between the value of the asset quoted conversion currency 29 days ago and current day. We calculate this field by multiplying the SPOT_MOVING_30_DAY_CHANGE_USD and the PRICE_CONVERSION_VALUE. This figure does not take into account the volatility of the conversion asset quoted in USD.","x-cc-api-group":"CHANGE"},"SPOT_MOVING_30_DAY_CHANGE_PERCENTAGE_CONVERSION":{"type":"number","description":"The percentage difference between the value of the asset quoted in USD 30 days ago and the latest USD price. This is the same as the SPOT_MOVING_30_DAY_CHANGE_PERCENTAGE_USD just adding it here for easier access.","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."},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_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_7_DAY_QUOTE_VOLUME_DIRECT_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_QUOTE_VOLUME_DIRECT_USD sorted DESC from highest volume accross all markets that trade directly to USD to lowest."},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_QUOTE_VOLUME_TOP_TIER_USD sorted DESC from highest quote volume accross top tier markets to lowest."},"SPOT_MOVING_7_DAY_QUOTE_VOLUME_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_QUOTE_VOLUME_USD sorted DESC from highest quote volume accross all markets to lowest."},"SPOT_MOVING_7_DAY_CHANGE_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_CHANGE_USD sorted DESC from highest change accross all markets to lowest."},"SPOT_MOVING_7_DAY_CHANGE_PERCENTAGE_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_7_DAY_CHANGE_PERCENTAGE_USD sorted DESC from highest percentage change accross all markets to lowest."},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_DIRECT_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_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_30_DAY_QUOTE_VOLUME_DIRECT_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_QUOTE_VOLUME_DIRECT_USD sorted DESC from highest volume accross all markets that trade directly to USD to lowest."},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_QUOTE_VOLUME_TOP_TIER_USD sorted DESC from highest quote volume accross top tier markets to lowest."},"SPOT_MOVING_30_DAY_QUOTE_VOLUME_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_QUOTE_VOLUME_USD sorted DESC from highest quote volume accross all markets to lowest."},"SPOT_MOVING_30_DAY_CHANGE_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_CHANGE_USD sorted DESC from highest change accross all markets to lowest."},"SPOT_MOVING_30_DAY_CHANGE_PERCENTAGE_USD":{"type":"integer","description":"Rank based on SPOT_MOVING_30_DAY_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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"Latest Articles","description":"The Latest Articles endpoint serves as the pulse of the crypto news landscape, providing users with instant access to the most recent articles across the industry. By drawing from a wide array of reputable sources, this endpoint curates a fresh, real-time stream of information, insights, and develo","x-extended-description-with-markdown":"The Latest Articles endpoint serves as the pulse of the crypto news landscape, providing users with instant access to the most recent articles across the industry. By drawing from a wide array of reputable sources, this endpoint curates a fresh, real-time stream of information, insights, and developments, ensuring that users remain at the forefront of crypto news narratives. Whether you are an investor, enthusiast, or industry professional, this endpoint delivers a comprehensive and up-to-the-minute news digest, placing you at the heart of the ever-evolving crypto conversation.\n\n### Use Cases\n- **Real-Time News Updates**: Stay informed with the latest developments and news in the crypto industry.\n- **Market Analysis**: Use up-to-date articles to analyse market trends and make informed investment decisions.\n- **Content Curation**: Curate content for blogs, newsletters, or social media with the most recent crypto news.\n- **Industry Research**: Conduct thorough research with access to the latest articles from various reputable sources.\n- **News Aggregation**: Integrate the latest articles into news aggregation platforms or apps for continuous updates.\n\n### Target Audiences\n- **Crypto Investors and Traders**: Needing real-time news to make timely and informed trading decisions.\n- **Industry Professionals**: Seeking the latest developments and insights in the crypto world.\n- **Content Creators and Curators**: Looking for fresh content to share with their audience.\n- **Researchers and Analysts**: Requiring up-to-date information for in-depth market and industry analysis.\n- **Crypto Enthusiasts**: Wanting to stay updated with the latest news and trends in the crypto space.\n\nThe Latest Articles endpoint is an essential tool for anyone needing immediate access to the freshest news and insights in the crypto industry. By utilising this endpoint, users can stay updated with real-time information, enhance their market analysis, curate content efficiently, and conduct thorough industry research. This ensures that you are always at the cutting edge of crypto developments and conversations. Start using the Latest Articles endpoint today to stay informed and ahead in the dynamic world of cryptocurrency.","tags":["News"],"operationId":"news_v1_article_list","x-section":"News","x-roles-required":[],"x-cache-length-seconds":10,"x-visible-in-ai":true,"x-endpoint-group-id":"news_v1_article_list","x-endpoint-group-name":"Latest Articles","parameters":[{"name":"lang","in":"query","description":"The preferred language for the sources or articles - English (EN), Espanol (ES), Turkish (TR), French (FR), Japanese (JP), Portuguese (PT)","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"string","default":"EN","enum":["EN","ES","TR","FR","JP","PT",""],"x-enum-properties-info":{},"minLength":1},"example":"EN"},{"name":"source_ids","in":"query","description":"Get articles from specific sources based on their keys. If left empty it will just return news from ACTIVE sources for the selected language, if you want to get inactive sources as well, please pass them in alongside the active ones in this array.","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"array","default":[],"items":{"type":"string"}},"example":[],"x-search-dropdown-type":"news_sources"},{"name":"categories","in":"query","description":"List of news article categories to include in the results. If an article matches any of the specified categories, it will be included in the results. Articles must be associated with at least one of these categories to appear, unless no categories are specified, in which case articles from all categories are included.","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"array","default":[],"maxItems":200,"items":{"type":"string"}},"example":[],"x-search-dropdown-type":"news_categories"},{"name":"exclude_categories","in":"query","description":"List of news article categories to exclude from the results. If an article matches any of the specified categories, it will be excluded. This parameter ensures that articles associated with these categories are not included in the final results, even if they also match categories listed in the 'categories' parameter. Any category name or id that is in both exclude_categories and categories parameters will be removed from the exclude_categories parameter.","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"array","default":[],"maxItems":200,"items":{"type":"string"}},"example":[],"x-search-dropdown-type":"news_categories"},{"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":{"TYPE":{"type":"string","description":"Type of the message.","example":"121"},"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":"integer","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.","format":"unix_timestamp"},"PUBLISHED_ON_NS":{"type":"integer","description":"The nanosecond part of the PUBLISHED_ON field.","format":"unix_timestamp"},"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."},"SUBTITLE":{"type":"string","description":"The subheading or subtitle of a specific article. It's a text string that gives additional context to the article's title."},"AUTHORS":{"type":"string","description":"The author or authors of a specific article."},"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), French (FR)","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":"integer","description":"Article internal creation unix ts in our system","format":"unix_timestamp","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":"integer","description":"Article internal last updated unix ts in our system","format":"unix_timestamp","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":{"TYPE":{"type":"string","description":"Type of the message.","example":"120"},"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), French (FR)","example":"EN"},"SOURCE_TYPE":{"type":"string","description":"RSS, API, TWITTER","example":"RSS"},"LAUNCH_DATE":{"type":"number","description":"The launch date of the source is indicated as (yyyy-mm-dd).","format":"unix_timestamp"},"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."},"BENCHMARK_SCORE":{"type":"number","description":"","example":0},"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,"format":"unix_timestamp"},"LAST_ARTICLE_PUBLISHED_AT":{"type":"number","description":"The timestamp for when the last article was published.","example":1681990528,"format":"unix_timestamp"},"LAST_CALL":{"type":"number","description":"The last call timestamp for this source.","example":1681990528,"format":"unix_timestamp"},"LAST_CALL_SUCCESS":{"type":"number","description":"The timestamp for when the last call was successful.","example":1681990528,"format":"unix_timestamp"},"CREATED_ON":{"type":"number","description":"Article Source internal creation unix ts in our system","example":1681990528,"format":"unix_timestamp"},"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,"format":"unix_timestamp"},"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":{"TYPE":{"type":"string","description":"Type of the message.","example":"122"},"ID":{"type":"integer","description":"The unique identifier for the news category entry"},"NAME":{"type":"string","description":"The name of the news category"},"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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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/search":{"get":{"summary":"News Search","description":"The News Search endpoint provides advanced search capabilities across news articles, enabling users to effectively discover content based on precise or partial keyword matches from specified news sources and languages. It intelligently prioritizes results by relevance, scoring articles according to","x-extended-description-with-markdown":"The News Search endpoint provides advanced search capabilities across news articles, enabling users to effectively discover content based on precise or partial keyword matches from specified news sources and languages. It intelligently prioritizes results by relevance, scoring articles according to exact and fuzzy keyword matches, and ordering results by recency to deliver highly relevant and timely news content.\n\n### Key Features\n- **Precise and Partial Matching**: Supports exact and fuzzy keyword searches, enabling users to find relevant news articles even with incomplete or partial input.\n- **Relevance-Based Scoring**: Each article receives a relevance score—exact word matches are awarded 1 point, while partial matches earn 0.5 points—ensuring that the most pertinent articles appear prominently.\n- **Timely Ordering of Results**: Articles with identical scores are ranked by their publication date, presenting the newest articles first to maintain timely information delivery.\n- **Language and Source Filtering**: Allows filtering articles by language and specific news sources to refine search accuracy and relevance.\n- **Rich Content Delivery**: Delivers comprehensive article metadata, including titles, summaries, URLs, source details, publication dates, and associated categories, ensuring informative and contextual search results.\n\n### Use Cases\n- **Content Discovery Platforms**: Enhance news aggregators and content platforms with efficient search capabilities, improving user experience and engagement.\n- **Market and Sentiment Analysis**: Support analysts and traders with quick retrieval of relevant news for real-time sentiment and trend analysis.\n- **Educational Resources**: Provide educators and learners targeted access to timely news articles for research and knowledge development.\n- **Customized News Feeds**: Enable personalized and dynamically updated news feeds based on user-specific keywords and sources.\n\n### Target Audiences\n- **Developers and Platform Integrators**: Easily implement robust news search features into web and mobile applications to enhance user engagement.\n- **Financial Analysts and Traders**: Quickly access relevant news content crucial for informed investment decisions and market analysis.\n- **Media Professionals and Content Curators**: Efficiently identify and compile timely articles for editorial or publishing purposes.\n- **Educators and Researchers**: Facilitate comprehensive research and learning through targeted access to news sources and articles.\n- **Individual Users and Enthusiasts**: Discover relevant news stories based on personal interests, supported by powerful and intuitive search capabilities.\n\nLeveraging the News Search endpoint ensures optimized content discovery through a combination of sophisticated keyword matching, relevance scoring, and chronological ordering, catering to diverse informational needs across various domains.\n\n**Notes on 'Relevance Scoring and Ordering' Logic:**\n- **Exact Word Matches**: Articles containing exact keyword matches from the user's search query are awarded 1 point per match.\n- **Partial (Fuzzy) Matches**: Articles containing partial keyword matches receive 0.5 points per occurrence, ensuring relevant results even with incomplete search inputs.\n- **Ordering by Score and Date**: Results are sorted primarily by relevance score. Articles sharing identical scores are subsequently sorted by publication date in descending order, ensuring that users always access the freshest and most pertinent news content.","tags":["News"],"operationId":"news_v1_search","x-section":"News","x-roles-required":[],"x-cache-length-seconds":30,"x-visible-in-ai":true,"x-endpoint-group-id":"news_v1_search_group","x-endpoint-group-name":"Search","parameters":[{"name":"search_string","in":"query","description":"Search news","required":true,"explode":false,"style":"form","deprecated":false,"schema":{"type":"string","minLength":1,"maxLength":1000},"example":"Ethereum ecosystem"},{"name":"limit","in":"query","description":"The number of search results to return.","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"integer","default":10,"minimum":1,"maximum":100}},{"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}},{"name":"lang","in":"query","description":"The preferred language for the sources or articles - English (EN), Espanol (ES), Turkish (TR), French (FR), Japanese (JP), Portuguese (PT)","required":false,"explode":false,"style":"form","deprecated":false,"schema":{"type":"string","default":"EN","enum":["EN","ES","TR","FR","JP","PT",""],"x-enum-properties-info":{},"minLength":1},"example":"EN"},{"name":"source_key","in":"query","description":"The unique key for a news source; e.g coindesk, this works with the source_id as well, so it needs to either be a source key or a source id.","required":true,"explode":false,"style":"form","deprecated":false,"schema":{"type":"string","minLength":0,"maxLength":50},"example":"coindesk","x-search-dropdown-type":"news_source"}],"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":{"TYPE":{"type":"string","description":"Type of the message.","example":"121"},"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":"integer","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.","format":"unix_timestamp"},"PUBLISHED_ON_NS":{"type":"integer","description":"The nanosecond part of the PUBLISHED_ON field.","format":"unix_timestamp"},"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."},"SUBTITLE":{"type":"string","description":"The subheading or subtitle of a specific article. It's a text string that gives additional context to the article's title."},"AUTHORS":{"type":"string","description":"The author or authors of a specific article."},"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), French (FR)","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":"integer","description":"Article internal creation unix ts in our system","format":"unix_timestamp","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":"integer","description":"Article internal last updated unix ts in our system","format":"unix_timestamp","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":{"TYPE":{"type":"string","description":"Type of the message.","example":"120"},"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), French (FR)","example":"EN"},"SOURCE_TYPE":{"type":"string","description":"RSS, API, TWITTER","example":"RSS"},"LAUNCH_DATE":{"type":"number","description":"The launch date of the source is indicated as (yyyy-mm-dd).","format":"unix_timestamp"},"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."},"BENCHMARK_SCORE":{"type":"number","description":"","example":0},"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,"format":"unix_timestamp"},"LAST_ARTICLE_PUBLISHED_AT":{"type":"number","description":"The timestamp for when the last article was published.","example":1681990528,"format":"unix_timestamp"},"LAST_CALL":{"type":"number","description":"The last call timestamp for this source.","example":1681990528,"format":"unix_timestamp"},"LAST_CALL_SUCCESS":{"type":"number","description":"The timestamp for when the last call was successful.","example":1681990528,"format":"unix_timestamp"},"CREATED_ON":{"type":"number","description":"Article Source internal creation unix ts in our system","example":1681990528,"format":"unix_timestamp"},"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,"format":"unix_timestamp"},"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":{"TYPE":{"type":"string","description":"Type of the message.","example":"122"},"ID":{"type":"integer","description":"The unique identifier for the news category entry"},"NAME":{"type":"string","description":"The name of the news category"},"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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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":"array","items":{"type":"object","properties":{}},"default":[]},"Err":{"type":"object","description":"This object provides detailed information about an error encountered while processing the request. It includes an error code, a message explaining the error, and additional context about the parameters or values that caused the issue. This helps clients identify and resolve issues with their requests.","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 CoinDesk 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":"Our Digital Asset Data REST API is a **reliable**, **accurate**, and **efficient** tool in the digital asset industry. We've combined our **rich legacy** of crypto data ingestion and processing (we've been doing this since January 2013) with **state-of-the-art technology** to provide you with **seamless access** to the world of digital assets. Whether you're an institutional investor, an emerging startup, or a tech enthusiast, our API serves as your trusted guide in the ever-evolving digital asset space.\n\nFurthermore, our dedication to security and data integrity is paramount. We're proud to be **ISO 27001 certified**, reflecting our commitment to implementing the **highest international standards of information security**. This certification underscores our dedication to proper processes and safeguarding of data, offering you an additional layer of confidence and trust in our services.\n\n## Highlighted Features and Offerings:\n\nEvery aspect of our API, from rate limiting based on calls (not credits) to our transparent error reporting, reflects a meticulous user centric design.\n\n- **Comprehensive Data Depth and Connectivity**: Our data coverage is unparalleled, encompassing centralized and decentralized spot, futures, and options exchanges. 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 and comprehensive 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 different endpoints, each optimized for distinct needs, but all having consistent design, data structures, and field naming as well as thoroughly documented response formats and error codes.\n- **Best Support in the Industry**: Our 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 parameters and response formats are clearly defined and consistent.\n- **Multiple Exchanges Access**: Easily pull data from multiple exchanges (spot, futures, options, defi) without the hassle of understanding each of their internal formats, API inconsistencies, API migrations or having to deal with lengthy contract negotiations.\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, most endpoints also grant access to CSV response formats.\n- **Transparent and Informative Error Handling**: Our system prioritizes clear communication, especially during unexpected scenarios. We provide comprehensive error messages through an 'Err' response field, aiding in identifying and resolving issues. Alongside status codes, these messages simplify troubleshooting. Additionally, the 'Warn' response field alerts users to parameter ambiguities or situations where partial but satisfactory responses are provided.\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 (centralized exchange APIs, on-chain data, news, etc) and data complexity. Real-time data may have slight latency (under 100ms) 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 financial 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**: CoinDesk 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 CoinDesk Digital Asset API is paramount to us. We've designed our authentication methods to provide speed, ease of use and safety in every interaction.\n\nWhen accessing the CoinDesk 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.coindesk.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 CoinDesk 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 CoinDesk, 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 CoinDesk, 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\n**We enforce rate limits at the account level rather than per API key**. This means that all API keys associated with your account share the same rate limit quotas. You can generate multiple API keys to manage and monitor different applications, services, or teams, providing flexibility in how you organize your access.\n\nWhile you can **obtain usage statistics and monitor activity per API key, the overall rate limits apply collectively to your entire account**. This approach ensures that your total API usage remains within your subscription's allocated limits, regardless of how many API keys you have or how they are used.\n\n**Benefits of Account-Level Rate Limiting:**\n- **Flexibility**: Manage multiple projects or teams by using separate API keys under the same account without worrying about individual rate limits. However, if you prefer to isolate usage (dev, staging, production) or have separate rate limits, we recommend using multiple accounts. Even a free API key might suffice (for dev and staging) since most endpoints are available on the free tier. If you require higher limits for these additional accounts, we can easily provide you with separate accounts that have their own rate limits, distinct from your main account. Please **mention your requirements to our sales or support team**, and we'll be **happy to assist you in setting up the appropriate accounts to meet your needs**.\n- **Monitoring**: Track usage and performance metrics for each API key to identify usage patterns or potential issues in specific applications.\n- **Control**: Easily revoke or regenerate API keys if necessary without affecting your overall rate limit.\n- **Important Note**: Be mindful that heavy usage from one API key can impact the available rate limit for other keys under the same account. It's essential to coordinate usage across your applications to avoid unintentionally exceeding your account's rate limits.\n\nYou can readily verify your rate limit by visiting our [Rate Limit Verification Endpoint](/documentation/data-api/admin_v2_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- **X-Ratelimit-Limit**: Indicates the maximum number of requests you can make within specific time frames. It sets your usage capacity limits for different windows (e.g., per second, minute, hour, day, month).\n- **X-Ratelimit-Remaining**: Shows how many requests you have left in the current rate limit window.\n- **X-Ratelimit-Remaining-All**: Provides a detailed count of remaining requests across all time windows.\n- **X-Ratelimit-Reset**: Tells you when the current rate limit window resets, in seconds.\n- **X-Ratelimit-Reset-All**:  Shows reset times for all rate limit windows.\n\nHere is an example of response headers with comments about how they work:\n```\nX-Ratelimit-Limit:\n  100000000, # First Entry (Monthly Limit): 100000000 requests per month.\n  38;window=1;burst=600;policy=\"fixed window\", # Per Second Limit: 38 requests; window=1 second; burst=600.\n  2241;window=60;burst=30000;policy=\"fixed window\", # Per Minute Limit: 2241 requests; window=60 seconds; burst=30000.\n  134409;window=3600;burst=1000000;policy=\"fixed window\", # Per Hour Limit: 134409 requests; window=3600 seconds; burst=1000000.\n  3225807;window=86400;burst=9000000;policy=\"fixed window\", # Per Day Limit: 3225807 requests; window=86400 seconds; burst=9000000.\n  100000000;window=2678400;policy=\"fixed window\" # Monthly Limit with Window: 100000000 requests; window=2678400 seconds (~31 days).\n\nX-Ratelimit-Remaining: 66676658 # You have 66,676,658 requests remaining in your monthly limit.\n\nX-Ratelimit-Remaining-All:\n  66676658, # First Entry (Monthly Remaining): 66676658 requests left this month.\n  599;window=1, # Per Second Remaining: 599 requests left in the current second.\n  29956;window=60, # Per Minute Remaining: 29956 requests left in the current minute.\n  919204;window=3600, # Per Hour Remaining: 919204 requests left in the current hour.\n  7626094;window=86400, # Per Day Remaining: 7626094 requests left in the current day.\n  66676658;window=2678400 # Monthly Remaining with Window: 66676658 requests left; window=2678400 seconds.\n\nX-Ratelimit-Reset: 1191769 # Your monthly rate limit resets in 1,191,769 seconds.\n\nX-Ratelimit-Reset-All:\n  1191769, # First Entry (Monthly Reset): Resets in 1191769 seconds.\n  1;window=1, # Per Second Reset: Resets in 1 second.\n  17;window=60, # Per Minute Reset: Resets in 17 seconds.\n  17;window=3600, # Per Hour Reset: Resets in 17 seconds.\n  25217;window=86400, # Per Day Reset: Resets in 25,217 seconds.\n  1191769;window=2678400 # Monthly Reset with Window: Resets in 1191769 seconds; window=2678400 seconds.\n```\nNote: The first entry in each header always refers to the monthly limit.\n\n**How to Utilize Rate Limit Headers Effectively**\n- **Monitor Your Usage**: Regularly check the X-Ratelimit-Remaining and X-Ratelimit-Remaining-All headers to avoid exceeding your limits.\n- **Optimize Request Timing**: Use the X-Ratelimit-Reset and X-Ratelimit-Reset-All headers to plan your requests around reset times, ensuring efficient use of your rate limits.\n- **Implement Back-off Strategies**: If you're approaching your rate limit, consider slowing down your request rate or temporarily pausing requests until the limit resets.\n- **Error Handling**: Be prepared to handle HTTP 429 (Too Many Requests) errors gracefully by implementing retry logic based on the reset timers provided.\n\n## CCSEQ for Unmatched Reliability\n\nOur **CCSEQ (CoinDesk 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 and 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 Invalid 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 CryptoComapre 'Min API' and CoinDesk '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 CoinDesk's currently supported API platform - all endpoints have the base url [https://data-api.coindesk.com](https://data-api.coindesk.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) we recommend always registering an account and passing an api key to any endpoint you use.\n\nThe **Min API** gives options for both a REST and Websocket connection but is considered deprecated and, as of  November 2023, it will not be receiving any new updates.\n\nPeriodically, we 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**Deprecation Header Notification**: To assist developers in identifying deprecated endpoints programmatically, we include a Deprecation HTTP response header in the responses from deprecated endpoints. This header will have a value of true, indicating that the endpoint is deprecated. We may also include a date parameter specifying the deprecation date. Clients are encouraged to check for this header and plan their migrations accordingly.\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 six months 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 six-month timeframe or migrating to the new version to ensure continuous, uninterrupted access to the data you require.\n\n## Your Reliable Partner in Digital Assets: CoinDesk\n\nNavigate the complexities of the financial world with the CoinDesk Digital Asset REST API. It offers **clarity**, **reliability**, **efficiency**, and **ease of use** in accessing digital asset data. Explore our comprehensive documentation and wide range of features to confidently manage your digital asset needs. **We're not just a service provider; we are your dependable partner in the realm of digital assets**. Join us to enhance your digital asset experience.\n\nTo discover all the trading pairs use our Markets + Instruments endpoints or [you can browse our full trade and OHLCV+ offering on our data catalogue product page](https://data.coindesk.com/data-catalogue)."},{"x-id":"index_cc","name":"Indices & Ref. Rates","x-summary-seo":"Our indices and reference rates endpoints 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":"Index Updates","paths":["/index/cc/v2/historical/messages/hour","/index/cc/v2/historical/messages"]},{"x-id":"index_cc_v1_latest_instrument_metadata","x-name":"Instrument Metadata","paths":["/index/cc/v1/latest/instrument/metadata"]},{"x-id":"index_cc_v2_markets","x-name":"Markets","paths":["/index/cc/v2/markets"]},{"x-id":"index_cc_v1_markets_instrument","x-name":"Markets + Instruments","paths":["/index/cc/v1/markets/instruments","/index/cc/v1/markets/instruments/unmapped"]},{"x-id":"index_cc_v1_forex_rates","x-name":"Forex Rates","paths":["/index/cc/v1/latest/tick/forex","/index/cc/v1/historical/days/forex","/index/cc/v1/historical/hours/forex","/index/cc/v1/historical/minutes/forex","/index/cc/v1/markets/instruments/unmapped/forex"]},{"x-id":"index_cc_v1_markets_instruments_unmapped_eod","x-name":"EOD Markets + Instruments","paths":["/index/cc/v1/markets/instruments/unmapped/eod"]},{"x-id":"index_cc_v1_historical_days_eod","x-name":"EOD Historical OHLCV+ Day","paths":["/index/cc/v1/historical/days/eod"]},{"x-id":"index_cc_v1_utilities","x-name":"Index Utilities","paths":["/index/cc/v1/historical/days/composition","/index/cc/v1/reconstitution"]}],"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 (CoinDesk Sequence). This allows users to consistently and reliably track every index update.\n\n**Four prime exemplars of our indices are**:\n\n- **CCIX (CoinDesk Aggregated Index - Formerly CCCAGG)**: Regulated by the UK Financial Conduct Authority (FCA) and EU BMR Compliant, CCIX provides an accurate and reliable real-time reference price benchmark for cryptocurrency traders and investors to value their portfolios at any time. CoinDesk proprietary CCIX methodology is calculated as a 24-hour volume-weighted average price, ensuring the benchmark is market-representative and replicable. Through the implementation of a meticulous exchange selection methodology, CoinDesk secures that only the most reliable and trustworthy exchanges are included in the calculation. Thus, CCIX not only represents a fair cryptoasset price but also provides a reliable measure of direct 'Top-tier' volumes. CCIX is calculated for each cryptocurrency in every market where it is traded (example: CCIX BTC-USD, CCIX BTC-EUR). You can read the full product description for CCIX (formerly CCCAGG) on our [CCIX reference rate product and methodology page](https://ccdata.io/indices/ccix).\n- **CADLI (CoinDesk Adaptive Diversified Liquidity Index)**: CADLI provides an accurate and reliable real-time average market price, which can be used for price discovery, especially in illiquid markets. CoinDesk proprietary methodology for CADLI blends all available markets for a given cryptocurrency and returns a consolidated 24-hour volume-weighted average USD price, offering a simple and easy-to-understand cryptoasset reference. CADLI conversions are also available through CoinDesk API, allowing the user to specify any quote currency. For example, the user can request BTC-ETH, and the endpoint will return the CADLI BTC-USD price converted into ETH. Moreover, as CADLI blends all available markets, users can see the complete market liquidity/volume for an asset and gain a comprehensive overview of trading activity. Additionally, users can decide which particular markets are more pertinent to their analysis, such as only 'top-tier' exchanges. You can read the full product description for CADLI (the CoinDesk Adaptive Diversified Liquidity Index) on our [CADLI reference rate product and methodology page](https://ccdata.io/indices/cadli).\n- **CoinDesk Blended Prices**: Regulated by the UK Financial Conduct Authority (FCA) and EU BMR Compliant, CoinDesk Blended Prices provide an alternative to investors seeking a benchmark that combines stablecoins and fiat currencies into a consolidated USD reference price. The proprietary methodology for CoinDesk Blended Prices is calculated as a 24-hour volume-weighted average price using a customised selection of exchanges and an outlier detection methodology, converting the final prices into USD.\n- **DA Fixings (CoinDesk Digital Asset Fixings)**: CoinDesk Digital Asset Fixings Index (DA Fixings) offers a settlement index for each currency pair, providing traders and investors with the most reliable, market-representative price for portfolio valuation. This proprietary methodology involves a 10-minute time-weighted average based on the company’s FCA-regulated CCIX benchmark family. The standard DA Fixings follow a 4:00 pm London time standard, however, the user can specify any time and specific timezone on CoinDesk API. Read our announcement blog post [Introducing DA Fixings: CoinDesk Robust Framework for Digital Assets Pricing](https://ccdata.io/blogs/introducing-da-fixing-ccdatas-robust-framework-for-digital-assets-pricing) or [visit our Digital Asset Fixing Indices page for more information](https://ccdata.io/indices/da-fixings).\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","/spot/v2/latest/tick/asset"]},{"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":"Trades","paths":["/spot/v2/historical/trades/hour","/spot/v2/historical/trades"]},{"x-id":"spot_v1_historical_orderbook","x-name":"Order Book","paths":["/spot/v1/historical/orderbook/l2/metrics/minute","/spot/v2/historical/orderbook/l2/snapshots/minute","/spot/v1/historical/orderbook/l2/consolidated/metrics/minute","/spot/v1/historical/orderbook/l2/consolidated/snapshots/minute"]},{"x-id":"spot_v1_latest_instrument_metadata","x-name":"Instrument Metadata","paths":["/spot/v1/latest/instrument/metadata"]},{"x-id":"spot_v2_markets","x-name":"Markets","paths":["/spot/v2/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 different exchanges **without confronting varied data structures, unexpected rate limits or API changes and lengthy licensing negotiations**.\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 parse, **deduplicate**, **analyze**, and **process** each spot trade, 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 (CoinDesk 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.\n\nYou can read more about [our spot data coverage and use cases on our trade data product page](https://ccdata.io/data/trade-data)."},{"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":"Trades","paths":["/futures/v2/historical/trades/hour","/futures/v2/historical/trades"]},{"x-id":"futures_v2_historical_orderbook","x-name":"Order Book","paths":["/futures/v2/historical/orderbook/l2/metrics/minute","/futures/v2/historical/orderbook/l2/snapshots/minute"]},{"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 OHLC+ (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":"Updates (OI)","paths":["/futures/v2/historical/open-interest-messages/hour","/futures/v2/historical/open-interest-messages"]},{"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 OHLC+ (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":"Updates (FR)","paths":["/futures/v2/historical/funding-rate-messages/hour","/futures/v2/historical/funding-rate-messages"]},{"x-id":"futures_v1_latest_liquidation","x-name":"Latest Tick (LIQ)","paths":["/futures/v1/latest/liquidation/tick"]},{"x-id":"futures_v1_historical_liquidation","x-name":"Historical OHLC+ (LIQ)","paths":["/futures/v1/historical/liquidation/days","/futures/v1/historical/liquidation/hours","/futures/v1/historical/liquidation/minutes"]},{"x-id":"futures_v1_historical_liquidation_message","x-name":"Updates (LIQ)","paths":["/futures/v2/historical/liquidation-messages/hour","/futures/v2/historical/liquidation-messages"]},{"x-id":"futures_v1_latest_instrument_metadata","x-name":"Instrument Metadata","paths":["/futures/v1/latest/instrument/metadata"]},{"x-id":"futures_v2_markets","x-name":"Markets","paths":["/futures/v2/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, unexpected rate limits, API changes, or lengthy licensing negotiations**.\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 (CoinDesk 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 quality 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.\n\nYou can read more about [our derivaties data coverage and use cases on our derivatives data product page](https://ccdata.io/data/derivatives)."},{"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":"Trades","paths":["/options/v2/historical/trades/hour","/options/v2/historical/trades"]},{"x-id":"options_v1_historical_orderbook","x-name":"Order Book","paths":["/options/v1/historical/orderbook/l2/metrics/minute","/options/v1/historical/orderbook/l2/snapshots/minute"]},{"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 OHLC+ (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":"Updates (OI)","paths":["/options/v2/historical/open-interest-messages/hour","/options/v2/historical/open-interest-messages"]},{"x-id":"options_v1_latest_instrument_metadata","x-name":"Instrument Metadata","paths":["/options/v1/latest/instrument/metadata"]},{"x-id":"options_v2_markets","x-name":"Markets","paths":["/options/v2/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 confronting varied data structures, unexpected rate limits, API changes, or lengthy licensing negotiations**.\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 parse, **deduplicate**, **analyze**, and process each **option trade**, **open interest update**, and **implied volatility update** 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 (CoinDesk Sequence) for continuous 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 create superior options market analysis platforms, effortlessly extracting data across various exchanges thanks 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 reliability, 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.\n\nYou can read more about [our derivaties data coverage and use cases on our derivatives data product page](https://ccdata.io/data/derivatives)."},{"x-id":"derivatives_indices","name":"Derivatives Indices","x-summary-seo":"The Derivatives 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 OHLC+","paths":["/index/v1/historical/days","/index/v1/historical/hours","/index/v1/historical/minutes"]},{"x-id":"index_v1_historical_message","x-name":"Index Updates","paths":["/index/v2/historical/messages/hour","/index/v2/historical/messages"]},{"x-id":"index_v1_latest_instrument_metadata","x-name":"Instrument Metadata","paths":["/index/v1/latest/instrument/metadata"]},{"x-id":"index_v2_markets","x-name":"Markets","paths":["/index/v2/markets"]},{"x-id":"index_v1_markets_instrument","x-name":"Markets + Instruments","paths":["/index/v1/markets/instruments","/index/v1/markets/instruments/unmapped"]}],"description":"The **Derivatives Indices endpoints** are meticulously crafted to offer users both **real-time** and **historical insights** into the ever-evolving **derivatives indices market**. Our data stems from leading global Derivatives 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, unexpected rate limits or API changes and lengthy licensing negotiations**.\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 derivatives 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 **Derivatives 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 derivatives index update is enriched with a unique CCSEQ (CoinDesk Sequence) for streamlined tracking.\n\nDiving deeper, we offer insights from every index update, offering users an in-depth view of the Derivatives 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 derivatives 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 derivatives 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 Derivatives Indices.\n- **CCSEQ for Consistent Tracking**: Every derivatives 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 Derivatives 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 CCSSEQ 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 **Derivatives Indices** endpoints we provide are the **gold standard in clarity**, **range**, and **functionality**. We've tailored them to meet the nuanced demands of Derivatives Indices clients. By **relying on top-tier Derivatives 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 Derivatives Indices market analysis. Step into the next level of Derivatives Indices knowledge, fortified by our unmatched solutions.\n\nYou can read more about [our derivatives data coverage and use cases on our derivatives data product page](https://ccdata.io/data/derivatives)."},{"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":"Swaps","paths":["/onchain/v2/amm/historical/swap-messages/hour","/onchain/v2/amm/historical/swap-messages"]},{"x-id":"onchain_v1_amm_historical_liquidity_update_message","x-name":"Liquidity Updates","paths":["/onchain/v2/amm/historical/liquidity-update-messages/hour","/onchain/v2/amm/historical/liquidity-update-messages"]},{"x-id":"onchain_v1_amm_latest_instrument_metadata","x-name":"Instrument Metadata","paths":["/onchain/v1/amm/latest/instrument/metadata"]},{"x-id":"onchain_v2_amm_markets","x-name":"Markets","paths":["/onchain/v2/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** on multiple exchanges 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 blockchain 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.\n\nYou can read more about [our on-chain dex data coverage and use cases on our on-chain dex data product page](https://ccdata.io/data/on-chain-data)."},{"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 Blocks","paths":["/onchain/v1/block/2","/onchain/v1/block/2/raw"]},{"x-id":"onchain_v1_block_8","x-name":"BSC Blocks","paths":["/onchain/v1/block/8","/onchain/v1/block/8/raw"]},{"x-id":"onchain_v1_block_1","x-name":"BTC Blocks","paths":["/onchain/v1/block/1","/onchain/v1/block/1/raw"]},{"x-id":"onchain_v1_block_2410","x-name":"BASE Blocks","paths":["/onchain/v1/block/2410","/onchain/v1/block/2410/raw"]},{"x-id":"onchain_v1_block_808","x-name":"ARB Blocks","paths":["/onchain/v1/block/808","/onchain/v1/block/808/raw"]},{"x-id":"onchain_v1_block_3","x-name":"SOL Blocks","paths":["/onchain/v1/block/3/raw"]},{"x-id":"onchain_v1_address_metadata_2","x-name":"ETH Address","paths":["/onchain/v1/address/metadata/2"]},{"x-id":"onchain_v3_summary_by_chain","x-name":"Assets By Chain","paths":["/onchain/v3/summary/by/chain"]},{"x-id":"onchain_v2_data_by_address","x-name":"Asset By 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 satisfying 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.\n\nYou can read more about [our on-chain data coverage and use cases on our on-chain data product page](https://ccdata.io/data/on-chain-data)."},{"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_v2_metadata_group","x-name":"Metadata","paths":["/asset/v2/metadata"]},{"x-id":"asset_v1_top_list","x-name":"Top List","paths":["/asset/v1/top/list","/asset/v1/top/list/consensus-mechanism","/asset/v1/top/list/hashing-algorithm-type","/asset/v1/top/list/smart-contract-support-type"]},{"x-id":"asset_v1_search_group","x-name":"Search","paths":["/asset/v1/search"]},{"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_social","x-name":"Historical Social","paths":["/asset/v1/historical/code-repository/days","/asset/v1/historical/discord/days","/asset/v1/historical/reddit/days","/asset/v1/historical/telegram/days","/asset/v1/historical/twitter/days"]}],"description":"The **Asset endpoints** are built to grant you 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 verified sources and extensive research, our interface ensures users can effortlessly gather and comprehend digital 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**, **token**, **fiat**, **stock**, **index**, **commodity** or **fund**. 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 literally hundreds of other metadata values.\n- **Asset Classification**: Discern the nature of an asset by understanding whether it's a blockchain asset, token, fiat, stablecoin or any other type of asset. We also provide quick and easy access to other **ALTERNATIVE_ASSET_IDS** like the ISIN or the DTI of a specific asset.\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_article_list","x-name":"Latest Articles","paths":["/news/v1/article/list"]},{"x-id":"news_v1_source_list","x-name":"Sources","paths":["/news/v1/source/list"]},{"x-id":"news_v1_category_list","x-name":"Categories","paths":["/news/v1/category/list"]},{"x-id":"news_v1_article_get","x-name":"Single Article","paths":["/news/v1/article/get"]},{"x-id":"news_v1_search_group","x-name":"Search","paths":["/news/v1/search"]}],"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. We use GTP3.5 Turbo with the system message: 'You are a sentiment categorization engine for the cryptocurrency industry. Respond with only one of the following: NEUTRAL, POSITIVE, NEGATIVE' and the user prompt: 'Categorize the sentiment of the following text: {article title} {article body}'\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 **trustworthines**s 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","x-name":"MktCap Latest Tick","paths":["/overview/v1/latest/marketcap/all/tick","/overview/v1/latest/marketcap/ftw/tick"]},{"x-id":"overview_v1_latest_marketcap_histo","x-name":"MktCap Historical OHLCV","paths":["/overview/v1/historical/marketcap/all/assets/days","/overview/v1/historical/marketcap/all/assets/hours","/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_v2_rate_limit","x-name":"Rate Limit Verification","paths":["/admin/v2/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":"The Utilities endpoints are your **toolkit for a seamless API experience**. While not adding any additional data sets, they offer essential metadata, specifications, and utility services that optimize your interaction with the REST 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":"index_cc_v1_markets","x-name":"Markets (Indices & Ref. Rates)","paths":["/index/cc/v1/markets"]},{"x-id":"spot_v1_latest","x-name":"Latest Tick by Asset (Spot)","paths":["/spot/v1/latest/tick/asset"]},{"x-id":"spot_v1_markets","x-name":"Markets (Spot)","paths":["/spot/v1/markets"]},{"x-id":"futures_v1_markets","x-name":"Markets (Futures)","paths":["/futures/v1/markets"]},{"x-id":"options_v1_markets","x-name":"Markets (Options)","paths":["/options/v1/markets"]},{"x-id":"index_v1_markets","x-name":"Markets (Derivatives Indices)","paths":["/index/v1/markets"]},{"x-id":"v1_amm_historical_swap_message","x-name":"Swaps","paths":["/onchain/v1/amm/historical/swap-messages/hour","/onchain/v1/amm/historical/swap-messages"]},{"x-id":"onchain_v1_amm_markets","x-name":"Markets (On-Chain DEX)","paths":["/onchain/v1/amm/markets"]},{"x-id":"onchain_assets_by_chain_deprecated","x-name":"Assets By Chain","paths":["/onchain/v1/summary/by/chain","/onchain/v2/summary/by/chain"]},{"x-id":"onchain_data_by_address","x-name":"Asset By 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"]},{"x-id":"onchain_v1_block_last","x-name":"Latest Block","paths":["/onchain/v1/block/2/last","/onchain/v1/block/2/raw/last","/onchain/v1/block/8/last","/onchain/v1/block/8/raw/last","/onchain/v1/block/1/raw/last"]},{"x-id":"asset_v1_data","x-name":"Metadata","paths":["/asset/v1/metadata","/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_historical_social","x-name":"Historical Social","paths":["/asset/v1/code/repository/days/by/id","/asset/v1/code/repository/days/by/symbol","/asset/v1/discord/days/by/id","/asset/v1/discord/days/by/symbol","/asset/v1/reddit/days/by/id","/asset/v1/reddit/days/by/symbol","/asset/v1/telegram/days/by/id","/asset/v1/telegram/days/by/symbol","/asset/v1/twitter/days/by/id","/asset/v1/twitter/days/by/symbol"]},{"x-id":"admin_v1_rate_limit","x-name":"Rate Limit Verification","paths":["/admin/v1/rate/limit"]}],"description":"The endpoints, parameters, or functionalities listed in this section are marked as deprecated. This means:\n\n- They are **no longer recommended** for use and may not be supported in future versions of our API.\n- Existing implementations that use these may continue to work, but we **cannot guarantee their long-term reliability**.\n- We **strongly recommend migrating** 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. This sometimes requires retiring older functionalities to make room for better approaches. Deprecation decisions are based on:\n\n- **Performance Enhancements**: Newer alternatives might be faster or more resource-efficient.\n- **Feature Improvements**: Deprecated features may lack newer capabilities.\n- **Consistency and Standards**: Aligning with modern practices or industry standards.\n- **Simplified Maintenance**: Reducing complexities that arise from supporting outdated functionalities.\n\n## Deprecation and Removal Process\n\nOur commitment to innovation means we sometimes 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 continue to 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- **Deprecation Header Notification**: To assist developers in identifying deprecated endpoints programmatically, we include a Deprecation HTTP response header in the responses from deprecated endpoints. This header will have a value of true, indicating that the endpoint is deprecated. If a new version of the endpoint is available, we will also include a Link header pointing to the new version. Developers are encouraged to check for these headers and plan their migrations accordingly.\nWhen deprecating /admin/v1/rate/limit in favor of /admin/v2/rate/limit, where we've changed the response format and added types to each object for improved clarity and functionality, the headers in the response would look like:\n```\nDeprecation: true\nLink: </admin/v2/rate/limit>; rel=\"successor-version\"\n```\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 usage has dwindled or become minimal, we'll send a final removal notification. Users will receive 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**Important Advisory on Deprecated Endpoints**: While we are dedicated to promoting a decentralized ecosystem and enhancing user accessibility (occasionally allowing IP rate limits on some endpoints), it's crucial to note that endpoints will switch to api_key-only access six months 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 six-month timeframe or migrating to the new version to ensure continuous, uninterrupted access to the data you require.\n\n## Migration Tips\n\n- **Monitor Deprecated Features**: Regularly check this section during API updates to ensure you're not relying on deprecated features.\n- **Plan Early**: Begin your migration as soon as possible. Even though deprecated features remain functional for a time, they may be removed in the future. We assure you that we won't remove endpoints as long as they are still being used. We'll reach out via email and other means to existing customers using deprecated endpoints and provide plenty of time (multiple years) for them to switch to the new endpoints.\n- **Utilize the Deprecation Header**: Make sure your applications check for the Deprecation HTTP response header to programmatically identify deprecated endpoints and receive deprecation dates and alternative endpoints via the Link header.\n- **Seek Support**: If you face any issues during migration, please reach out to our support team. 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. Deprecating 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 **challenges along the way**, remember we're just a slack message (for enterprise customers) or [support ticket](https://support.ccdata.io/hc/en-gb/requests/new) away. Together, we'll shape the future of seamless digital interactions."}]}