# BTC Flow Indicator

This namespace contains endpoints to retrieve Fund Flow ratio, Miners' Position Index(MPI), and etc. We provide certain indicators to avoid any risks, assume upside or downside potentials, and give insights on the value of bitcoin. For more detailed information, please refer to the description of each metric.

<br>

> **Note:** This endpoint does not support Point-In-Time (PIT) accuracy due to periodic updates to wallet address clustering. Historical data may change as new exchange wallets are discovered, added, and validated.

<br>

## Miners' Position Index (MPI)

> MPI(Miners’ Position Index) is a z score of a specific period. The period range must be 2 days or more and if not, it will return an error. \`mpi\` is an index to understand miners’ behavior by examining the total outflow of miners. It highlights periods where the value of Bitcoin’s outflow by miners on a daily basis has historically been extremely high or low. MPI values above 2 indicate that most of the miners are selling Bitcoin. MPI values under 0 indicate that there is less selling pressure by miners.  \
> \_\_\[Go to Data Guide‣]\(<https://dataguide.cryptoquant.com/flow-indicators/miners-position-index)\\_\\>\_

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"BTC Flow Indicator","description":"This namespace contains endpoints to retrieve Fund Flow ratio, Miners' Position Index(MPI), and etc. We provide certain indicators to avoid any risks, assume upside or downside potentials, and give insights on the value of bitcoin. For more detailed information, please refer to the description of each metric.\n\n<br>\n\n> **Note:**  This endpoint does not support Point-In-Time (PIT) accuracy due to periodic updates to wallet address clustering. Historical data may change as new exchange wallets are discovered, added, and validated.\n\n<br>"}],"servers":[{"url":"https://api.cryptoquant.com/v1/","description":"Default server"}],"security":[{"Access Token":[]}],"components":{"securitySchemes":{"Access Token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"For each API request, include this HTTP header:\n`Authorization` with the `Bearer {access_token}`. Bearer access token is the type of HTTP Authorization.  You have to include access token to the HTTP header and note that leading bearer is required.\nYou must include your access token in HTTP header in every request you make. The token is unique, issued for each client, and regularly changed(once a year). To obtain an access token, please [upgrade your plan](https://cryptoquant.com/pricing) to Professional or Premium plan. You'll be able to see your access token on the [API tab](https://cryptoquant.com/settings/api) of your profile page after the subscription."}},"parameters":{"window_d":{"description":"Currently, we only support `day`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"from":{"description":"This defines the starting time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the earliest time.","explode":false,"in":"query","name":"from","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"to":{"description":"This defines the ending time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the latest time.","explode":false,"in":"query","name":"to","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"limit":{"description":"The maximum number of entries to return before the latest data point (or before `to` if specified). This field ranges from 1 to 100,000.","explode":false,"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100,"minimum":1,"maximum":100000},"style":"form"},"format":{"description":"A format type about return message type. Supported formats are json, csv.","explode":false,"in":"query","name":"format","required":false,"schema":{"type":"string","default":"json"},"style":"form"}},"responses":{"mpi":{"description":"Miners' Position Index","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MPIResponse"}}}}},"schemas":{"MPIResponse":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window_D"},"data":{"type":"array","items":{"type":"object","required":["mpi"],"properties":{"date":{"$ref":"#/components/schemas/Date"},"mpi":{"type":"decimal","description":"MPI(Miners’ position index) is the total miner outflow usd divided by MA 365 total miner outflow usd."}}}}}}}},"Status":{"type":"object","description":"The status object is return with most of requests and indicates if the request was successful. If it is not successful, error information is included.","properties":{"code":{"type":"integer","format":"int32","description":"HTTP status code"},"message":{"type":"string","description":"Text description of the error or success."}},"required":["code","message"]},"Window_D":{"type":"string","description":"The size of window. This metric supports only day resolution."},"Date":{"type":"string","description":"The date in YYYY-DD-MM. This optional field only appears when window=day is used."}}},"paths":{"/btc/flow-indicator/mpi":{"get":{"tags":["BTC Flow Indicator"],"summary":"Miners' Position Index (MPI)","description":"MPI(Miners’ Position Index) is a z score of a specific period. The period range must be 2 days or more and if not, it will return an error. `mpi` is an index to understand miners’ behavior by examining the total outflow of miners. It highlights periods where the value of Bitcoin’s outflow by miners on a daily basis has historically been extremely high or low. MPI values above 2 indicate that most of the miners are selling Bitcoin. MPI values under 0 indicate that there is less selling pressure by miners.  \n__[Go to Data Guide‣](https://dataguide.cryptoquant.com/flow-indicators/miners-position-index)__","operationId":"getMPI","parameters":[{"$ref":"#/components/parameters/window_d"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/mpi"}}}}}}
```

## Exchange Shutdown Index

> Stay Ahead of Exchange Hacks. See hacks as they happen by identifying sudden increases and become zero in exchange outflows and hedge against potential risk.

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"BTC Flow Indicator","description":"This namespace contains endpoints to retrieve Fund Flow ratio, Miners' Position Index(MPI), and etc. We provide certain indicators to avoid any risks, assume upside or downside potentials, and give insights on the value of bitcoin. For more detailed information, please refer to the description of each metric.\n\n<br>\n\n> **Note:**  This endpoint does not support Point-In-Time (PIT) accuracy due to periodic updates to wallet address clustering. Historical data may change as new exchange wallets are discovered, added, and validated.\n\n<br>"}],"servers":[{"url":"https://api.cryptoquant.com/v1/","description":"Default server"}],"security":[{"Access Token":[]}],"components":{"securitySchemes":{"Access Token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"For each API request, include this HTTP header:\n`Authorization` with the `Bearer {access_token}`. Bearer access token is the type of HTTP Authorization.  You have to include access token to the HTTP header and note that leading bearer is required.\nYou must include your access token in HTTP header in every request you make. The token is unique, issued for each client, and regularly changed(once a year). To obtain an access token, please [upgrade your plan](https://cryptoquant.com/pricing) to Professional or Premium plan. You'll be able to see your access token on the [API tab](https://cryptoquant.com/settings/api) of your profile page after the subscription."}},"parameters":{"exchange":{"description":"An exchange from the table that we support. [See here](#tag/BTC-Exchange-Flows).","explode":false,"in":"query","name":"exchange","required":true,"schema":{"type":"string"},"style":"form"},"window_dbh":{"description":"Currently we support `day`, `hour`, and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"from":{"description":"This defines the starting time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the earliest time.","explode":false,"in":"query","name":"from","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"to":{"description":"This defines the ending time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the latest time.","explode":false,"in":"query","name":"to","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"limit":{"description":"The maximum number of entries to return before the latest data point (or before `to` if specified). This field ranges from 1 to 100,000.","explode":false,"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100,"minimum":1,"maximum":100000},"style":"form"},"format":{"description":"A format type about return message type. Supported formats are json, csv.","explode":false,"in":"query","name":"format","required":false,"schema":{"type":"string","default":"json"},"style":"form"}},"responses":{"exchange_shutdown_index":{"description":"Exchange Shutdown Index","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeShutdownIndexResponse"}}}}},"schemas":{"ExchangeShutdownIndexResponse":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window_DBH"},"data":{"type":"array","items":{"type":"object","required":["is_shutdown"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"is_shutdown":{"type":"decimal","description":"If the total BTC outflow amount of exchange is zero at each time unit, returns 1. Otherwise, it returns 0."}}}}}}}},"Status":{"type":"object","description":"The status object is return with most of requests and indicates if the request was successful. If it is not successful, error information is included.","properties":{"code":{"type":"integer","format":"int32","description":"HTTP status code"},"message":{"type":"string","description":"Text description of the error or success."}},"required":["code","message"]},"Window_DBH":{"type":"string","description":"The size of window. It can be day, hour, or block, and it depends on the user request."},"Blockheight":{"type":"string","description":"The height of the block. This optional field only appears when window=block is used."},"Date":{"type":"string","description":"The date in YYYY-DD-MM. This optional field only appears when window=day is used."},"Datetime_H":{"type":"string","description":"The date and time formatted as YYYY-MM-DD HH:MM:SS (UTC time). This field only appears when window=block or window=hour is used."}}},"paths":{"/btc/flow-indicator/exchange-shutdown-index":{"get":{"tags":["BTC Flow Indicator"],"summary":"Exchange Shutdown Index","description":"Stay Ahead of Exchange Hacks. See hacks as they happen by identifying sudden increases and become zero in exchange outflows and hedge against potential risk.","operationId":"getExchangeShutdownIndex","parameters":[{"$ref":"#/components/parameters/exchange"},{"$ref":"#/components/parameters/window_dbh"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/exchange_shutdown_index"}}}}}}
```

## Exchange Whale Ratio

> Find Whale Focused Exchanges with Top 10 Inflows. Looking at the relative size of the top 10 inflows to total inflows, it is possible to discover which exchanges whales use. For example, as Gemini has mostly whales users, it is possible for the price to rise or fall dramatically. This has potential risks, but also the possibility of arbitrage.

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"BTC Flow Indicator","description":"This namespace contains endpoints to retrieve Fund Flow ratio, Miners' Position Index(MPI), and etc. We provide certain indicators to avoid any risks, assume upside or downside potentials, and give insights on the value of bitcoin. For more detailed information, please refer to the description of each metric.\n\n<br>\n\n> **Note:**  This endpoint does not support Point-In-Time (PIT) accuracy due to periodic updates to wallet address clustering. Historical data may change as new exchange wallets are discovered, added, and validated.\n\n<br>"}],"servers":[{"url":"https://api.cryptoquant.com/v1/","description":"Default server"}],"security":[{"Access Token":[]}],"components":{"securitySchemes":{"Access Token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"For each API request, include this HTTP header:\n`Authorization` with the `Bearer {access_token}`. Bearer access token is the type of HTTP Authorization.  You have to include access token to the HTTP header and note that leading bearer is required.\nYou must include your access token in HTTP header in every request you make. The token is unique, issued for each client, and regularly changed(once a year). To obtain an access token, please [upgrade your plan](https://cryptoquant.com/pricing) to Professional or Premium plan. You'll be able to see your access token on the [API tab](https://cryptoquant.com/settings/api) of your profile page after the subscription."}},"parameters":{"exchange":{"description":"An exchange from the table that we support. [See here](#tag/BTC-Exchange-Flows).","explode":false,"in":"query","name":"exchange","required":true,"schema":{"type":"string"},"style":"form"},"window_dbh":{"description":"Currently we support `day`, `hour`, and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"from":{"description":"This defines the starting time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the earliest time.","explode":false,"in":"query","name":"from","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"to":{"description":"This defines the ending time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the latest time.","explode":false,"in":"query","name":"to","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"limit":{"description":"The maximum number of entries to return before the latest data point (or before `to` if specified). This field ranges from 1 to 100,000.","explode":false,"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100,"minimum":1,"maximum":100000},"style":"form"},"format":{"description":"A format type about return message type. Supported formats are json, csv.","explode":false,"in":"query","name":"format","required":false,"schema":{"type":"string","default":"json"},"style":"form"}},"responses":{"exchange_whale_ratio":{"description":"The total BTC amount of top 10 inflow amount divided by the total BTC amount flowed into exchange","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeWhaleRatioResponse"}}}}},"schemas":{"ExchangeWhaleRatioResponse":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window_DBH"},"data":{"type":"array","items":{"type":"object","required":["exchange_whale_ratio"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"exchange_whale_ratio":{"type":"decimal","description":"The total BTC amount of top 10 transactions (in terms of total BTC sent) divided by the total BTC amount flowing into exchange."}}}}}}}},"Status":{"type":"object","description":"The status object is return with most of requests and indicates if the request was successful. If it is not successful, error information is included.","properties":{"code":{"type":"integer","format":"int32","description":"HTTP status code"},"message":{"type":"string","description":"Text description of the error or success."}},"required":["code","message"]},"Window_DBH":{"type":"string","description":"The size of window. It can be day, hour, or block, and it depends on the user request."},"Blockheight":{"type":"string","description":"The height of the block. This optional field only appears when window=block is used."},"Date":{"type":"string","description":"The date in YYYY-DD-MM. This optional field only appears when window=day is used."},"Datetime_H":{"type":"string","description":"The date and time formatted as YYYY-MM-DD HH:MM:SS (UTC time). This field only appears when window=block or window=hour is used."}}},"paths":{"/btc/flow-indicator/exchange-whale-ratio":{"get":{"tags":["BTC Flow Indicator"],"summary":"Exchange Whale Ratio","description":"Find Whale Focused Exchanges with Top 10 Inflows. Looking at the relative size of the top 10 inflows to total inflows, it is possible to discover which exchanges whales use. For example, as Gemini has mostly whales users, it is possible for the price to rise or fall dramatically. This has potential risks, but also the possibility of arbitrage.","operationId":"getExchangeWhaleRatio","parameters":[{"$ref":"#/components/parameters/exchange"},{"$ref":"#/components/parameters/window_dbh"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/exchange_whale_ratio"}}}}}}
```

## Fund Flow Ratio

> Fund Flow Ratio provides the amount of bitcoins that exchanges occupy among the bitcoins sent underlying the Bitcoin network. Knowing the amount of fund currently involved in trading can help you understand market volatility.

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"BTC Flow Indicator","description":"This namespace contains endpoints to retrieve Fund Flow ratio, Miners' Position Index(MPI), and etc. We provide certain indicators to avoid any risks, assume upside or downside potentials, and give insights on the value of bitcoin. For more detailed information, please refer to the description of each metric.\n\n<br>\n\n> **Note:**  This endpoint does not support Point-In-Time (PIT) accuracy due to periodic updates to wallet address clustering. Historical data may change as new exchange wallets are discovered, added, and validated.\n\n<br>"}],"servers":[{"url":"https://api.cryptoquant.com/v1/","description":"Default server"}],"security":[{"Access Token":[]}],"components":{"securitySchemes":{"Access Token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"For each API request, include this HTTP header:\n`Authorization` with the `Bearer {access_token}`. Bearer access token is the type of HTTP Authorization.  You have to include access token to the HTTP header and note that leading bearer is required.\nYou must include your access token in HTTP header in every request you make. The token is unique, issued for each client, and regularly changed(once a year). To obtain an access token, please [upgrade your plan](https://cryptoquant.com/pricing) to Professional or Premium plan. You'll be able to see your access token on the [API tab](https://cryptoquant.com/settings/api) of your profile page after the subscription."}},"parameters":{"exchange":{"description":"An exchange from the table that we support. [See here](#tag/BTC-Exchange-Flows).","explode":false,"in":"query","name":"exchange","required":true,"schema":{"type":"string"},"style":"form"},"window":{"description":"Currently we support `day` and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"from":{"description":"This defines the starting time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the earliest time.","explode":false,"in":"query","name":"from","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"to":{"description":"This defines the ending time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the latest time.","explode":false,"in":"query","name":"to","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"limit":{"description":"The maximum number of entries to return before the latest data point (or before `to` if specified). This field ranges from 1 to 100,000.","explode":false,"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100,"minimum":1,"maximum":100000},"style":"form"},"format":{"description":"A format type about return message type. Supported formats are json, csv.","explode":false,"in":"query","name":"format","required":false,"schema":{"type":"string","default":"json"},"style":"form"}},"responses":{"fund-flow-ratio":{"description":"The total BTC inflow and outflow of exchange divided by the total BTC transferred on the Bitcoin network.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundFlowRatioResponse"}}}}},"schemas":{"FundFlowRatioResponse":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window"},"data":{"type":"array","items":{"type":"object","required":["fund_flow_ratio"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime"},"fund_flow_ratio":{"type":"decimal","description":"The total BTC amount flowing into or out of exchange divided by the total BTC amount transferred on the whole Bitcoin network."}}}}}}}},"Status":{"type":"object","description":"The status object is return with most of requests and indicates if the request was successful. If it is not successful, error information is included.","properties":{"code":{"type":"integer","format":"int32","description":"HTTP status code"},"message":{"type":"string","description":"Text description of the error or success."}},"required":["code","message"]},"Window":{"type":"string","description":"The size of window. It can be day or block, and it depends on the user request."},"Blockheight":{"type":"string","description":"The height of the block. This optional field only appears when window=block is used."},"Date":{"type":"string","description":"The date in YYYY-DD-MM. This optional field only appears when window=day is used."},"Datetime":{"type":"string","description":"The date and time formatted as YYYY-MM-DD HH:MM:SS (UTC time). This field only appears when window=block is used."}}},"paths":{"/btc/flow-indicator/fund-flow-ratio":{"get":{"tags":["BTC Flow Indicator"],"summary":"Fund Flow Ratio","description":"Fund Flow Ratio provides the amount of bitcoins that exchanges occupy among the bitcoins sent underlying the Bitcoin network. Knowing the amount of fund currently involved in trading can help you understand market volatility.","operationId":"BTCgetFundFlowRatio","parameters":[{"$ref":"#/components/parameters/exchange"},{"$ref":"#/components/parameters/window"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/fund-flow-ratio"}}}}}}
```

## Stablecoins Ratio

> BTC reserve divided by all stablecoins reserve held by an exchange. This usually indicates potential sell pressure. Supported exchanges are determined by the concurrent validity of both BTC and Stablecoins (for at least 1 token).\
> \
> \<br>\
> \
> \> \*\*Note:\*\*  This endpoint supports a maximum of 1,000 entries per request.\
> \
> \<br>

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"BTC Flow Indicator","description":"This namespace contains endpoints to retrieve Fund Flow ratio, Miners' Position Index(MPI), and etc. We provide certain indicators to avoid any risks, assume upside or downside potentials, and give insights on the value of bitcoin. For more detailed information, please refer to the description of each metric.\n\n<br>\n\n> **Note:**  This endpoint does not support Point-In-Time (PIT) accuracy due to periodic updates to wallet address clustering. Historical data may change as new exchange wallets are discovered, added, and validated.\n\n<br>"}],"servers":[{"url":"https://api.cryptoquant.com/v1/","description":"Default server"}],"security":[{"Access Token":[]}],"components":{"securitySchemes":{"Access Token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"For each API request, include this HTTP header:\n`Authorization` with the `Bearer {access_token}`. Bearer access token is the type of HTTP Authorization.  You have to include access token to the HTTP header and note that leading bearer is required.\nYou must include your access token in HTTP header in every request you make. The token is unique, issued for each client, and regularly changed(once a year). To obtain an access token, please [upgrade your plan](https://cryptoquant.com/pricing) to Professional or Premium plan. You'll be able to see your access token on the [API tab](https://cryptoquant.com/settings/api) of your profile page after the subscription."}},"parameters":{"exchange_sr":{"description":"An exchange that supports both BTC and Stablecoins. See here [for BTC](#tag/BTC-Exchange-Flows) and [for Stablecoins](#tag/Stablecoin-Exchange-Flows).","explode":false,"in":"query","name":"exchange","required":true,"schema":{"type":"string"},"style":"form"},"window_dh":{"description":"Currently, we support `day` and `hour`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"from":{"description":"This defines the starting time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the earliest time.","explode":false,"in":"query","name":"from","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"to":{"description":"This defines the ending time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the latest time.","explode":false,"in":"query","name":"to","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"limit_max_1000":{"description":"The maximum number of entries to return before the latest data point (or before `to` if specified). This field ranges from 1 to 1000.","explode":false,"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100,"minimum":1,"maximum":1000},"style":"form"},"format":{"description":"A format type about return message type. Supported formats are json, csv.","explode":false,"in":"query","name":"format","required":false,"schema":{"type":"string","default":"json"},"style":"form"}},"responses":{"stablecoins-ratio":{"description":"Total BTC reserve divided by all stablecoins reserve held by an exchange.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StablecoinsRatioResponse"}}}}},"schemas":{"StablecoinsRatioResponse":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window"},"data":{"type":"array","items":{"type":"object","required":["stablecoins_ratio","stablecoins_ratio_usd"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime"},"stablecoins_ratio":{"type":"decimal","description":"Total BTC reserve divided by all stablecoins reserve held by an exchange."},"stablecoins_ratio_usd":{"type":"decimal","description":"Total BTC reserve in USD divided by all stablecoins reserve held by an exchange."}}}}}}}},"Status":{"type":"object","description":"The status object is return with most of requests and indicates if the request was successful. If it is not successful, error information is included.","properties":{"code":{"type":"integer","format":"int32","description":"HTTP status code"},"message":{"type":"string","description":"Text description of the error or success."}},"required":["code","message"]},"Window":{"type":"string","description":"The size of window. It can be day or block, and it depends on the user request."},"Blockheight":{"type":"string","description":"The height of the block. This optional field only appears when window=block is used."},"Date":{"type":"string","description":"The date in YYYY-DD-MM. This optional field only appears when window=day is used."},"Datetime":{"type":"string","description":"The date and time formatted as YYYY-MM-DD HH:MM:SS (UTC time). This field only appears when window=block is used."}}},"paths":{"/btc/flow-indicator/stablecoins-ratio":{"get":{"tags":["BTC Flow Indicator"],"summary":"Stablecoins Ratio","description":"BTC reserve divided by all stablecoins reserve held by an exchange. This usually indicates potential sell pressure. Supported exchanges are determined by the concurrent validity of both BTC and Stablecoins (for at least 1 token).\n\n<br>\n\n> **Note:**  This endpoint supports a maximum of 1,000 entries per request.\n\n<br>","operationId":"BTCgetStablecoinsRatio","parameters":[{"$ref":"#/components/parameters/exchange_sr"},{"$ref":"#/components/parameters/window_dh"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit_max_1000"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/stablecoins-ratio"}}}}}}
```

## Exchange Inflow Age Distribution

> Exchange Inflow Age Distribution is a set of active inflow to exchanges with age bands. This indicator summarizes the behaviors of long-term or short-term holders flowed into the exchanges. We provide the distribution values in native and percent values.<br>

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"BTC Flow Indicator","description":"This namespace contains endpoints to retrieve Fund Flow ratio, Miners' Position Index(MPI), and etc. We provide certain indicators to avoid any risks, assume upside or downside potentials, and give insights on the value of bitcoin. For more detailed information, please refer to the description of each metric.\n\n<br>\n\n> **Note:**  This endpoint does not support Point-In-Time (PIT) accuracy due to periodic updates to wallet address clustering. Historical data may change as new exchange wallets are discovered, added, and validated.\n\n<br>"}],"servers":[{"url":"https://api.cryptoquant.com/v1/","description":"Default server"}],"security":[{"Access Token":[]}],"components":{"securitySchemes":{"Access Token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"For each API request, include this HTTP header:\n`Authorization` with the `Bearer {access_token}`. Bearer access token is the type of HTTP Authorization.  You have to include access token to the HTTP header and note that leading bearer is required.\nYou must include your access token in HTTP header in every request you make. The token is unique, issued for each client, and regularly changed(once a year). To obtain an access token, please [upgrade your plan](https://cryptoquant.com/pricing) to Professional or Premium plan. You'll be able to see your access token on the [API tab](https://cryptoquant.com/settings/api) of your profile page after the subscription."}},"parameters":{"exchange":{"description":"An exchange from the table that we support. [See here](#tag/BTC-Exchange-Flows).","explode":false,"in":"query","name":"exchange","required":true,"schema":{"type":"string"},"style":"form"},"window_dbh":{"description":"Currently we support `day`, `hour`, and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"from":{"description":"This defines the starting time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the earliest time.","explode":false,"in":"query","name":"from","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"to":{"description":"This defines the ending time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the latest time.","explode":false,"in":"query","name":"to","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"limit":{"description":"The maximum number of entries to return before the latest data point (or before `to` if specified). This field ranges from 1 to 100,000.","explode":false,"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100,"minimum":1,"maximum":100000},"style":"form"},"format":{"description":"A format type about return message type. Supported formats are json, csv.","explode":false,"in":"query","name":"format","required":false,"schema":{"type":"string","default":"json"},"style":"form"}},"responses":{"exchange-inflow-age-distribution":{"description":"exchange-inflow-age-distribution","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeInflowAgeDistributionResponse"}}}}},"schemas":{"ExchangeInflowAgeDistributionResponse":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window_DBH"},"data":{"type":"array","items":{"type":"object","required":["range_0d_1d","range_1d_1w","range_1w_1m","range_1m_3m","range_3m_6m","range_6m_12m","range_12m_18m","range_18m_2y","range_2y_3y","range_3y_5y","range_5y_7y","range_7y_10y","range_10y_inf","range_0d_1d_percent","range_1d_1w_percent","range_1w_1m_percent","range_1m_3m_percent","range_3m_6m_percent","range_6m_12m_percent","range_12m_18m_percent","range_18m_2y_percent","range_2y_3y_percent","range_3y_5y_percent","range_5y_7y_percent","range_7y_10y_percent","range_10y_inf_percent"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"range_0d_1d":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 0 day to 1 day as inflow to exchanges."},"range_1d_1w":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 1 day to 1 week as inflow to exchanges."},"range_1w_1m":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 1 week to 1 month as inflow to exchanges."},"range_1m_3m":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 1 month to 3 months as inflow to exchanges."},"range_3m_6m":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 3 months to 6 months as inflow to exchanges."},"range_6m_12m":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 6 months to 12 months as inflow to exchanges."},"range_12m_18m":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 12 months to 18 months as inflow to exchanges."},"range_18m_2y":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 18 months to 2 years as inflow to exchanges."},"range_2y_3y":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 2 years to 3 years as inflow to exchanges."},"range_3y_5y":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 3 years to 5 years as inflow to exchanges."},"range_5y_7y":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 5 years to 7 years as inflow to exchanges."},"range_7y_10y":{"type":"decimal","description":"Sum of destroyed UTxOs of ages between 7 years to 10 years as inflow to exchanges."},"range_10y_inf":{"type":"decimal","description":"Sum of destroyed UTxOs of ages over 10 years as inflow to exchanges."},"range_0d_1d_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 0 day to 1 day as inflow to exchanges."},"range_1d_1w_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 1 day to 1 week as inflow to exchanges."},"range_1w_1m_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 1 week to 1 month as inflow to exchanges."},"range_1m_3m_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 1 month to 3 months as inflow to exchanges."},"range_3m_6m_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 3 months to 6 months as inflow to exchanges."},"range_6m_12m_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 6 months to 12 months as inflow to exchanges."},"range_12m_18m_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 12 months to 18 months as inflow to exchanges."},"range_18m_2y_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 18 months to 2 years as inflow to exchanges."},"range_2y_3y_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 2 years to 3 years as inflow to exchanges."},"range_3y_5y_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 3 years to 5 years as inflow to exchanges."},"range_5y_7y_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 5 years to 7 years as inflow to exchanges."},"range_7y_10y_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages between 7 years to 10 years as inflow to exchanges."},"range_10y_inf_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs of ages over 10 years as inflow to exchanges."}}}}}}}},"Status":{"type":"object","description":"The status object is return with most of requests and indicates if the request was successful. If it is not successful, error information is included.","properties":{"code":{"type":"integer","format":"int32","description":"HTTP status code"},"message":{"type":"string","description":"Text description of the error or success."}},"required":["code","message"]},"Window_DBH":{"type":"string","description":"The size of window. It can be day, hour, or block, and it depends on the user request."},"Blockheight":{"type":"string","description":"The height of the block. This optional field only appears when window=block is used."},"Date":{"type":"string","description":"The date in YYYY-DD-MM. This optional field only appears when window=day is used."},"Datetime_H":{"type":"string","description":"The date and time formatted as YYYY-MM-DD HH:MM:SS (UTC time). This field only appears when window=block or window=hour is used."}}},"paths":{"/btc/flow-indicator/exchange-inflow-age-distribution":{"get":{"tags":["BTC Flow Indicator"],"summary":"Exchange Inflow Age Distribution","description":"Exchange Inflow Age Distribution is a set of active inflow to exchanges with age bands. This indicator summarizes the behaviors of long-term or short-term holders flowed into the exchanges. We provide the distribution values in native and percent values.\n","operationId":"getExchangeInflowAgeDistribution","parameters":[{"$ref":"#/components/parameters/exchange"},{"$ref":"#/components/parameters/window_dbh"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/exchange-inflow-age-distribution"}}}}}}
```

## Exchange Inflow Supply Distribution

> Exchange Inflow Supply Distribution is a set of active inflow to exchanges with balance (supply) bands. This indicator summarizes the behaviors of whales or retails flowed into the exchanges, separated by amount of coins they hold along with price actions. We provide the distribution values in native and percent values.<br>

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"BTC Flow Indicator","description":"This namespace contains endpoints to retrieve Fund Flow ratio, Miners' Position Index(MPI), and etc. We provide certain indicators to avoid any risks, assume upside or downside potentials, and give insights on the value of bitcoin. For more detailed information, please refer to the description of each metric.\n\n<br>\n\n> **Note:**  This endpoint does not support Point-In-Time (PIT) accuracy due to periodic updates to wallet address clustering. Historical data may change as new exchange wallets are discovered, added, and validated.\n\n<br>"}],"servers":[{"url":"https://api.cryptoquant.com/v1/","description":"Default server"}],"security":[{"Access Token":[]}],"components":{"securitySchemes":{"Access Token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"For each API request, include this HTTP header:\n`Authorization` with the `Bearer {access_token}`. Bearer access token is the type of HTTP Authorization.  You have to include access token to the HTTP header and note that leading bearer is required.\nYou must include your access token in HTTP header in every request you make. The token is unique, issued for each client, and regularly changed(once a year). To obtain an access token, please [upgrade your plan](https://cryptoquant.com/pricing) to Professional or Premium plan. You'll be able to see your access token on the [API tab](https://cryptoquant.com/settings/api) of your profile page after the subscription."}},"parameters":{"exchange":{"description":"An exchange from the table that we support. [See here](#tag/BTC-Exchange-Flows).","explode":false,"in":"query","name":"exchange","required":true,"schema":{"type":"string"},"style":"form"},"window_dbh":{"description":"Currently we support `day`, `hour`, and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"from":{"description":"This defines the starting time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the earliest time.","explode":false,"in":"query","name":"from","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"to":{"description":"This defines the ending time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the latest time.","explode":false,"in":"query","name":"to","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"limit":{"description":"The maximum number of entries to return before the latest data point (or before `to` if specified). This field ranges from 1 to 100,000.","explode":false,"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100,"minimum":1,"maximum":100000},"style":"form"},"format":{"description":"A format type about return message type. Supported formats are json, csv.","explode":false,"in":"query","name":"format","required":false,"schema":{"type":"string","default":"json"},"style":"form"}},"responses":{"exchange-inflow-supply-distribution":{"description":"exchange-inflow-supply-distribution","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeInflowSupplyDistributionResponse"}}}}},"schemas":{"ExchangeInflowSupplyDistributionResponse":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window_DBH"},"data":{"type":"array","items":{"type":"object","required":["range_0_001","range_001_01","range_01_1","range_1_10","range_10_100","range_100_1k","range_1k_10k","range_10k_inf","range_0_001_percent","range_001_01_percent","range_01_1_percent","range_1_10_percent","range_10_100_percent","range_100_1k_percent","range_1k_10k_percent","range_10k_inf_percent"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"range_0_001":{"type":"decimal","description":"Sum of destroyed UTxOs with balance between 0 and 0.01 as inflow to exchanges."},"range_001_01":{"type":"decimal","description":"Sum of destroyed UTxOs with balance between 0.01 and 0.1 as inflow to exchanges."},"range_01_1":{"type":"decimal","description":"Sum of destroyed UTxOs with balance between 0.1 and 1 as inflow to exchanges."},"range_1_10":{"type":"decimal","description":"Sum of destroyed UTxOs with balance between 1 and 10 as inflow to exchanges."},"range_10_100":{"type":"decimal","description":"Sum of destroyed UTxOs with balance between 10 and 100 as inflow to exchanges."},"range_100_1k":{"type":"decimal","description":"Sum of destroyed UTxOs with balance between 100 and 1k as inflow to exchanges."},"range_1k_10k":{"type":"decimal","description":"Sum of destroyed UTxOs with balance between 1k and 10k as inflow to exchanges."},"range_10k_inf":{"type":"decimal","description":"Sum of destroyed UTxOs with balance over 10k as inflow to exchanges."},"range_0_001_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs with balance between 0 and 0.01 as inflow to exchanges."},"range_001_01_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs with balance between 0.01 and 0.1 as inflow to exchanges."},"range_01_1_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs with balance between 0.1 and 1 as inflow to exchanges."},"range_1_10_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs with balance between 1 and 10 as inflow to exchanges."},"range_10_100_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs with balance between 10 and 100 as inflow to exchanges."},"range_100_1k_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs with balance between 100 and 1k as inflow to exchanges."},"range_1k_10k_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs with balance between 1k and 10k as inflow to exchanges."},"range_10k_inf_percent":{"type":"decimal","description":"Percent sum of destroyed UTxOs with balance over 10k as inflow to exchanges."}}}}}}}},"Status":{"type":"object","description":"The status object is return with most of requests and indicates if the request was successful. If it is not successful, error information is included.","properties":{"code":{"type":"integer","format":"int32","description":"HTTP status code"},"message":{"type":"string","description":"Text description of the error or success."}},"required":["code","message"]},"Window_DBH":{"type":"string","description":"The size of window. It can be day, hour, or block, and it depends on the user request."},"Blockheight":{"type":"string","description":"The height of the block. This optional field only appears when window=block is used."},"Date":{"type":"string","description":"The date in YYYY-DD-MM. This optional field only appears when window=day is used."},"Datetime_H":{"type":"string","description":"The date and time formatted as YYYY-MM-DD HH:MM:SS (UTC time). This field only appears when window=block or window=hour is used."}}},"paths":{"/btc/flow-indicator/exchange-inflow-supply-distribution":{"get":{"tags":["BTC Flow Indicator"],"summary":"Exchange Inflow Supply Distribution","description":"Exchange Inflow Supply Distribution is a set of active inflow to exchanges with balance (supply) bands. This indicator summarizes the behaviors of whales or retails flowed into the exchanges, separated by amount of coins they hold along with price actions. We provide the distribution values in native and percent values.\n","operationId":"getExchangeInflowSupplyDistribution","parameters":[{"$ref":"#/components/parameters/exchange"},{"$ref":"#/components/parameters/window_dbh"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/exchange-inflow-supply-distribution"}}}}}}
```

## Exchange Inflow CDD (Coin Days Destroyed)

> Exchange Inflow CDD is a subset of Coin Days Destroyed (CDD) where coins are destroyed by flowing into exchanges. This indicator is noise-removed version of CDD with respect to exchange dumping signal.<br>

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"BTC Flow Indicator","description":"This namespace contains endpoints to retrieve Fund Flow ratio, Miners' Position Index(MPI), and etc. We provide certain indicators to avoid any risks, assume upside or downside potentials, and give insights on the value of bitcoin. For more detailed information, please refer to the description of each metric.\n\n<br>\n\n> **Note:**  This endpoint does not support Point-In-Time (PIT) accuracy due to periodic updates to wallet address clustering. Historical data may change as new exchange wallets are discovered, added, and validated.\n\n<br>"}],"servers":[{"url":"https://api.cryptoquant.com/v1/","description":"Default server"}],"security":[{"Access Token":[]}],"components":{"securitySchemes":{"Access Token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"For each API request, include this HTTP header:\n`Authorization` with the `Bearer {access_token}`. Bearer access token is the type of HTTP Authorization.  You have to include access token to the HTTP header and note that leading bearer is required.\nYou must include your access token in HTTP header in every request you make. The token is unique, issued for each client, and regularly changed(once a year). To obtain an access token, please [upgrade your plan](https://cryptoquant.com/pricing) to Professional or Premium plan. You'll be able to see your access token on the [API tab](https://cryptoquant.com/settings/api) of your profile page after the subscription."}},"parameters":{"exchange":{"description":"An exchange from the table that we support. [See here](#tag/BTC-Exchange-Flows).","explode":false,"in":"query","name":"exchange","required":true,"schema":{"type":"string"},"style":"form"},"window_dbh":{"description":"Currently we support `day`, `hour`, and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"from":{"description":"This defines the starting time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the earliest time.","explode":false,"in":"query","name":"from","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"to":{"description":"This defines the ending time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the latest time.","explode":false,"in":"query","name":"to","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"limit":{"description":"The maximum number of entries to return before the latest data point (or before `to` if specified). This field ranges from 1 to 100,000.","explode":false,"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100,"minimum":1,"maximum":100000},"style":"form"},"format":{"description":"A format type about return message type. Supported formats are json, csv.","explode":false,"in":"query","name":"format","required":false,"schema":{"type":"string","default":"json"},"style":"form"}},"responses":{"exchange-inflow-cdd":{"description":"exchange-inflow-cdd","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeInflowCDDResponse"}}}}},"schemas":{"ExchangeInflowCDDResponse":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window_DBH"},"data":{"type":"array","items":{"type":"object","required":["inflow_cdd"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"inflow_cdd":{"type":"decimal","description":"Coin days destroyed by flowing into exchanges."}}}}}}}},"Status":{"type":"object","description":"The status object is return with most of requests and indicates if the request was successful. If it is not successful, error information is included.","properties":{"code":{"type":"integer","format":"int32","description":"HTTP status code"},"message":{"type":"string","description":"Text description of the error or success."}},"required":["code","message"]},"Window_DBH":{"type":"string","description":"The size of window. It can be day, hour, or block, and it depends on the user request."},"Blockheight":{"type":"string","description":"The height of the block. This optional field only appears when window=block is used."},"Date":{"type":"string","description":"The date in YYYY-DD-MM. This optional field only appears when window=day is used."},"Datetime_H":{"type":"string","description":"The date and time formatted as YYYY-MM-DD HH:MM:SS (UTC time). This field only appears when window=block or window=hour is used."}}},"paths":{"/btc/flow-indicator/exchange-inflow-cdd":{"get":{"tags":["BTC Flow Indicator"],"summary":"Exchange Inflow CDD (Coin Days Destroyed)","description":"Exchange Inflow CDD is a subset of Coin Days Destroyed (CDD) where coins are destroyed by flowing into exchanges. This indicator is noise-removed version of CDD with respect to exchange dumping signal.\n","operationId":"getExchangeInflowCDD","parameters":[{"$ref":"#/components/parameters/exchange"},{"$ref":"#/components/parameters/window_dbh"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/exchange-inflow-cdd"}}}}}}
```

## Exchange Supply Ratio

> Exchange Supply Ratio is calculated as exchange reserve divided by total supply. The metric measures how much tokens are reserved in the exchange relative to total supply of the token.<br>

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"BTC Flow Indicator","description":"This namespace contains endpoints to retrieve Fund Flow ratio, Miners' Position Index(MPI), and etc. We provide certain indicators to avoid any risks, assume upside or downside potentials, and give insights on the value of bitcoin. For more detailed information, please refer to the description of each metric.\n\n<br>\n\n> **Note:**  This endpoint does not support Point-In-Time (PIT) accuracy due to periodic updates to wallet address clustering. Historical data may change as new exchange wallets are discovered, added, and validated.\n\n<br>"}],"servers":[{"url":"https://api.cryptoquant.com/v1/","description":"Default server"}],"security":[{"Access Token":[]}],"components":{"securitySchemes":{"Access Token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"For each API request, include this HTTP header:\n`Authorization` with the `Bearer {access_token}`. Bearer access token is the type of HTTP Authorization.  You have to include access token to the HTTP header and note that leading bearer is required.\nYou must include your access token in HTTP header in every request you make. The token is unique, issued for each client, and regularly changed(once a year). To obtain an access token, please [upgrade your plan](https://cryptoquant.com/pricing) to Professional or Premium plan. You'll be able to see your access token on the [API tab](https://cryptoquant.com/settings/api) of your profile page after the subscription."}},"parameters":{"exchange":{"description":"An exchange from the table that we support. [See here](#tag/BTC-Exchange-Flows).","explode":false,"in":"query","name":"exchange","required":true,"schema":{"type":"string"},"style":"form"},"window_dbh":{"description":"Currently we support `day`, `hour`, and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"from":{"description":"This defines the starting time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the earliest time.","explode":false,"in":"query","name":"from","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"to":{"description":"This defines the ending time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the latest time.","explode":false,"in":"query","name":"to","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"limit":{"description":"The maximum number of entries to return before the latest data point (or before `to` if specified). This field ranges from 1 to 100,000.","explode":false,"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100,"minimum":1,"maximum":100000},"style":"form"},"format":{"description":"A format type about return message type. Supported formats are json, csv.","explode":false,"in":"query","name":"format","required":false,"schema":{"type":"string","default":"json"},"style":"form"}},"responses":{"exchange-supply-ratio":{"description":"Ratio of reserved token in the exchange relative to total supply.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExchangeSupplyRatioResponse"}}}}},"schemas":{"ExchangeSupplyRatioResponse":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window_DBH"},"data":{"type":"array","items":{"type":"object","required":["supply_ratio"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"supply_ratio":{"type":"decimal","description":"Ratio of reserved token in the exchange relative to total supply."}}}}}}}},"Status":{"type":"object","description":"The status object is return with most of requests and indicates if the request was successful. If it is not successful, error information is included.","properties":{"code":{"type":"integer","format":"int32","description":"HTTP status code"},"message":{"type":"string","description":"Text description of the error or success."}},"required":["code","message"]},"Window_DBH":{"type":"string","description":"The size of window. It can be day, hour, or block, and it depends on the user request."},"Blockheight":{"type":"string","description":"The height of the block. This optional field only appears when window=block is used."},"Date":{"type":"string","description":"The date in YYYY-DD-MM. This optional field only appears when window=day is used."},"Datetime_H":{"type":"string","description":"The date and time formatted as YYYY-MM-DD HH:MM:SS (UTC time). This field only appears when window=block or window=hour is used."}}},"paths":{"/btc/flow-indicator/exchange-supply-ratio":{"get":{"tags":["BTC Flow Indicator"],"summary":"Exchange Supply Ratio","description":"Exchange Supply Ratio is calculated as exchange reserve divided by total supply. The metric measures how much tokens are reserved in the exchange relative to total supply of the token.\n","operationId":"getExchangeSupplyRatio","parameters":[{"$ref":"#/components/parameters/exchange"},{"$ref":"#/components/parameters/window_dbh"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/exchange-supply-ratio"}}}}}}
```

## Miner Supply Ratio

> Miner Supply Ratio is calculated as miner reserve divided by total supply. The metric measures how much tokens are reserved in the miner relative to total supply of the token.<br>

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"BTC Flow Indicator","description":"This namespace contains endpoints to retrieve Fund Flow ratio, Miners' Position Index(MPI), and etc. We provide certain indicators to avoid any risks, assume upside or downside potentials, and give insights on the value of bitcoin. For more detailed information, please refer to the description of each metric.\n\n<br>\n\n> **Note:**  This endpoint does not support Point-In-Time (PIT) accuracy due to periodic updates to wallet address clustering. Historical data may change as new exchange wallets are discovered, added, and validated.\n\n<br>"}],"servers":[{"url":"https://api.cryptoquant.com/v1/","description":"Default server"}],"security":[{"Access Token":[]}],"components":{"securitySchemes":{"Access Token":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"For each API request, include this HTTP header:\n`Authorization` with the `Bearer {access_token}`. Bearer access token is the type of HTTP Authorization.  You have to include access token to the HTTP header and note that leading bearer is required.\nYou must include your access token in HTTP header in every request you make. The token is unique, issued for each client, and regularly changed(once a year). To obtain an access token, please [upgrade your plan](https://cryptoquant.com/pricing) to Professional or Premium plan. You'll be able to see your access token on the [API tab](https://cryptoquant.com/settings/api) of your profile page after the subscription."}},"parameters":{"miner":{"description":"A mining pool from the table that we support. [See here](#tag/BTC-Miner-Flows).","explode":false,"in":"query","name":"miner","required":true,"schema":{"type":"string"},"style":"form"},"window_dbh":{"description":"Currently we support `day`, `hour`, and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"from":{"description":"This defines the starting time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the earliest time.","explode":false,"in":"query","name":"from","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"to":{"description":"This defines the ending time for which data will be gathered, formatted as YYYYMMDDTHHMMSS (indicating YYYY-MM-DDTHH:MM:SS, UTC time). If window=day is used, it can also be formatted as YYYYMMDD (date). If window=block is used, you can also specify the exact block height (e.g. 510000). If this field is not specified, response will include data from the latest time.","explode":false,"in":"query","name":"to","required":false,"schema":{"YYYYMMDDTHHMMSS":{"type":"string"}},"style":"form"},"limit":{"description":"The maximum number of entries to return before the latest data point (or before `to` if specified). This field ranges from 1 to 100,000.","explode":false,"in":"query","name":"limit","required":false,"schema":{"type":"integer","default":100,"minimum":1,"maximum":100000},"style":"form"},"format":{"description":"A format type about return message type. Supported formats are json, csv.","explode":false,"in":"query","name":"format","required":false,"schema":{"type":"string","default":"json"},"style":"form"}},"responses":{"miner-supply-ratio":{"description":"Ratio of reserved token in the miner relative to total supply.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MinerSupplyRatioResponse"}}}}},"schemas":{"MinerSupplyRatioResponse":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window_DBH"},"data":{"type":"array","items":{"type":"object","required":["supply_ratio"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"supply_ratio":{"type":"decimal","description":"Ratio of reserved token in the miner relative to total supply."}}}}}}}},"Status":{"type":"object","description":"The status object is return with most of requests and indicates if the request was successful. If it is not successful, error information is included.","properties":{"code":{"type":"integer","format":"int32","description":"HTTP status code"},"message":{"type":"string","description":"Text description of the error or success."}},"required":["code","message"]},"Window_DBH":{"type":"string","description":"The size of window. It can be day, hour, or block, and it depends on the user request."},"Blockheight":{"type":"string","description":"The height of the block. This optional field only appears when window=block is used."},"Date":{"type":"string","description":"The date in YYYY-DD-MM. This optional field only appears when window=day is used."},"Datetime_H":{"type":"string","description":"The date and time formatted as YYYY-MM-DD HH:MM:SS (UTC time). This field only appears when window=block or window=hour is used."}}},"paths":{"/btc/flow-indicator/miner-supply-ratio":{"get":{"tags":["BTC Flow Indicator"],"summary":"Miner Supply Ratio","description":"Miner Supply Ratio is calculated as miner reserve divided by total supply. The metric measures how much tokens are reserved in the miner relative to total supply of the token.\n","operationId":"getMinerSupplyRatio","parameters":[{"$ref":"#/components/parameters/miner"},{"$ref":"#/components/parameters/window_dbh"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/miner-supply-ratio"}}}}}}
```
