# XRP Entity Flows

This namespace contains endpoints to retrieve metrics related to XRP Entity Flows. Currently, We only supports Exchanges for available entities

#### Supported Exchanges

| Name       |
| ---------- |
| Binance    |
| Bitfinex   |
| Bitget     |
| Bithumb    |
| Bitstamp   |
| Bybit      |
| Gate.io    |
| HTX Global |
| Kucoin     |
| OKX        |
| Upbit      |

<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>

## Reserve

> This endpoint returns the full historical on-chain balance of xrp ledger entities.

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"XRP Entity Flows","description":"This namespace contains endpoints to retrieve metrics related to XRP Entity Flows.\nCurrently, We only supports Exchanges for available entities\n\n### Supported Exchanges\n| Name       |\n|------------|\n| Binance    |\n| Bitfinex   |\n| Bitget     |\n| Bithumb    |\n| Bitstamp   |\n| Bybit      |\n| Gate.io    |\n| HTX Global |\n| Kucoin     |\n| OKX        |\n| Upbit      |\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_dh10min":{"description":"Currently, we support `day`, `hour`, and `10min`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"exchange_xrp":{"description":"An exchange from the table that we support. [See here](#tag/XRP-Entity-Flows).","explode":false,"in":"query","name":"exchange","required":false,"schema":{"type":"string"},"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":{"responses_Reserve-5":{"description":"The amount of XRP on a given entity on this window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/schemas_ReserveResponse-5"}}}}},"schemas":{"schemas_ReserveResponse-5":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window_10MDH"},"data":{"type":"array","items":{"type":"object","required":["reserve","reserve_usd"],"properties":{"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime"},"reserve":{"type":"decimal","description":"The amount of BTC on a given bank."},"reserve_usd":{"type":"decimal","description":"The USD value of BTC held by an bank."}}}}}}}},"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_10MDH":{"type":"string","description":"The size of window. It can be day, hour, or 10min and it depends on the user request."},"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":{"/xrp/entity-flows/reserve":{"get":{"tags":["XRP Entity Flows"],"summary":"Reserve","description":"This endpoint returns the full historical on-chain balance of xrp ledger entities.","operationId":"XRPgetReserveEF","parameters":[{"$ref":"#/components/parameters/window_dh10min"},{"$ref":"#/components/parameters/exchange_xrp"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/responses_Reserve-5"}}}}}}
```

## Share

> This metric is calculated by dividing XRP holdings of the entity by the total supply

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"XRP Entity Flows","description":"This namespace contains endpoints to retrieve metrics related to XRP Entity Flows.\nCurrently, We only supports Exchanges for available entities\n\n### Supported Exchanges\n| Name       |\n|------------|\n| Binance    |\n| Bitfinex   |\n| Bitget     |\n| Bithumb    |\n| Bitstamp   |\n| Bybit      |\n| Gate.io    |\n| HTX Global |\n| Kucoin     |\n| OKX        |\n| Upbit      |\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_dh":{"description":"Currently, we support `day` and `hour`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"exchange_xrp":{"description":"An exchange from the table that we support. [See here](#tag/XRP-Entity-Flows).","explode":false,"in":"query","name":"exchange","required":false,"schema":{"type":"string"},"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":{"share":{"description":"The amount of XRP on a given entity on this window.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareResponse"}}}}},"schemas":{"ShareResponse":{"type":"object","required":["status","result"],"properties":{"status":{"$ref":"#/components/schemas/Status"},"result":{"type":"object","required":["window","data"],"properties":{"window":{"$ref":"#/components/schemas/Window_DH"},"data":{"type":"array","items":{"type":"object","required":["share"],"properties":{"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime"},"share":{"type":"decimal","description":"The % of XRP held by an entity."}}}}}}}},"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_DH":{"type":"string","description":"The size of window. It can be day or hour, and it depends on the user request."},"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":{"/xrp/entity-flows/share":{"get":{"tags":["XRP Entity Flows"],"summary":"Share","description":"This metric is calculated by dividing XRP holdings of the entity by the total supply","operationId":"XRPgetShareEF","parameters":[{"$ref":"#/components/parameters/window_dh"},{"$ref":"#/components/parameters/exchange_xrp"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/share"}}}}}}
```

## Transactions Count

> This endpoint returns the number of transactions flowing in/out of XRP Entities.

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"XRP Entity Flows","description":"This namespace contains endpoints to retrieve metrics related to XRP Entity Flows.\nCurrently, We only supports Exchanges for available entities\n\n### Supported Exchanges\n| Name       |\n|------------|\n| Binance    |\n| Bitfinex   |\n| Bitget     |\n| Bithumb    |\n| Bitstamp   |\n| Bybit      |\n| Gate.io    |\n| HTX Global |\n| Kucoin     |\n| OKX        |\n| Upbit      |\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_dbh":{"description":"Currently we support `day`, `hour`, and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"exchange_xrp":{"description":"An exchange from the table that we support. [See here](#tag/XRP-Entity-Flows).","explode":false,"in":"query","name":"exchange","required":false,"schema":{"type":"string"},"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":{"TransactionsCountXRPEF":{"description":"transactions_count_inflow, transactions_count_outflow","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionsCountXRPEFResponse"}}}}},"schemas":{"TransactionsCountXRPEFResponse":{"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":["transactions_count_deposit","transactions_count_withdraw"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"transactions_count_deposit":{"type":"decimal","description":"The number of transactions sent to the entity."},"transactions_count_withdraw":{"type":"decimal","description":"The number of transactions sent from the entity."}}}}}}}},"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":{"/xrp/entity-flows/transactions-count":{"get":{"tags":["XRP Entity Flows"],"summary":"Transactions Count","description":"This endpoint returns the number of transactions flowing in/out of XRP Entities.","operationId":"XRPgetTransactionsCountEF","parameters":[{"$ref":"#/components/parameters/window_dbh"},{"$ref":"#/components/parameters/exchange_xrp"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/TransactionsCountXRPEF"}}}}}}
```

## Inflow

> This endpoint returns the inflow of XRP into entity address for as far back as we track.

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"XRP Entity Flows","description":"This namespace contains endpoints to retrieve metrics related to XRP Entity Flows.\nCurrently, We only supports Exchanges for available entities\n\n### Supported Exchanges\n| Name       |\n|------------|\n| Binance    |\n| Bitfinex   |\n| Bitget     |\n| Bithumb    |\n| Bitstamp   |\n| Bybit      |\n| Gate.io    |\n| HTX Global |\n| Kucoin     |\n| OKX        |\n| Upbit      |\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_dbh":{"description":"Currently we support `day`, `hour`, and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"exchange_xrp":{"description":"An exchange from the table that we support. [See here](#tag/XRP-Entity-Flows).","explode":false,"in":"query","name":"exchange","required":false,"schema":{"type":"string"},"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":{"XRPInflow":{"description":"inflow, inflow_usd","content":{"application/json":{"schema":{"$ref":"#/components/schemas/XRPInflowResponse"}}}}},"schemas":{"XRPInflowResponse":{"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","inflow_usd"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"inflow":{"type":"decimal","description":"The total amount of XRP that transferred to the entity"},"inflow_usd":{"type":"decimal","description":"The total amount of XRP that transferred to the entity denominated in dollars"}}}}}}}},"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":{"/xrp/entity-flows/inflow":{"get":{"tags":["XRP Entity Flows"],"summary":"Inflow","description":"This endpoint returns the inflow of XRP into entity address for as far back as we track.","operationId":"XRPgetInflowEF","parameters":[{"$ref":"#/components/parameters/window_dbh"},{"$ref":"#/components/parameters/exchange_xrp"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/XRPInflow"}}}}}}
```

## Outflow

> This endpoint returns the outflow of XRP out of entity address for as far back as we track.

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"XRP Entity Flows","description":"This namespace contains endpoints to retrieve metrics related to XRP Entity Flows.\nCurrently, We only supports Exchanges for available entities\n\n### Supported Exchanges\n| Name       |\n|------------|\n| Binance    |\n| Bitfinex   |\n| Bitget     |\n| Bithumb    |\n| Bitstamp   |\n| Bybit      |\n| Gate.io    |\n| HTX Global |\n| Kucoin     |\n| OKX        |\n| Upbit      |\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_dbh":{"description":"Currently we support `day`, `hour`, and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"exchange_xrp":{"description":"An exchange from the table that we support. [See here](#tag/XRP-Entity-Flows).","explode":false,"in":"query","name":"exchange","required":false,"schema":{"type":"string"},"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":{"XRPOutflow":{"description":"outflow, outflow_usd","content":{"application/json":{"schema":{"$ref":"#/components/schemas/XRPOutflowResponse"}}}}},"schemas":{"XRPOutflowResponse":{"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":["outflow","outflow_usd"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"outflow":{"type":"decimal","description":"The total amount of XRP that transferred out of the entity"},"outflow_usd":{"type":"decimal","description":"The total amount of XRP that transferred out of the entity denominated in dollars"}}}}}}}},"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":{"/xrp/entity-flows/outflow":{"get":{"tags":["XRP Entity Flows"],"summary":"Outflow","description":"This endpoint returns the outflow of XRP out of entity address for as far back as we track.","operationId":"XRPgetOutflowEF","parameters":[{"$ref":"#/components/parameters/window_dbh"},{"$ref":"#/components/parameters/exchange_xrp"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/XRPOutflow"}}}}}}
```

## Addresses Count

> This endpoint returns the number of addresses involved in inflow/outflow transactions.

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"XRP Entity Flows","description":"This namespace contains endpoints to retrieve metrics related to XRP Entity Flows.\nCurrently, We only supports Exchanges for available entities\n\n### Supported Exchanges\n| Name       |\n|------------|\n| Binance    |\n| Bitfinex   |\n| Bitget     |\n| Bithumb    |\n| Bitstamp   |\n| Bybit      |\n| Gate.io    |\n| HTX Global |\n| Kucoin     |\n| OKX        |\n| Upbit      |\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_dbh":{"description":"Currently we support `day`, `hour`, and `block`.","explode":false,"in":"query","name":"window","schema":{"type":"string","default":"day"},"style":"form"},"exchange_xrp":{"description":"An exchange from the table that we support. [See here](#tag/XRP-Entity-Flows).","explode":false,"in":"query","name":"exchange","required":false,"schema":{"type":"string"},"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":{"XRPAddressesCountEF":{"description":"The number of addresses evoking inflow/outflow transactions to bank wallets","content":{"application/json":{"schema":{"$ref":"#/components/schemas/XRPAddressesCountEFResponse"}}}}},"schemas":{"XRPAddressesCountEFResponse":{"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":["addresses_count_deposit","addresses_count_withdraw"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"addresses_count_deposit":{"type":"decimal","description":"The number of addresses evoking inflow transactions to entity"},"addresses_count_withdraw":{"type":"decimal","description":"The number of addresses evoking outflow transactions from entity"}}}}}}}},"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":{"/xrp/entity-flows/addresses-count":{"get":{"tags":["XRP Entity Flows"],"summary":"Addresses Count","description":"This endpoint returns the number of addresses involved in inflow/outflow transactions.","operationId":"XRPgetAddressesCountEF","parameters":[{"$ref":"#/components/parameters/window_dbh"},{"$ref":"#/components/parameters/exchange_xrp"},{"$ref":"#/components/parameters/from"},{"$ref":"#/components/parameters/to"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/format"}],"responses":{"200":{"$ref":"#/components/responses/XRPAddressesCountEF"}}}}}}
```

## Whale Movements

> This endpoint returns the number of transactions involved in inflow/outflow transactions and the transfer volume

```json
{"openapi":"3.0.0","info":{"title":"CryptoQuant Data API","version":"1.3.0"},"tags":[{"name":"XRP Entity Flows","description":"This namespace contains endpoints to retrieve metrics related to XRP Entity Flows.\nCurrently, We only supports Exchanges for available entities\n\n### Supported Exchanges\n| Name       |\n|------------|\n| Binance    |\n| Bitfinex   |\n| Bitget     |\n| Bithumb    |\n| Bitstamp   |\n| Bybit      |\n| Gate.io    |\n| HTX Global |\n| Kucoin     |\n| OKX        |\n| Upbit      |\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_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":{"WhaleMovements":{"description":"The number of transaction evoking inflow/outflow transactions to Whale address","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhaleMovements"}}}}},"schemas":{"WhaleMovements":{"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":["transaction_counts","volume"],"properties":{"blockheight":{"$ref":"#/components/schemas/Blockheight"},"date":{"$ref":"#/components/schemas/Date"},"datetime":{"$ref":"#/components/schemas/Datetime_H"},"transaction_counts":{"type":"Integer","description":"The number of transactions to/from whale"},"volume":{"type":"decimal","description":"transaction volume to/from whale"}}}}}}}},"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":{"/xrp/entity-flows/whale-movements":{"get":{"tags":["XRP Entity Flows"],"summary":"Whale Movements","description":"This endpoint returns the number of transactions involved in inflow/outflow transactions and the transfer volume","operationId":"XRPgetWhaleMovements","parameters":[{"$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/WhaleMovements"}}}}}}
```
