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.
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.
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‣
For each API request, include this HTTP header:
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.
You 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 to Professional or Premium plan. You'll be able to see your access token on the API tab of your profile page after the subscription.
Currently, we only support day.
dayExample: dayThis 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.
20191001T100000This 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.
20191001T103025The maximum number of entries to return before the latest data point (or before to if specified). This field ranges from 1 to 100,000.
100Example: 100A format type about return message type. Supported formats are json, csv.
jsonExample: jsonMiners' Position Index
curl "https://api.cryptoquant.com/v1/btc/flow-indicator/mpi?window=day&from=20191001&limit=2"Miners' Position Index
{
"status": {
"code": 200,
"message": "success"
},
"result": {
"window": "day",
"data": [
{
"date": "2019-10-02",
"mpi": null
},
{
"date": "2019-10-01",
"mpi": null
}
]
}
}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.
For each API request, include this HTTP header:
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.
You 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 to Professional or Premium plan. You'll be able to see your access token on the API tab of your profile page after the subscription.
Currently we support day, hour, and block.
dayExample: dayThis 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.
20191001T100000This 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.
20191001T103025The maximum number of entries to return before the latest data point (or before to if specified). This field ranges from 1 to 100,000.
100Example: 100A format type about return message type. Supported formats are json, csv.
jsonExample: jsonExchange Shutdown Index
curl "https://api.cryptoquant.com/v1/btc/flow-indicator/exchange-shutdown-index?exchange=binance&window=day&from=20191001&limit=2"Exchange Shutdown Index
{
"status": {
"code": 200,
"message": "success"
},
"result": {
"window": "day",
"data": [
{
"date": "2019-10-02",
"is_shutdown": null
},
{
"date": "2019-10-01",
"is_shutdown": null
}
]
}
}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.
For each API request, include this HTTP header:
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.
You 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 to Professional or Premium plan. You'll be able to see your access token on the API tab of your profile page after the subscription.
Currently we support day, hour, and block.
dayExample: dayThis 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.
20191001T100000This 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.
20191001T103025The maximum number of entries to return before the latest data point (or before to if specified). This field ranges from 1 to 100,000.
100Example: 100A format type about return message type. Supported formats are json, csv.
jsonExample: jsonThe total BTC amount of top 10 inflow amount divided by the total BTC amount flowed into exchange
curl "https://api.cryptoquant.com/v1/btc/flow-indicator/exchange-whale-ratio?exchange=binance&window=day&from=20191001&limit=2"The total BTC amount of top 10 inflow amount divided by the total BTC amount flowed into exchange
{
"status": {
"code": 200,
"message": "success"
},
"result": {
"window": "day",
"data": [
{
"date": "2019-10-02",
"exchange_whale_ratio": null
},
{
"date": "2019-10-01",
"exchange_whale_ratio": null
}
]
}
}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.
For each API request, include this HTTP header:
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.
You 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 to Professional or Premium plan. You'll be able to see your access token on the API tab of your profile page after the subscription.
Currently we support day and block.
dayExample: dayThis 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.
20191001T100000This 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.
20191001T103025The maximum number of entries to return before the latest data point (or before to if specified). This field ranges from 1 to 100,000.
100Example: 100A format type about return message type. Supported formats are json, csv.
jsonExample: jsonThe total BTC inflow and outflow of exchange divided by the total BTC transferred on the Bitcoin network.
curl "https://api.cryptoquant.com/v1/btc/flow-indicator/fund-flow-ratio?exchange=binance&window=day&from=20191001&limit=2"The total BTC inflow and outflow of exchange divided by the total BTC transferred on the Bitcoin network.
{
"status": {
"code": 200,
"message": "success"
},
"result": {
"window": "day",
"data": [
{
"date": "2019-10-02",
"fund_flow_ratio": null
},
{
"date": "2019-10-01",
"fund_flow_ratio": null
}
]
}
}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).
Note: This endpoint supports a maximum of 1,000 entries per request.
For each API request, include this HTTP header:
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.
You 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 to Professional or Premium plan. You'll be able to see your access token on the API tab of your profile page after the subscription.
An exchange that supports both BTC and Stablecoins. See here for BTC and for Stablecoins.
binanceCurrently, we support day and hour.
dayExample: dayThis 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.
20191001T100000This 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.
20191001T103025The maximum number of entries to return before the latest data point (or before to if specified). This field ranges from 1 to 1000.
100Example: 100A format type about return message type. Supported formats are json, csv.
jsonExample: jsonTotal BTC reserve divided by all stablecoins reserve held by an exchange.
curl "https://api.cryptoquant.com/v1/btc/flow-indicator/stablecoins-ratio?exchange=binance&window=day&from=20191001&limit=2"Total BTC reserve divided by all stablecoins reserve held by an exchange.
{
"status": {
"code": 200,
"message": "success"
},
"result": {
"window": "day",
"data": [
{
"date": "2019-10-02",
"stablecoins_ratio": null,
"stablecoins_ratio_usd": null
},
{
"date": "2019-10-01",
"stablecoins_ratio": null,
"stablecoins_ratio_usd": null
}
]
}
}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.
For each API request, include this HTTP header:
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.
You 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 to Professional or Premium plan. You'll be able to see your access token on the API tab of your profile page after the subscription.
Currently we support day, hour, and block.
dayExample: dayThis 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.
20191001T100000This 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.
20191001T103025The maximum number of entries to return before the latest data point (or before to if specified). This field ranges from 1 to 100,000.
100Example: 100A format type about return message type. Supported formats are json, csv.
jsonExample: jsonexchange-inflow-age-distribution
curl "https://api.cryptoquant.com/v1/btc/flow-indicator/exchange-inflow-age-distribution?exchange=binance&window=day&from=20191001&limit=2"exchange-inflow-age-distribution
{
"status": {
"code": 200,
"message": "success"
},
"result": {
"window": "day",
"data": [
{
"date": "2019-10-02",
"range_0d_1d": null,
"range_1d_1w": null,
"range_1w_1m": null,
"range_1m_3m": null,
"range_3m_6m": null,
"range_6m_12m": null,
"range_12m_18m": null,
"range_18m_2y": null,
"range_2y_3y": null,
"range_3y_5y": null,
"range_5y_7y": null,
"range_7y_10y": null,
"range_10y_inf": null,
"range_0d_1d_percent": null,
"range_1d_1w_percent": null,
"range_1w_1m_percent": null,
"range_1m_3m_percent": null,
"range_3m_6m_percent": null,
"range_6m_12m_percent": null,
"range_12m_18m_percent": null,
"range_18m_2y_percent": null,
"range_2y_3y_percent": null,
"range_3y_5y_percent": null,
"range_5y_7y_percent": null,
"range_7y_10y_percent": null,
"range_10y_inf_percent": null
},
{
"date": "2019-10-01",
"range_0d_1d": null,
"range_1d_1w": null,
"range_1w_1m": null,
"range_1m_3m": null,
"range_3m_6m": null,
"range_6m_12m": null,
"range_12m_18m": null,
"range_18m_2y": null,
"range_2y_3y": null,
"range_3y_5y": null,
"range_5y_7y": null,
"range_7y_10y": null,
"range_10y_inf": null,
"range_0d_1d_percent": null,
"range_1d_1w_percent": null,
"range_1w_1m_percent": null,
"range_1m_3m_percent": null,
"range_3m_6m_percent": null,
"range_6m_12m_percent": null,
"range_12m_18m_percent": null,
"range_18m_2y_percent": null,
"range_2y_3y_percent": null,
"range_3y_5y_percent": null,
"range_5y_7y_percent": null,
"range_7y_10y_percent": null,
"range_10y_inf_percent": null
}
]
}
}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.
For each API request, include this HTTP header:
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.
You 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 to Professional or Premium plan. You'll be able to see your access token on the API tab of your profile page after the subscription.
Currently we support day, hour, and block.
dayExample: dayThis 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.
20191001T100000This 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.
20191001T103025The maximum number of entries to return before the latest data point (or before to if specified). This field ranges from 1 to 100,000.
100Example: 100A format type about return message type. Supported formats are json, csv.
jsonExample: jsonexchange-inflow-supply-distribution
curl "https://api.cryptoquant.com/v1/btc/flow-indicator/exchange-inflow-supply-distribution?exchange=binance&window=day&from=20191001&limit=2"exchange-inflow-supply-distribution
{
"status": {
"code": 200,
"message": "success"
},
"result": {
"window": "day",
"data": [
{
"date": "2019-10-02",
"range_0_001": null,
"range_001_01": null,
"range_01_1": null,
"range_1_10": null,
"range_10_100": null,
"range_100_1k": null,
"range_1k_10k": null,
"range_10k_inf": null,
"range_0_001_percent": null,
"range_001_01_percent": null,
"range_01_1_percent": null,
"range_1_10_percent": null,
"range_10_100_percent": null,
"range_100_1k_percent": null,
"range_1k_10k_percent": null,
"range_10k_inf_percent": null
},
{
"date": "2019-10-01",
"range_0_001": null,
"range_001_01": null,
"range_01_1": null,
"range_1_10": null,
"range_10_100": null,
"range_100_1k": null,
"range_1k_10k": null,
"range_10k_inf": null,
"range_0_001_percent": null,
"range_001_01_percent": null,
"range_01_1_percent": null,
"range_1_10_percent": null,
"range_10_100_percent": null,
"range_100_1k_percent": null,
"range_1k_10k_percent": null,
"range_10k_inf_percent": null
}
]
}
}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.
For each API request, include this HTTP header:
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.
You 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 to Professional or Premium plan. You'll be able to see your access token on the API tab of your profile page after the subscription.
Currently we support day, hour, and block.
dayExample: dayThis 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.
20191001T100000This 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.
20191001T103025The maximum number of entries to return before the latest data point (or before to if specified). This field ranges from 1 to 100,000.
100Example: 100A format type about return message type. Supported formats are json, csv.
jsonExample: jsonexchange-inflow-cdd
curl "https://api.cryptoquant.com/v1/btc/flow-indicator/exchange-inflow-cdd?exchange=binance&window=day&from=20191001&limit=2"exchange-inflow-cdd
{
"status": {
"code": 200,
"message": "success"
},
"result": {
"window": "day",
"data": [
{
"date": "2019-10-02",
"inflow_cdd": null
},
{
"date": "2019-10-01",
"inflow_cdd": null
}
]
}
}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.
For each API request, include this HTTP header:
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.
You 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 to Professional or Premium plan. You'll be able to see your access token on the API tab of your profile page after the subscription.
Currently we support day, hour, and block.
dayExample: dayThis 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.
20191001T100000This 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.
20191001T103025The maximum number of entries to return before the latest data point (or before to if specified). This field ranges from 1 to 100,000.
100Example: 100A format type about return message type. Supported formats are json, csv.
jsonExample: jsonRatio of reserved token in the exchange relative to total supply.
curl "https://api.cryptoquant.com/v1/btc/flow-indicator/exchange-supply-ratio?exchange=binance&window=day&from=20191001&limit=2"Ratio of reserved token in the exchange relative to total supply.
{
"status": {
"code": 200,
"message": "success"
},
"result": {
"window": "day",
"data": [
{
"date": "2019-10-02",
"exchange_supply_ratio": null
},
{
"date": "2019-10-01",
"exchange_supply_ratio": null
}
]
}
}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.
For each API request, include this HTTP header:
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.
You 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 to Professional or Premium plan. You'll be able to see your access token on the API tab of your profile page after the subscription.
Currently we support day, hour, and block.
dayExample: dayThis 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.
20191001T100000This 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.
20191001T103025The maximum number of entries to return before the latest data point (or before to if specified). This field ranges from 1 to 100,000.
100Example: 100A format type about return message type. Supported formats are json, csv.
jsonExample: jsonRatio of reserved token in the miner relative to total supply.
curl "https://api.cryptoquant.com/v1/btc/flow-indicator/miner-supply-ratio?miner=f2pool&window=day&from=20191001&limit=2"Ratio of reserved token in the miner relative to total supply.
{
"status": {
"code": 200,
"message": "success"
},
"result": {
"window": "day",
"data": [
{
"date": "2019-10-02",
"miner_supply_ratio": null
},
{
"date": "2019-10-01",
"miner_supply_ratio": null
}
]
}
}Last updated
Was this helpful?