NAV Navbar
shell

Introduction

Welcome to the TokenAnalyst API. We provide simple and powerful endpoints, which you can use to get information on basic transaction data and aggregate on-chain statistics derived directly from the blockchain. This API reference provides information on available endpoints and how to interact with them.

Authentication

TokenAnalyst uses API keys to allow access to the API. To obtain your API key contact us here .

TokenAnalyst expects for the API key to be included in all API requests to the server. You can simply include the key in the URL parameters like:

key=API_KEY

Date & Time Conventions

Throughout this API a window parameter is used to indicate the time intervals for which the data is aggregated. We currently offer daily (denoted by window=1d) and hourly (denoted by window=1h) endpoints.

Window Description
1d Data returned per day for every day historically for which data exists for the endpoint in question. The latest day returned is the last full day of data. Each day runs from 0:00:00 UTC to 23:59:59 UTC.
1h Data returned per hour for every hour for which data exists for the endpoint in question. All times are in UTC. The displayed hour in the data is the start of the hour for which the data is aggregated. For example if "hour":"22:00:00", it represents data from 22:00:00 to 22:59:59 UTC.

Bitcoin Fundamentals

BTC On-chain Volume

This endpoint returns the full historical on-chain volume of Bitcoin since it's genesis in 2009. The volume is separated into 'real' volume and 'change' volume.

Our current heuristic for 'change' related volume is for whenever BTC in a transaction is sent back to the same address that sent the BTC. The 'real' volume is simply the remainder left over after subtracting the change.

# Make sure you substitute API_KEY for your unique API key.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_volume_window_historical/last?format=json&token=btc&window=1h&from_date=2014-03-12&to_date=2014-03-12&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2014-03-12",
    "hour": "22:00:00", // not available when window 1d
    "datetime": "2014-03-12 22:00:00", // not available when window 1d
    "volume_gross": 18162.41657378,
    "volume_change": 1437.98486305,
    "volume_real": 16724.43171073,
    "volume_change_usd": 891507.43,
    "volume_real_usd": 10368645.44
  },
  {
    "date": "2014-03-12",
    "hour": "23:00:00", // not available when window 1d
    "datetime": "2014-03-12 23:00:00", // not available when window 1d
    "volume_gross": 51391.70115624,
    "volume_change": 904.51484837,
    "volume_real": 50487.18630787,
    "volume_change_usd": 560383.11,
    "volume_real_usd": 31278830.3
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_volume_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string The token you want the volume for (in this case btc)
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
volume_change decimal The total sum of BTC sent to (locked by) addresses that were also on the sending side of the same transaction
volume_change_usd decimal volume_change * price_usd
volume_gross decimal The total sum of BTC sent by (unlocked by) addresses in transactions with a timestamp that occurs on this date. Does not include coinbase rewards.
volume_real decimal volume_gross - volume_change
volume_real_usd decimal volume_real * price_usd

BTC On-chain Transaction Count

This endpoint returns the daily number of transactions on the full historical Bitcoin blockchain for every day since it's genesis in 2009.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_count_window_historical/last?format=json&token=btc&window=1h&from_date=2009-03-12&to_date=2009-03-12&limit=3&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2009-03-12",
    "hour": "21:00:00", // not available when window 1d
    "datetime": "2009-03-12 21:00:00", // not available when window 1d
    "number_of_txns": 7
  },
  {
    "date": "2009-03-12",
    "hour": "22:00:00", // not available when window 1d
    "datetime": "2009-03-12 22:00:00", // not available when window 1d
    "number_of_txns": 6
  },
  {
    "date": "2009-03-12",
    "hour": "23:00:00", // not available when window 1d
    "datetime": "2009-03-12 23:00:00", // not available when window 1d
    "number_of_txns": 5
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_count_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string The token you want the volume for (in this case btc)
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
number_of_txns integer The number of transactions included in blocks with a timestamp that occurs during this date (includes coinbase transactions)
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h

BTC Active addresses

This endpoint returns the daily number of active addresses on the Bitcoin blockchain for each day of its existence. An address is defined as 'active' if it has sent or received bitcoin in a transaction with a timestamp on that day. Only the distinct number of addresses are counted, i.e. an address which sends thousands of transactions per day is only counted once as an active_sender with the same logic applied to distinct receiving addresses.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_active_address_window_historical/last?format=json&token=btc&window=1d&from_date=2018-10-10&to_date=2018-10-18&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2018-10-17",
    "active_senders": 477052,
    "active_recipients": 490874
  },
  {
    "date": "2018-10-18",
    "active_senders": 459061,
    "active_recipients": 479728
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_active_address_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
active_senders integer The total number of distinct addresses that sent BTC in transactions with a timestamp on this date
active_recipients integer The total number of distinct addresses that received BTC in transactions with a timestamp on this date

BTC Supply

This endpoint returns the historical supply of BTC on the Bitcoin blockchain for each day of its existence. This is the sum of BTC paid out in coinbase rewards.

Since there is no requirement for a miner who successfully mines a block to pay themselves any or all of the block reward, we cannot simply multiply the number of blocks by the current reward level for those block(s). There have been instances where no coinbase reward was claimed at all, meaning those bitcoins are lost from the total supply forever.

The supply generated by each mined block is the sum of the outputs (which includes the value of any coinbase reward up to the maximum permissible claimed by the miner), minus the sum of the inputs sent in that block.

This metric includes bitcoins that have been locked by so-called 'burn' addresses (addresses for which there is likely no known private key hence those bitcoins are also lost forever). An example of this is the lowest possible bitcoin address of 1111111111111111111114oLvT2.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_supply_window_historical/last?format=json&token=btc&window=1d&from_date=2016-10-10&to_date=2016-10-12&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2016-10-10",
    "supply": 15922677.2953033
  },
  {
    "date": "2016-10-11",
    "supply": 15924414.7953033
  },
  {
    "date": "2016-10-12",
    "supply": 15926214.7953033
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_supply_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
supply float The cumulative sum of bitcoins generated by mined blocks up to this date

BTC NVT

curl "https://api.tokenanalyst.io/analytics/private/v1/token_nvt_window_historical/last?format=json&token=btc&window=1d&from_date=2011-10-10&to_date=2012-09-01&limit=3&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2012-08-30",
    "marketcap_usd": 89396489.26,
    "nvt": 0.8546
  },
  {
    "date": "2012-08-31",
    "marketcap_usd": 89460189.25,
    "nvt": 1.1035
  },
  {
    "date": "2012-09-01",
    "marketcap_usd": 89533444.23,
    "nvt": 1.1367
  }
]

This endpoint returns the NVT Ratio (Network Value to Transactions Ratio) for BTC. This is the ratio of the Market Cap divided by the volume transmitted by the blockchain. Special thanks to Willy Woo and Chris Burniske for coming up with it!

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_nvt_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
marketcap_usd decimal The total USD market capitalization of BTC on this date. (price_usd * supply)
nvt decimal Ratio comprising the total BTC Market Cap divided by the on-chain volume. (marketcap_usd / volume_real_usd)

BTC Fees

curl "https://api.tokenanalyst.io/analytics/private/v1/token_fees_window_historical/last?format=json&token=btc&window=1d&from_date=2014-03-12&to_date=2014-03-15&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2014-03-14",
    "total_fee": 13.6553,
    "avg_size_bytes": 575,
    "total_fee_usd": 8480.11,
    "avg_satoshis_per_byte": 33.6015,
    "avg_fee": 0.0002,
    "avg_fee_usd": 0.12
  },
  {
    "date": "2014-03-15",
    "total_fee": 10.9136,
    "avg_size_bytes": 508,
    "total_fee_usd": 6774.36,
    "avg_satoshis_per_byte": 35.6095,
    "avg_fee": 0.0002,
    "avg_fee_usd": 0.11
  }
]

This endpoint returns the total and average fees spent on the Bitcoin network for every day of it's existence. The total_fee is denominated in Bitcoin, the price is the price of Bitcoin on that day, and the avg_fee is denominated in Bitcoin. Since fees are paid to miners as part of the coinbase transaction, these transactions are not included when calculating metrics such as the average fee per transaction (avg_fee). Before 2010 there was little activity on the blockchain besides mining, i.e. the chain was dominated by coinbase transactions.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_fees_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
total_fee decimal The total amount of fees paid by all transactions that occurred on this date. Denominated in BTC.
avg_size_bytes integer The average transaction size to the nearest byte for transactions that occurred on this date.
total_fee_usd decimal total_fee * price
avg_satoshis_per_byte integer The average number of satoshis paid per byte for transactions that occurred on this date
avg_fee decimal The average amount of fees paid per transaction that occurred on this date. Denominated in BTC.
avg_fee_usd decimal avg_fee * price_usd

BTC UTXO Age

curl "https://api.tokenanalyst.io/analytics/private/v1/token_utxo_age_window_historical/last?window=1d&exchange=binance&direction=outflow&format=json&token=btc&from_date=2019-09-01&to_date=2019-09-02&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-09-01",
    "1-3m": 0.0812,
    "12-18m": 0.1705,
    "18-24m": 0.0795,
    "1d-1w": 0.0219,
    "1w-1m": 0.0646,
    "2-3y": 0.0491,
    "3-5y": 0.0657,
    "3-6m": 0.1322,
    "5-10y": 0.1438,
    "6-12m": 0.1105,
    "<1d": 0.0131,
    ">10y": 0.0679
  },
  {
    "date": "2019-09-02",
    "1-3m": 0.0815,
    "12-18m": 0.1705,
    "18-24m": 0.0798,
    "1d-1w": 0.0226,
    "1w-1m": 0.0634,
    "2-3y": 0.0491,
    "3-5y": 0.0658,
    "3-6m": 0.1317,
    "5-10y": 0.1436,
    "6-12m": 0.1109,
    "<1d": 0.0132,
    ">10y": 0.068,
    "date": "2019-03-15"
  }
]

This endpoint returns the proportion of the current bitcoin supply held in unspent transaction outputs stratified by their age. For instance outputs in the category 12-18m are unspent outputs (UTXOs) from transactions that occurred 12-18m ago. Time is measured relative to blocktime assuming 6 blocks are generated per hour. This means that the proportion of UTXOs in the <1d category were generated less than or equal to 144 blocks ago (6 blocks * 24 hours).

The age in block height is used over the block timestamp because the block timestamp serves as a source of variation when calculating the blockhash and is only accurate to within an hour or two. By using timestamps some UTXOs could be considered older than a previously generated UTXO. By using block-age from current the blockheight, the age of utxos is strictly ordinal as blockheight is strictly sequential.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_utxo_age_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
window string 1d (no support for 1h at this time)
token string btc
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
1-3m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 1 to 3 months prior to this date.
12-18m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 12 to 18 months prior to this date.
18-24m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 18 to 24 months prior to this date.
1d-1w decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 1 day to 1 week prior to this date.
1w-1m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 1 week to 1 month prior to this date.
2-3y decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 2 to 3 years prior to this date.
3-5y decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 3 to 5 years prior to this date.
3-6m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 3 to 6 months prior to this date.
5-10y decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 5 to 10 years prior to this date.
6-12m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 6 to 12 months prior to this date.
<1d decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred less than a day prior to this date.
>10y decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred greater than 10 years prior to this date.
date string The date in YYYY-MM-DD

BTC Miner Hashrate

curl "https://api.tokenanalyst.io/analytics/private/v1/token_miner_hashrate_window_historical/last?format=json&window=1d&token=btc&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-07-22",
    "miner_name": "F2 Pool",
    "miner_daily_block_count": 19,
    "total_daily_block_count": 322,
    "miner_daily_hashrate": 8561054.749877952,
    "total_daily_hashrate": 71191928.97266929,
    "miner_daily_hashrate_pct": 12.025316455696203
  },
  {
    "date": "2019-07-22",
    "miner_name": "AntPool",
    "miner_daily_block_count": 18,
    "total_daily_block_count": 322,
    "miner_daily_hashrate": 8110472.920937006,
    "total_daily_hashrate": 71191928.97266929,
    "miner_daily_hashrate_pct": 11.392405063291138
  }
]

This endpoint returns the daily and miner specifc hashrates. The total_daily_hashrate and the miner_daily_hashrate are denominated in TH/s. The total_daily_block_count is the total number of blocks mined on a given day, and the miner_daily_block_count are the number of blocks mined by a specific miner. We do not know the identify of all miners and a lot of them are labelled as unkown and grouped together

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_miner_hashrate_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
miner_name string Human readable name of the miner in our database, if known.
miner_daily_block_count integer The total number of blocks mined by the miner on this date
total_daily_block_count integer The total number of blocks mined on the blockchain on this date.
miner_daily_hashrate decimal The hashrate contribution of the given miner for the day. Denominated in Th/s.
total_daily_hashrate decimal The hashrate of the blockchain for the day. Denominated in Th/s.
miner_daily_hashrate_pct decimal The percentage of the daily hashrate contributed by the miner. (miner_daily_hashrate/total_daily_hashrate)*100

BTC Miner Rewards

curl "https://api.tokenanalyst.io/analytics/private/v1/token_miner_rewards_window_historical/last?format=json&token=btc&window=1d&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-10-16",
    "miner_name": "unknown",
    "miner_daily_block_reward": 571.6431,
    "miner_daily_block_reward_usd": 4620304.75
  },
  {
    "date": "2019-10-16",
    "miner_name": "viaBTC",
    "miner_daily_block_reward": 164.9395,
    "miner_daily_block_reward_usd": 1333123.7
  }
]

This endpoint returns the daily coinbase rewards by miner (incl. txn fees). The miner_daily_block_reward is denomiated BTC.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_miner_rewards_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1d only. 1h not supported currently.
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
miner_name string Human readable name of the miner in our database, if known.
miner_daily_block_reward decimal The total amount of block rewards earned by this miner on this date. Denominated in BTC.
miner_daily_block_reward_usd decimal miner_daily_block_reward * price_usd

BTC Spent Outputs Profit Ratio

This endpoint returns the historical spent outputs profit ratio (SOPR) as defined by Renato Shirakashi. The data starts from 2010-10-10 when we start tracking a non-zero price for Bitcoin because UTXOs with a non-zero realised price will have an infinite profit ratio when created with an effective price of $0.

SOPR shows whether Bitcoin outputs (UTXOs) were spent at a profit or a loss by dividing their value when they are spent, by their value when they were created.

If the ratio is greater than one, this means that a UTXO was spent when it was worth more than when it was created. SOPR is calculated by adding of the USD value of the UTXOs spent in a time window, and dividing it by the sum of USD values of these UTXOs at the time when they were created. The average price of Bitcoin in a given time window is used to determine its USD value.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_sopr_window_historical/last?window=1h&limit=2&from_date=2019-10-10&to_date=2019-10-11&format=json&token=btc&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-10-11",
    "hour": "22:00:00", // not available when window 1d
    "datetime": "2010-10-11 22:00:00", // not available when window 1d
    "sopr": 0.9934
  },
  {
    "date": "2019-10-11",
    "hour": "23:00:00", // not available when window 1d
    "datetime": "2019-10-11 23:00:00", // not available when window 1d
    "sopr": 0.9943
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_sopr_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
sopr decimal The average ratio between the realised price of UTXOs spent during this time period, divided by their price at the time of creation
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h

BTC New Addresses

This endpoint returns the full historical number of unique addresses that appeared for the first time in a transaction as well as the total number of addresses on the Bitcoin network on every day throughout it's history.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_new_address_window_historical/last?format=json&token=btc&window=1d&from_date=2019-12-04&to_date=2019-12-05&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-12-04",
    "number_of_new_addresses": 395937,
    "total_number_of_addresses": 586240871
  },
  {
    "date": "2019-12-05",
    "number_of_new_addresses": 380820,
    "total_number_of_addresses": 586621691
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_new_address_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
number_of_new_addresses integer The total number of distinct addresses that appeared for the first time in a transaction on the Bitcoin network on this date
total_number_of_addresses integer The cumulative total of distinct addresses appeared for the first time in a transaction on the Bitcoin network on this date

BTC Address Balances

This endpoint returns the full historical number of unique addresses holding a given amount of bitcoin. We have bucketed the amounts of Bitcoin held into distinct categories (greater than 1, greater than 100 etc.)

curl "https://api.tokenanalyst.io/analytics/private/v1/token_address_balance_group_window_historical/last?format=json&token=btc&window=1d&from_date=2019-12-04&to_date=2019-12-05&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-12-04",
    "balance_greater_than_0": 28153270,
    "balance_greater_than_1": 778513,
    "balance_greater_than_10": 152666,
    "balance_greater_than_100": 16273,
    "balance_greater_than_1000": 2128,
    "balance_greater_than_10000": 108
  },
  {
    "date": "2019-12-05",
    "balance_greater_than_0": 28173349,
    "balance_greater_than_1": 778406,
    "balance_greater_than_10": 152705,
    "balance_greater_than_100": 16220,
    "balance_greater_than_1000": 2131,
    "balance_greater_than_10000": 107
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_address_balance_group_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
balance_greater_than_0 integer The number of unique addresses holding more than 0 BTC on this date
balance_greater_than_1 integer The number of unique addresses holding at least 1 BTC on this date
balance_greater_than_10 integer The number of unique addresses holding at least 10 BTC on this date
balance_greater_than_100 integer The number of unique addresses holding at least 100 BTC on this date
balance_greater_than_1000 integer The number of unique addresses holding at least 1000 BTC on this date
balance_greater_than_10000 integer The number of unique addresses holding at least 10000 BTC on this date

BTC UTXO Metrics

BTC UTXO Average Age

This endpoint returns the average age of the bitcoin supply at the specified date, held in unspent transaction outputs stratified by their age. For instance outputs in the category 12-18m are unspent outputs (UTXOs) from transactions that occurred 12-18m ago. Time is measured relative to blocktime assuming 6 blocks are generated per hour. This means that the proportion of UTXOs in the <1d category were generated less than or equal to 144 blocks ago (6 blocks * 24 hours).

The age in block height is used over the block timestamp because the block timestamp serves as a source of variation when calculating the blockhash and is only accurate to within an hour or two. By using timestamps some UTXOs could be considered older than a previously generated UTXO. By using block-age from current the blockheight, the age of utxos is strictly ordinal as blockheight is strictly sequential.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last?metric=avg_age&limit=2&window=1d&format=json&token=btc&key=API_KEY"

The above command returns JSON structured like this:

[
  {
   "date": "2019-10-16",
   "1-3m": 1429.2267,
   "12-18m": 10891.7902,
   "18-24m": 15520.8613,
   "1d-1w": 90.3656,
   "1w-1m": 435.0935,
   "2-3y": 21635.8451,
   "3-5y": 35142.7048,
   "3-6m": 3189.9665,
   "5-10y": 56884.8621,
   "6-12m": 6392.2049,
   "<1d": 12.0231,
   ">10y": 95228.0092
  },
  {
   "date": "2019-10-17",
   "1-3m": 1425.9911,
   "12-18m": 10888.0116,
   "18-24m": 15524.2703,
   "1d-1w": 90.6531,
   "1w-1m": 437.233,
   "2-3y": 21629.4766,
   "3-5y": 35148.2189,
   "3-6m": 3192.6356,
   "5-10y": 56902.5727,
   "6-12m": 6385.1655,
   "<1d": 11.1082,
   ">10y": 95242.9982
}
  }
]
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
metric string avg_age
window string 1d (no support for 1h at this time)
token string btc
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
<1d decimal The average age of unspent outputs (UTXOs) on this date from transactions that occurred less than a day prior to this date.
1d-1w decimal The average age of unspent outputs (UTXOs) on this date from transactions that occurred 1 day to 1 week prior to this date.
1w-1m decimal The average age of unspent outputs (UTXOs) on this date from transactions that occurred 1 week to 1 month prior to this date.
1-3m decimal The average age of unspent outputs (UTXOs) on this date from transactions that occurred 1 to 3 months prior to this date.
3-6m decimal The average age of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 6 months prior to this date.
6-12m decimal The average age of unspent outputs (UTXOs) on this date from transactions that occurred 6 to 12 months prior to this date.
12-18m decimal The average age of unspent outputs (UTXOs) on this date) from transactions that occurred 12 to 18 months prior to this date.
18-24m decimal The average age of unspent outputs (UTXOs) on this date from transactions that occurred 18 to 24 months prior to this date.
2-3y decimal The average age of unspent outputs (UTXOs) on this date from transactions that occurred 2 to 3 years prior to this date.
3-5y decimal The average age of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 5 years prior to this date.
5-10y decimal The average age of unspent outputs (UTXOs) on this date from transactions that occurred 5 to 10 years prior to this date.
>10y decimal The average age of unspent outputs (UTXOs) on this date from transactions that occurred greater than 10 years prior to this date.

BTC UTXO Average Value

This endpoint returns the average value of unspent transaction outputs (UTXOs) at the specified date, stratified by their age. For instance outputs in the category 12-18m are unspent outputs (UTXOs) from transactions that occurred 12-18m ago. Time is measured relative to blocktime assuming 6 blocks are generated per hour. This means that the average value of UTXOs in the >10y category is the average for unspent outputs that were generated 525, 600 blocks ago (6 blocks * 24 hours * 365 days * 10 years).

The age in block height is used over the block timestamp because the block timestamp serves as a source of variation when calculating the blockhash and is only accurate to within an hour or two. By using timestamps some UTXOs could be considered older than a previously generated UTXO. By using block-age from current the blockheight, the age of utxos is strictly ordinal as blockheight is strictly sequential.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last?metric=avg_value&limit=2&window=1d&format=json&token=btc&key=API_KEY"

The above command returns JSON structured like this:

[
  {
   "date": "2019-10-16",
   "1-3m": 0.3169,
   "12-18m": 0.2018,
   "18-24m": 0.3342,
   "1d-1w": 0.3745,
   "1w-1m": 0.3462,
   "2-3y": 0.2303,
   "3-5y": 0.0834,
   "3-6m": 0.2905,
   "5-10y": 0.2852,
   "6-12m": 0.3736,
   "<1d": 0.4967,
   ">10y": 50.6428
  },
  {
   "date": "2019-10-17",
   "1-3m": 0.3153,
   "12-18m": 0.2001,
   "18-24m": 0.3353,
   "1d-1w": 0.384,
   "1w-1m": 0.3132,
   "2-3y": 0.2309,
   "3-5y": 0.0834,
   "3-6m": 0.2895,
   "5-10y": 0.2848,
   "6-12m": 0.3728,
   "<1d": 0.8995,
   ">10y": 50.6194
}
  }
]
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
metric string avg_value
window string 1d (no support for 1h at this time)
token string btc
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
<1d decimal The average value of unspent outputs (UTXOs) on this date from transactions that occurred less than a day prior to this date.
1d-1w decimal The average value of unspent outputs (UTXOs) on this date from transactions that occurred 1 day to 1 week prior to this date.
1w-1m decimal The average value of unspent outputs (UTXOs) on this date from transactions that occurred 1 week to 1 month prior to this date.
1-3m decimal The average value of unspent outputs (UTXOs) on this date from transactions that occurred 1 to 3 months prior to this date.
3-6m decimal The average value of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 6 months prior to this date.
6-12m decimal The average value of unspent outputs (UTXOs) on this date from transactions that occurred 6 to 12 months prior to this date.
12-18m decimal The average value of unspent outputs (UTXOs) on this date) from transactions that occurred 12 to 18 months prior to this date.
18-24m decimal The average value of unspent outputs (UTXOs) on this date from transactions that occurred 18 to 24 months prior to this date.
2-3y decimal The average value of unspent outputs (UTXOs) on this date from transactions that occurred 2 to 3 years prior to this date.
3-5y decimal The average value of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 5 years prior to this date.
5-10y decimal The average value of unspent outputs (UTXOs) on this date from transactions that occurred 5 to 10 years prior to this date.
>10y decimal The average value of unspent outputs (UTXOs) on this date from transactions that occurred greater than 10 years prior to this date.

BTC UTXO Count

This endpoint returns the count of unspent transaction outputs (UTXOs) at the specified date, stratified by their age. For instance the category 12-18m contains the count of currently unspent outputs from transactions that occurred 12-18m ago. Time is measured relative to blocktime assuming 6 blocks are generated per hour. This means that the count of UTXOs in the <1d category were from UTXOs generated less than or equal to 144 blocks ago (6 blocks * 24 hours).

The age in block height is used over the block timestamp because the block timestamp serves as a source of variation when calculating the blockhash and is only accurate to within an hour or two. By using timestamps some UTXOs could be considered older than a previously generated UTXO. By using block-age from current the blockheight, the age of utxos is strictly ordinal as blockheight is strictly sequential.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last?metric=count&limit=2&window=1d&format=json&token=btc&key=API_KEY"

The above command returns JSON structured like this:

[
  {
   "date": "2019-10-16",
   "1-3m": 5608778,
   "12-18m": 5737941,
   "18-24m": 6219351,
   "1d-1w": 1139380,
   "1w-1m": 3060596,
   "2-3y": 7402366,
   "3-5y": 11597627,
   "3-6m": 7248319,
   "5-10y": 8067592,
   "6-12m": 6916852,
   "<1d": 349249,
   ">10y": 32772
  },
  {
   "date": "2019-10-17",
   "1-3m": 5615040,
   "12-18m": 5753489,
   "18-24m": 6214569,
   "1d-1w": 1141220,
   "1w-1m": 2987535,
   "2-3y": 7412377,
   "3-5y": 11613309,
   "3-6m": 7282144,
   "5-10y": 8071654,
   "6-12m": 6916407,
   "<1d": 323682,
   ">10y": 32815
}
  }
]
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
metric string count
window string 1d (no support for 1h at this time)
token string btc
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
<1d decimal The count of unspent outputs (UTXOs) on this date from transactions that occurred less than a day prior to this date.
1d-1w decimal The count of unspent outputs (UTXOs) on this date from transactions that occurred 1 day to 1 week prior to this date.
1w-1m decimal The count of unspent outputs (UTXOs) on this date from transactions that occurred 1 week to 1 month prior to this date.
1-3m decimal The count of unspent outputs (UTXOs) on this date from transactions that occurred 1 to 3 months prior to this date.
3-6m decimal The count of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 6 months prior to this date.
6-12m decimal The count of unspent outputs (UTXOs) on this date from transactions that occurred 6 to 12 months prior to this date.
12-18m decimal The count of unspent outputs (UTXOs) on this date) from transactions that occurred 12 to 18 months prior to this date.
18-24m decimal The count of unspent outputs (UTXOs) on this date from transactions that occurred 18 to 24 months prior to this date.
2-3y decimal The count of unspent outputs (UTXOs) on this date from transactions that occurred 2 to 3 years prior to this date.
3-5y decimal The count of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 5 years prior to this date.
5-10y decimal The count of unspent outputs (UTXOs) on this date from transactions that occurred 5 to 10 years prior to this date.
>10y decimal The count of unspent outputs (UTXOs) on this date from transactions that occurred greater than 10 years prior to this date.

BTC UTXO Median Age

This endpoint returns the median age of the bitcoin supply at the specified date, held in unspent transaction outputs stratified by their age. For instance outputs in the category 12-18m are unspent outputs (UTXOs) from transactions that occurred 12-18m ago. Time is measured relative to blocktime assuming 6 blocks are generated per hour. This means that the median age of UTXOs in the <1d category were generated less than or equal to 144 blocks ago (6 blocks * 24 hours).

The age in block height is used over the block timestamp because the block timestamp serves as a source of variation when calculating the blockhash and is only accurate to within an hour or two. By using timestamps some UTXOs could be considered older than a previously generated UTXO. By using block-age from current the blockheight, the age of utxos is strictly ordinal as blockheight is strictly sequential.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last?metric=median_age&limit=2&window=1d&format=json&token=btc&key=API_KEY"

The above command returns JSON structured like this:

[
  {
   "date": "2019-10-16",
   "1-3m": 1428.5,
   "12-18m": 10879.8333,
   "18-24m": 15663.8333,
   "1d-1w": 88.5,
   "1w-1m": 430.5,
   "2-3y": 21493.1667,
   "3-5y": 35925.1667,
   "3-6m": 3146.5,
   "5-10y": 55743.8333,
   "6-12m": 6271.8333,
   "<1d": 11.5,
   ">10y": 96415.8333
  },
  {
   "date": "2019-10-17",
   "1-3m": 1435.8333,
   "12-18m": 10885.1667,
   "18-24m": 15663.8333,
   "1d-1w": 87.3333,
   "1w-1m": 433.1667,
   "2-3y": 21482.5,
   "3-5y": 35903.8333,
   "3-6m": 3149.1667,
   "5-10y": 55765.1667,
   "6-12m": 6266.5,
   "<1d": 10.3333,
   ">10y": 96426.5
}
  }
]
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
metric string median_age
window string 1d (no support for 1h at this time)
token string btc
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
<1d decimal The median age of unspent outputs (UTXOs) on this date from transactions that occurred less than a day prior to this date.
1d-1w decimal The median age of unspent outputs (UTXOs) on this date from transactions that occurred 1 day to 1 week prior to this date.
1w-1m decimal The median age of unspent outputs (UTXOs) on this date from transactions that occurred 1 week to 1 month prior to this date.
1-3m decimal The median age of unspent outputs (UTXOs) on this date from transactions that occurred 1 to 3 months prior to this date.
3-6m decimal The median age of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 6 months prior to this date.
6-12m decimal The median age of unspent outputs (UTXOs) on this date from transactions that occurred 6 to 12 months prior to this date.
12-18m decimal The median age of unspent outputs (UTXOs) on this date) from transactions that occurred 12 to 18 months prior to this date.
18-24m decimal The median age of unspent outputs (UTXOs) on this date from transactions that occurred 18 to 24 months prior to this date.
2-3y decimal The median age of unspent outputs (UTXOs) on this date from transactions that occurred 2 to 3 years prior to this date.
3-5y decimal The median age of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 5 years prior to this date.
5-10y decimal The median age of unspent outputs (UTXOs) on this date from transactions that occurred 5 to 10 years prior to this date.
>10y decimal The median age of unspent outputs (UTXOs) on this date from transactions that occurred greater than 10 years prior to this date.

BTC UTXO Total Value

This endpoint returns the total BTC value of the bitcoin supply at the specified date, held in unspent transaction outputs stratified by their age. For instance outputs in the category 12-18m are unspent outputs (UTXOs) from transactions that occurred 12-18m ago. Time is measured relative to blocktime assuming 6 blocks are generated per hour. This means that the BTC value of UTXOs in the <1d category were generated less than or equal to 144 blocks ago (6 blocks * 24 hours).

The age in block height is used over the block timestamp because the block timestamp serves as a source of variation when calculating the blockhash and is only accurate to within an hour or two. By using timestamps some UTXOs could be considered older than a previously generated UTXO. By using block-age from current the blockheight, the age of utxos is strictly ordinal as blockheight is strictly sequential.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last?metric=total_value&limit=2&window=1d&format=json&token=btc&key=API_KEY"

The above command returns JSON structured like this:

[
  {
   "date": "2019-10-16",
   "1-3m": 1777347.3869,
   "12-18m": 1158032.9532,
   "18-24m": 2078703.5591,
   "1d-1w": 426700.584,
   "1w-1m": 1059641.5382,
   "2-3y": 1704598.3775,
   "3-5y": 967616.1339,
   "3-6m": 2105447.8466,
   "5-10y": 2300642.2641,
   "6-12m": 2584202.2294,
   "<1d": 173486.1721,
   ">10y": 1659664.5
  },
  {
   "date": "2019-10-17",
   "1-3m": 1770545.9191,
   "12-18m": 1151530.6676,
   "18-24m": 2083877.5908,
   "1d-1w": 438182.7858,
   "1w-1m": 935844.8516,
   "2-3y": 1711474.8656,
   "3-5y": 968321.7507,
   "3-6m": 2108284.9723,
   "5-10y": 2299152.7543,
   "6-12m": 2578503.3151,
   "<1d": 291163.752,
   ">10y": 1661075.32
}
  }
]
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
metric string total_value
window string 1d (no support for 1h at this time)
token string btc
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
<1d decimal The total value of unspent outputs (UTXOs) on this date from transactions that occurred less than a day prior to this date.
1d-1w decimal The total value of unspent outputs (UTXOs) on this date from transactions that occurred 1 day to 1 week prior to this date.
1w-1m decimal The total value of unspent outputs (UTXOs) on this date from transactions that occurred 1 week to 1 month prior to this date.
1-3m decimal The total value of unspent outputs (UTXOs) on this date from transactions that occurred 1 to 3 months prior to this date.
3-6m decimal The total value of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 6 months prior to this date.
6-12m decimal The total value of unspent outputs (UTXOs) on this date from transactions that occurred 6 to 12 months prior to this date.
12-18m decimal The total value of unspent outputs (UTXOs) on this date) from transactions that occurred 12 to 18 months prior to this date.
18-24m decimal The total value of unspent outputs (UTXOs) on this date from transactions that occurred 18 to 24 months prior to this date.
2-3y decimal The total value of unspent outputs (UTXOs) on this date from transactions that occurred 2 to 3 years prior to this date.
3-5y decimal The total value of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 5 years prior to this date.
5-10y decimal The total value of unspent outputs (UTXOs) on this date from transactions that occurred 5 to 10 years prior to this date.
>10y decimal The total value of unspent outputs (UTXOs) on this date from transactions that occurred greater than 10 years prior to this date.

BTC UTXO Weighted Average Age

This endpoint returns the weighted average age of the current bitcoin supply held in unspent transaction outputs stratified by their age. The weighted average age is sum of the ages of UTXOs multiplied by their bitocoinvalue, divided by the total bitcoin value in that stratum. The formula is below:

For instance outputs in the category 12-18m are unspent outputs (UTXOs) from transactions that occurred 12-18m ago. Time is measured relative to blocktime assuming 6 blocks are generated per hour. This means that the proportion of UTXOs in the <1d category were generated less than or equal to 144 blocks ago (6 blocks * 24 hours).

The age in block height is used over the block timestamp because the block timestamp serves as a source of variation when calculating the blockhash and is only accurate to within an hour or two. By using timestamps some UTXOs could be considered older than a previously generated UTXO. By using block-age from current the blockheight, the age of utxos is strictly ordinal as blockheight is strictly sequential.

curl "https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last?metric=weighted_avg_age&limit=2&window=1d&format=json&token=btc&key=API_KEY"

The above command returns JSON structured like this:

[
  {
   "date": "2019-10-16",
   "1-3m": 1545.2336,
   "12-18m": 11035.8792,
   "18-24m": 15596.1418,
   "1d-1w": 76.1194,
   "1w-1m": 451.0636,
   "2-3y": 20471.2648,
   "3-5y": 33903.6172,
   "3-6m": 3142.9224,
   "5-10y": 64551.2214,
   "6-12m": 6871.3697,
   "<1d": 10.3378,
   ">10y": 95306.9022
  },
  {
   "date": "2019-10-17",
   "1-3m": 1553.5454,
   "12-18m": 11016.0713,
   "18-24m": 15595.3426,
   "1d-1w": 78.7768,
   "1w-1m": 452.0231,
   "2-3y": 20477.4807,
   "3-5y": 33919.834,
   "3-6m": 3157.0836,
   "5-10y": 64560.6276,
   "6-12m": 6884.0698,
   "<1d": 6.1814,
   ">10y": 95325.3456
}
}
  }
]
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
metric string weighted_avg_age
window string 1d (no support for 1h at this time)
token string btc
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
<1d decimal The weighted average age of unspent outputs (UTXOs) on this date from transactions that occurred less than a day prior to this date.
1d-1w decimal The weighted average age of unspent outputs (UTXOs) on this date from transactions that occurred 1 day to 1 week prior to this date.
1w-1m decimal The weighted average age of unspent outputs (UTXOs) on this date from transactions that occurred 1 week to 1 month prior to this date.
1-3m decimal The weighted average age of unspent outputs (UTXOs) on this date from transactions that occurred 1 to 3 months prior to this date.
3-6m decimal The weighted average age of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 6 months prior to this date.
6-12m decimal The weighted average age of unspent outputs (UTXOs) on this date from transactions that occurred 6 to 12 months prior to this date.
12-18m decimal The weighted average age of unspent outputs (UTXOs) on this date) from transactions that occurred 12 to 18 months prior to this date.
18-24m decimal The weighted average age of unspent outputs (UTXOs) on this date from transactions that occurred 18 to 24 months prior to this date.
2-3y decimal The weighted average age of unspent outputs (UTXOs) on this date from transactions that occurred 2 to 3 years prior to this date.
3-5y decimal The weighted average age of unspent outputs (UTXOs) on this date from transactions that occurred 3 to 5 years prior to this date.
5-10y decimal The weighted average age of unspent outputs (UTXOs) on this date from transactions that occurred 5 to 10 years prior to this date.
>10y decimal The weighted average age of unspent outputs (UTXOs) on this date from transactions that occurred greater than 10 years prior to this date.

BTC UTXO Supply Percentage

curl "https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last?window=1d&metric=supply_pct&format=json&token=btc&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-09-01",
    "1-3m": 0.0812,
    "12-18m": 0.1705,
    "18-24m": 0.0795,
    "1d-1w": 0.0219,
    "1w-1m": 0.0646,
    "2-3y": 0.0491,
    "3-5y": 0.0657,
    "3-6m": 0.1322,
    "5-10y": 0.1438,
    "6-12m": 0.1105,
    "<1d": 0.0131,
    ">10y": 0.0679
  },
  {
    "date": "2019-09-02",
    "1-3m": 0.0815,
    "12-18m": 0.1705,
    "18-24m": 0.0798,
    "1d-1w": 0.0226,
    "1w-1m": 0.0634,
    "2-3y": 0.0491,
    "3-5y": 0.0658,
    "3-6m": 0.1317,
    "5-10y": 0.1436,
    "6-12m": 0.1109,
    "<1d": 0.0132,
    ">10y": 0.068,
    "date": "2019-03-15"
  }
]

This endpoint returns the proportion of the bitcoin supply on the specified date, held in unspent transaction outputs stratified by their age. For instance outputs in the category 12-18m are unspent outputs (UTXOs) from transactions that occurred 12-18m ago. Time is measured relative to blocktime assuming 6 blocks are generated per hour. This means that the proportion of UTXOs in the <1d category were generated less than or equal to 144 blocks ago (6 blocks * 24 hours).

The age in block height is used over the block timestamp because the block timestamp serves as a source of variation when calculating the blockhash and is only accurate to within an hour or two. By using timestamps some UTXOs could be considered older than a previously generated UTXO. By using block-age from current the blockheight, the age of utxos is strictly ordinal as blockheight is strictly sequential.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_utxo_metric_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
metric string supply_pct
window string 1d (no support for 1h at this time)
token string btc
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
1-3m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 1 to 3 months prior to this date.
12-18m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 12 to 18 months prior to this date.
18-24m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 18 to 24 months prior to this date.
1d-1w decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 1 day to 1 week prior to this date.
1w-1m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 1 week to 1 month prior to this date.
2-3y decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 2 to 3 years prior to this date.
3-5y decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 3 to 5 years prior to this date.
3-6m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 3 to 6 months prior to this date.
5-10y decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 5 to 10 years prior to this date.
6-12m decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred 6 to 12 months prior to this date.
<1d decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred less than a day prior to this date.
>10y decimal Proportion of bitcoin supply on this date held in unspent outputs (UTXOs) from transactions that occurred greater than 10 years prior to this date.
date string The date in YYYY-MM-DD

Ethereum Fundamentals

ETH On-chain Volume

curl "https://api.tokenanalyst.io/analytics/private/v1/token_volume_window_historical/last?format=json&token=eth&window=1d&from_date=2015-08-07&to_date=2015-08-08&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2015-08-07",
    "volume_internal": 39.7,
    "volume_external": 2008602.511431967,
    "volume_gross": 2008642.2114319669,
    "volume_internal_usd": 49.63,
    "volume_external_usd": 2510753.14,
    "volume_gross_usd": 2510802.76
  },
  {
    "date": "2015-08-08",
    "volume_internal": 3568.4341612339426,
    "volume_external": 1681503.1468948552,
    "volume_gross": 1685071.5810560891,
    "volume_internal_usd": 6210.56,
    "volume_external_usd": 2926516.07,
    "volume_gross_usd": 2932726.63
  }
]

This endpoint returns the full historical on-chain volume of Ethereum since it went live in 2015. The volume is separated into 'internal' volume and 'external' volume.

'Internal' transactions are transfers of ETH that are initiated by smart contracts. While contracts can't initiate transactions on their own, when certain functions are called on from the outside, the smart contract can generate transfers of ETH towards multiple addresses (other contracts and non-contract addresses). At TokenAnalyst, we track every function call and event that happens on Ethereum and thus we are able to derive an accurate 'internal' ETH on-chain volume. The 'external' transaction volume is that which can be seen on the surface by looking at the blockchain using standard web3 calls - 'normal' ETH transactions included on each block.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_volume_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string The token you want the volume for (in this case eth)
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
volume_internal decimal The total sum of ETH transferred on this date via value transfers initiated by smart contracts (see here for more)
volume_external decimal The total sum of eth transferred in transactions with a timestamp that occurs during this date.
volume_gross decimal volume_internal + volume_external
volume_internal_usd decimal volume_internal * price_usd
volume_external_usd decimal volume_external * price_usd
volume_gross_usd decimal volume_gross * price_usd

ETH On-chain Transaction Count

curl "https://api.tokenanalyst.io/analytics/private/v1/token_count_window_historical/last?format=json&token=eth&window=1d&from_date=2015-08-07&to_date=2015-08-09&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2015-08-07",
    "number_of_txns": 1975
  },
  {
    "date": "2015-08-08",
    "number_of_txns": 2036
  },
  {
    "date": "2015-08-09",
    "number_of_txns": 1249
  }
]

This endpoint returns the number of transactions, where ETH value transferred was > 0, on the full historical Ethereum blockchain for every day since its genesis in 2015. This endpoint would exclude smart contract calls or token transfers where 0 ETH was transferred between accounts.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_count_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string The token you want the volume for (in this case eth)
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
number_of_txns integer The number of transactions included in blocks with a timestamp that occurs during this date

ETH Active addresses

curl "https://api.tokenanalyst.io/analytics/private/v1/token_active_address_window_historical/last?&token=eth&format=json&from_date=2015-08-11&to_date=2015-08-12&window=1d&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2015-08-11",
    "active_senders": 2235,
    "active_recipients": 2155
  },
  {
    "date": "2015-08-12",
    "active_senders": 739,
    "active_recipients": 665
  }
]

This endpoint returns the active addresses on the Ethereum blockchain for every day of its existence. An address is defined as 'active' if it has transacted during the given day.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_active_address_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
active_senders integer The total number of distinct addresses that sent ETH in transactions with a timestamp on this date
active_recipients integer The total number of distinct addresses that received ETH in transactions with a timestamp on this date

ETH Supply

curl "https://api.tokenanalyst.io/analytics/private/v1/token_supply_window_historical/last?&token=eth&format=json&window=1d&from_date=2015-07-30&to_date=2015-07-31&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2015-07-30",
    "supply": 39311.09375
  },
  {
    "date": "2015-07-31",
    "supply": 75502.8125
  }
]

This endpoint returns the historical supply of ETH on the Ethereum blockchain for every day of its existence.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_supply_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
supply decimal The cumulative sum of ether (ETH) generated by mining and uncle rewards up to this date

ETH NVT

curl "https://api.tokenanalyst.io/analytics/private/v1/token_nvt_window_historical/last?&token=eth&format=json&window=1d&from_date=2015-09-02&to_date=2015-09-03&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2015-09-02",
    "marketcap_usd": 98056055.37,
    "nvt": 262.7
  },
  {
    "date": "2015-09-03",
    "marketcap_usd": 91877253.74,
    "nvt": 130.9
  }
]

This endpoint returns the NVT Ratio (Network Value to Transactions Ratio) for ETH. This is the ratio of the Market Cap divided by the volume transmitted by the blockchain. Special thanks to Willy Woo and Chris Burniske for coming up with it!

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_nvt_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
marketcap_usd decimal The total USD market capitalization of ETH on this date. (price_usd * supply)
nvt decimal Ratio comprising the total ETH Market Cap divided by the on-chain volume. (marketcap_usd / volume_external_usd)

ETH Fees

curl "https://api.tokenanalyst.io/analytics/private/v1/token_fees_window_historical/last?&token=eth&format=json&window=1d&from_date=2015-10-19&to_date=2015-10-20&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2015-10-19",
    "avg_gas": 32831.1236,
    "avg_gas_price_wei": 52456819761.0774,
    "total_fee": 11.699219139604072,
    "total_fee_usd": 5.85,
    "avg_fee": 0.001771535302786807,
    "avg_fee_usd": 0
  },
  {
    "date": "2015-10-20",
    "avg_gas": 32483.8972,
    "avg_gas_price_wei": 53767556518.0802,
    "total_fee": 11.527019798770482,
    "total_fee_usd": 5.65,
    "avg_fee": 0.001954726097807441,
    "avg_fee_usd": 0
  }
]

This endpoint returns the total and average fees spent on the Ethereum network for every day of it's existence. The total_fee and the avg_fee are denominated in ETH.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_fees_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
avg_gas string The average amount of gas used by transactions that occurred on this date. See here for a detailed definition of gas.
avg_gas_price_wei string The average price (in wei) paid per unit of gas for transactions that occurred on this date
total_fee string The sum of fees paid in transactions that occurred on this date. Denominated in ETH. Fees for a transaction are calculated as such: (gas used * gas price)*10^-18
total_fee_usd string total_fee * price
avg_fee string The average fee paid per transaction that occurred on this date. Denominated in ETH.
avg_fee_usd string avg_fee * price_usd

ETH Miner Hashrate

curl "https://api.tokenanalyst.io/analytics/private/v1/token_miner_hashrate_window_historical/last?format=json&token=eth&window=1d&from_date=2016-04-06&to_date=2016-04-07&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2016-04-07",
    "miner": "0xeF59F31770B101C23e69958C8FD9485Cc267FCD9",
    "miner_name": "Unknown",
    "total_daily_hashrate": 1.6977,
    "miner_daily_hashrate": 0.0006,
    "miner_daily_hashrate_pct": 0.0331,
    "miner_daily_block_count": 2,
    "miner_daily_uncle_count": 0,
    "miner_daily_uncle_pct": 0,
    "total_daily_block_count": 5953,
    "total_daily_uncle_count": 403,
    "total_daily_uncle_pct": 6.7697
  },
  {
    "date": "2016-04-07",
    "miner": "0xf8b483DbA2c3B7176a3Da549ad41A48BB3121069",
    "miner_name": "Coinotron 1",
    "total_daily_hashrate": 1.6977,
    "miner_daily_hashrate": 0.1637,
    "miner_daily_hashrate_pct": 9.6417,
    "miner_daily_block_count": 574,
    "miner_daily_uncle_count": 41,
    "miner_daily_uncle_pct": 6.6667,
    "total_daily_block_count": 5953,
    "total_daily_uncle_count": 403,
    "total_daily_uncle_pct": 6.7697
  }
]

This endpoint returns the total and miner specifc hashrate and uncle rates. The total_daily_hashrate and the miner_daily_hashrate are denominated in TH/s. The total_daily_block_count is the total number of blocks mined on a given day, and the miner_daily_block_count are the number of blocks mined by a specific miner. We do not know the identify of all miners and a lot of them are labelled as unkown

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_miner_hashrate_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
miner string Public key hash (address) of the miner
miner_name string Human readable name of the miner in our database, if known.
total_daily_hashrate decimal The hashrate of the blockchain for the day. Denominated in Th/s.
miner_daily_hashrate decimal The hashrate contribution of the given miner for the day. Denominated in Th/s.
miner_daily_hashrate_pct decimal The percentage of the daily hashrate contributed by the miner. (miner_daily_hashrate/total_daily_hashrate)*100
miner_daily_block_count integer The total number of blocks mined by the miner on this date
miner_daily_uncle_count integer The total number of uncles mined by the miner on this date
miner_daily_uncle_pct decimal (miner_daily_uncle_count/miner_daily_block_count)*100
total_daily_block_count integer The total number of blocks mined on the blockchain on this date.
total_daily_uncle_count integer The total number of uncles mined on the blockchain on this date.
total_daily_uncle_pct decimal (total_daily_uncle_count/total_daily_block_count)*100

ETH Miner Rewards

curl "https://api.tokenanalyst.io/analytics/private/v1/token_miner_rewards_window_historical/last?format=json&token=eth&from_date=2019-07-22&to_date=2019-07-23&limit=2&window=1d&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-07-23",
    "miner_name": "WaterholePool",
    "miner_daily_block_reward": 32.0625,
    "miner_daily_block_reward_usd": 6853.98,
    "miner_daily_uncle_reward": 7,
    "miner_daily_uncle_reward_usd": 1496.39
  },
  {
    "date": "2019-07-23",
    "miner_name": "zhizu.top",
    "miner_daily_block_reward": 344.5,
    "miner_daily_block_reward_usd": 73643.53,
    "miner_daily_uncle_reward": 25,
    "miner_daily_uncle_reward_usd": 5344.23
  }
]

This endpoint returns the daily block rewards and uncle rewards by miner. The miner_daily_block_reward and miner_daily_uncle_reward are denomiated ETH.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_miner_rewards_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
miner_name string Human readable name of the miner in our database, if known.
miner_daily_block_reward decimal The total amount of block rewards earned by this miner on this date. Denominated in ETH.
miner_daily_block_reward_usd decimal miner_daily_block_reward * price_usd
miner_daily_uncle_reward decimal The total amount of uncle rewards earned by this miner on this date. Denominated in ETH.
miner_daily_uncle_reward_usd decimal miner_daily_uncle_reward * price_usd

ERC20 Fundamentals

ERC20 tokens we currently support are:

Name Symbol
Maker mkr
Basic Attention Token bat
OmiseGo omg
Augur rep
Golem gnt
ZRX zrx
Decentraland mana
Numerai nmr
Tokencard tkn
Bancor bnt
Loom Network loom
Status snt
Civic cvc
Kyber Network knc
iExec RLC rlc
ChainLink link
Fetch.ai. fet

ERC20 On-chain Volume

curl "https://api.tokenanalyst.io/analytics/private/v1/token_volume_window_historical/last?format=json&token=zrx&window=1d&from_date=2017-08-13&to_date=2017-08-14&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2017-08-13",
    "volume": 82750000,
    "volume_usd": 14909136.52
  },
  {
    "date": "2017-08-14",
    "volume": 52500000,
    "volume_usd": 11388781.29
  }
]

This endpoint returns the full historical on-chain volume of any of the major ERC20 tokens that we support.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_volume_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string The token you want the volume for
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
volume decimal The total sum of ERC20 token sent by addresses in transactions with a timestamp that occurs on this date.
volume_usd decimal volume * price_usd

ERC20 On-chain Transaction Count

curl "https://api.tokenanalyst.io/analytics/private/v1/token_count_window_historical/last?format=json&token=mana&from_date=2017-09-15&to_date=2017-09-16&window=1d&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2017-09-15",
    "number_of_txns": 5512
  },
  {
    "date": "2017-09-16",
    "number_of_txns": 4822
  }
]

This endpoint returns the number of token transfers on the blockchain for the given token for every day since its existence.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_count_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string The token you want the transaction count for
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
number_of_txns integer The number of ERC20 transactions included in blocks with a timestamp that occurs on this date

ERC20 Active addresses

curl "https://api.tokenanalyst.io/analytics/private/v1/token_active_address_window_historical/last?&token=gnt&format=json&from_date=2016-11-11&to_date=2016-12&window=1d&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2016-11-11",
    "active_senders": 23,
    "active_recipients": 31
  },
  {
    "date": "2016-11-12",
    "active_senders": 332,
    "active_recipients": 23
  }
]

This endpoint returns the active addresses of ERC20 tokens for every day of their existence. An address is defined as 'active' if it has transacted during the given day.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_active_address_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string The token you want the transaction count for
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
active_senders integer The total number of distinct addresses that sent ERC20 tokens in transactions with a timestamp on this date (includes smart contracts)
active_recipients integer The total number of distinct addresses that received ERC20 tokens in transactions with a timestamp on this date (includes smart contracts)

Stablecoin Stats

The stablecoins we currently support are:

Name Symbol
Tether (Omni) usdt_omni
Tether usdt_erc20
USDC usdc
Paxos Standard Token pax
TrueUSD tusd
Gemini Dollar gusd
Dai dai

We have slightly different endpoints for Tether (usdt_omni) due to the nature of OMNI blockchian

Tether (Omni) On-chain Volume

curl "https://api.tokenanalyst.io/analytics/private/v1/token_volume_window_historical/last?format=json&token=usdt_omni&window=1h&from_date=2018-09-10&to_date=2018-09-12&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2018-09-12",
    "hour": "22:00:00", // not available when window 1d
    "datetime": "2018-09-10 22:00:00", // not available when window 1d
    "volume": 3253506.56,
    "volume_usd": 3245372.75
  },
  {
    "date": "2018-09-12",
    "hour": "23:00:00", // not available when window 1d
    "datetime": "2018-09-12 23:00:00", // not available when window 1d
    "volume": 3820308.81,
    "volume_usd": 3815724.25
  }
]

This endpoint returns the full historical on-chain volume of Tether on the OMNI blockchain since it went live on 2014-10-06. Values are calculated over the window (either 1 hour or 1 day). hour is in UTC

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_volume_window_historical/last?

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string usdt_omni
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
volume decimal The total sum of Tether (usdt_omni) sent by addresses in transactions with a timestamp that occurs within the window.
volume_usd decimal volume * price_usd

Tether (Omni) On-chain Transaction Count

curl "https://api.tokenanalyst.io/analytics/private/v1/token_count_window_historical/last?format=json&token=usdt_omni&from_date=2017-12-17&to_date=2017-12-18&limit=2&window=1h&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2017-12-18",
    "hour": "22:00:00", // not available when window 1d
    "datetime": "2017-12-18 22:00:00", // not available when window 1d
    "number_of_txns": 121
  },
  {
    "date": "2017-12-18",
    "hour": "23:00:00", // not available when window 1d
    "datetime": "2017-12-18 23:00:00", // not available when window 1d
    "number_of_txns": 89
  }
]

This endpoint returns the daily number of Tether (usdt_omni) transactions on the full Omni blockchain for every day of it's existence 2014-10-06

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_count_window_historical/last?

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string usdt_omni
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
number_of_txns integer The number of stablecoin transactions included in blocks with a timestamp that occurs on this date

Tether (Omni) Active Addresses

curl "https://api.tokenanalyst.io/analytics/private/v1/token_active_address_window_historical/last?&token=usdt_omni&format=json&from_date=2019-02-17&to_date=2019-02-18&window=1d&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-02-17",
    "active_recipients": 6320,
    "active_senders": 5860
  },
  {
    "date": "2019-02-18",
    "active_recipients": 8347,
    "active_senders": 6787
  }
]

This endpoint returns the active addresses of Tether (usdt_omni) tokens for every day of it's existence since 2014-10-06. An address is defined as 'active' if it has transacted during the given day.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_active_address_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string The stablecoin you want the transaction count for
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
active_senders integer The total number of distinct addresses that sent Tether (usdt_omni) in transactions with a timestamp on this date (includes smart contracts)
active_recipients integer The total number of distinct addresses that received Tether (usdt_omni) in transactions with a timestamp on this date (includes smart contracts)

Tether (Omni) Supply

curl "https://api.tokenanalyst.io/analytics/private/v1/token_supply_window_historical/last?&token=usdt_omni&format=json&window=1d&from_date=2019-08-14&to_date=2019-08-15&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-08-14",
    "supply": 2545000000
  },
  {
    "date": "2019-08-15",
    "supply": 2545000000
  }
]

This endpoint returns the historical supply of Tether (usdt_omni) on the OMNI blockchain for every day of it's existence.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_supply_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string usdt_omni
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
supply decimal The cumulative sum of Tether generated by minting and burning up to this date

Tether (ERC20) Supply

curl "https://api.tokenanalyst.io/analytics/private/v1/token_supply_window_historical/last?&token=usdt_erc20&format=json&window=1d&from_date=2019-06-11&to_date=2019-06-12&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-06-11",
    "supply": 800010000
  },
  {
    "date": "2019-06-12",
    "supply": 800010000
  }
]

This endpoint returns the historical supply of the Tether ERC20 token (usdt_erc20) on the Ethereum blockchain for every day of it's existence.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_supply_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string usdt_erc20
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
supply decimal The cumulative sum of Tether generated by minting and burning up to this date

Tether (Omni) NVT

curl "https://api.tokenanalyst.io/analytics/private/v1/token_nvt_window_historical/last?&token=usdt_omni&format=json&window=1d&from_date=2019-08-19&to_date=2019-08-20&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-08-19",
    "marketcap_usd": 2545000000,
    "nvt": 9.4917
  },
  {
    "date": "2019-08-20",
    "marketcap_usd": 2545000000,
    "nvt": 8.6839
  }
]

This endpoint returns the NVT Ratio (Network Value to Transactions Ratio) for Tether (usdt_omni). This is the ratio of the Market Cap divided by the volume transmitted by the blockchain. Special thanks to Willy Woo and Chris Burniske for coming up with it!

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_nvt_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string usdt_omni
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
marketcap_usd decimal The total USD market capitalization of Tether (usdt*omni) on this date. (_price_usd* * supply)
nvt decimal Ratio comprising the total Tether (usdt*omni) Market Cap divided by the on-chain volume. (_marketcap_usd* / volume_usd)

Tether (Omni) Fees

curl "https://api.tokenanalyst.io/analytics/private/v1/token_fees_window_historical/last?&token=usdt_omni&format=json&window=1d&from_date=2019-08-13&to_date=2019-08-14&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-08-13",
    "total_fee": 19.5264,
    "total_fee_usd": 19.5264,
    "avg_fee": 0.0003,
    "avg_fee_usd": 0.0003
  },
  {
    "date": "2019-08-14",
    "total_fee": 8.1131,
    "total_fee_usd": 8.1131,
    "avg_fee": 0.0002,
    "avg_fee_usd": 0.0002
  }
]

This endpoint returns the historical supply of Tether (usdt_omni) on the OMNI blockchain for every day of it's existence 2014-10-06

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_fees_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string usdt_omni
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
total_fee decimal The sum of fees paid in transactions that occurred on this date. Denominated in Tether (usdt_omni)
total_fee_usd decimal total_fee * price_usd
avg_fee decimal The average amount of fees paid per transaction that occurred on this date. Denominated in Tether (usdt_omni).
avg_fee_usd decimal avg_fee * price_usd

Stablecoin On-chain Volume

curl "https://api.tokenanalyst.io/analytics/private/v1/token_volume_window_historical/last?format=json&token=usdc&window=1d&from_date=2019-09-25&to_date=2019-09-26&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2018-09-25",
    "volume": 219830971.166091,
    "volume_usd": 219830971.17
  },
  {
    "date": "2018-09-26",
    "volume": 58031092.284338,
    "volume_usd": 58031092.28
  }
]

This endpoint returns the full historical on-chain volume of any of the stablecoins that we support.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_volume_window_historical/last?

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string The token you want the volume for
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
volume decimal The total sum of Stablecoins sent by addresses in transactions with a timestamp that occurs on this date.
volume_usd decimal volume * price_usd

Stablecoin On-chain Transaction Count

curl "https://api.tokenanalyst.io/analytics/private/v1/token_count_window_historical/last?format=json&token=dai&window=1d&from_date=2017-12-18&to_date=2017-12-20&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2017-12-18",
    "number_of_txns": 161
  },
  {
    "date": "2017-12-19",
    "number_of_txns": 599
  },
  {
    "date": "2017-12-20",
    "number_of_txns": 515
  }
]

This endpoint returns the number of token transfers on the Ethereum blockchain for the given stablecoin you select for every day of its existence.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_count_window_historical/last?

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string The stablecoin you want the transaction count for
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
number_of_txns integer The number of stablecoin transactions included in blocks with a timestamp that occurs on this date

Stablecoin Active addresses

curl "https://api.tokenanalyst.io/analytics/private/v1/token_active_address_window_historical/last?&token=usdc&format=json&window=1d&from_date=2018-11-11&to_date=2018-11-12&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2018-11-11",
    "active_senders": 67,
    "active_recipients": 67
  },
  {
    "date": "2018-11-12",
    "active_senders": 126,
    "active_recipients": 110
  }
]

This endpoint returns the active addresses of stabelecoin tokens for every day of their existence. An address is defined as 'active' if it has transacted during the given day.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_active_address_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string The stablecoin you want the transaction count for
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
active_senders integer The total number of distinct addresses that sent Stablecoins in transactions with a timestamp on this date (includes smart contracts)
active_recipients integer The total number of distinct addresses that received Stablecoins in transactions with a timestamp on this date (includes smart contracts)

Bitcoin Exchange Flows

For Bitcoin currently supported exchanges are:

Name Symbol
Binance binance
Bittrex bittrex
Bitstamp bitstamp
Bitmex bitmex
Bitfinex bitfinex
Deribit deribit
Huobi huobi
Kraken kraken
OKEx okex
Poloniex poloniex

BTC Full Historical Inflow to Exchanges

This endpoint returns the inflow of BTC into exchange wallets for as far back as we track. The average inflow is the average transaction value for transactions flowing into exchange wallets on a given day.

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?format=json&token=btc&exchange=binance&direction=inflow&window=1h&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-10-04",
    "hour": "11:00:00", // not available when window 1d
    "datetime": "2019-10-04 11:00:00", // not available when window 1d
    "inflow": 146.78124811,
    "inflow_usd": 1197591.43,
    "number_of_txns": 358,
    "avg_txn_value": 0.41000349,
    "avg_txn_value_usd": 3345.23
  },
  {
    "date": "2019-10-04",
    "hour": "12:00:00", // not available when window 1d
    "datetime": "2019-10-04 12:00:00", // not available when window 1d
    "inflow": 134.97661825,
    "inflow_usd": 1101849.66,
    "number_of_txns": 177,
    "avg_txn_value": 0.76257976,
    "avg_txn_value_usd": 6225.14
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
direction string inflow
exchange string An exchange from the table that we support
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
avg_txn_value decimal The average amount BTC transferred per transaction into the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of BTC transferred per transaction into the given exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
inflow decimal The total amount of BTC that flowed into the entity on this date. Denominated in BTC.
inflow_usd decimal The USD value of the total amount of BTC that flowed into the exchange on this date
number_of_txns integer The number of transactions sending BTC into this exchange on this date.

BTC Full Historical Outflows from Exchanges

This endpoint returns the outflow of BTC from exchange wallets for as far back as we track. The average outflow is the average transaction value for transactions flowing out of exchange wallets on a given day.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?token=btc&exchange=binance&direction=outflow&window=1h&format=json&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-10-04",
    "hour": "11:00:00", // not available when window 1d
    "datetime": "2019-10-04 11:00:00", // not available when window 1d
    "outflow": 215.79754153,
    "outflow_usd": 1760696.88,
    "number_of_txns": 7,
    "avg_txn_value": 30.82822022,
    "avg_txn_value_usd": 251528.13
  },
  {
    "date": "2019-10-04",
    "hour": "12:00:00", // not available when window 1d
    "datetime": "2019-10-04 12:00:00", // not available when window 1d
    "outflow": 143.59191158,
    "outflow_usd": 1172183.26,
    "number_of_txns": 4,
    "avg_txn_value": 35.89797789,
    "avg_txn_value_usd": 293045.82
  }
]

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
direction string outflow
exchange string An exchange from the list of ones we support
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
avg_txn_value decimal The average amount BTC transferred per transaction out of the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of BTC transferred per transaction out of the given exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
number_of_txns decimal The number of transactions sending BTC out of this exchange on this date.
outflow decimal The total amount of BTC that flowed out of the entity on this date. Denominated in BTC.
outflow_usd decimal The USD value of the total amount of BTC that flowed out of the exchange on this date

BTC Exchange to Exchange Flows

This endpoint returns the full historical inter-flows from an exchange to another exchange that we have labelled.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/entity_to_entity_flow_window_historical/last?

curl "https://api.tokenanalyst.io/analytics/private/v1/entity_to_entity_flow_window_historical/last?format=json&token=btc&window=1h&limit=2&from_date=2019-11-01&to_date=2019-11-09&from_entity=binance&to_entity=huobi&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-11-09",
    "hour": "22:00:00", // not available when window 1d
    "datetime": "2019-11-09 22:00:00", // not available when window 1d
    "value": 1.56713953,
    "value_usd": 13816.08,
    "number_of_txns": 3,
    "avg_txn_value": 0.52237984,
    "avg_txn_value_usd": 4605.36
  },
  {
    "date": "2019-11-09",
    "hour": "23:00:00", // not available when window 1d
    "datetime": "2019-11-09 23:00:00", // not available when window 1d
    "value": 3.540122,
    "value_usd": 31248.74,
    "number_of_txns": 2,
    "avg_txn_value": 1.770061,
    "avg_txn_value_usd": 15624.37
  }
]

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1h or 1d
from_entity string An exchange from the table that we support
to_entity string An exchange from the table that we support. Cannot be the same as from_entity
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
avg_txn_value decimal The average amount BTC transferred per transaction out of the given exchange to another exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of BTC transferred per transaction out of the given exchange to another exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
number_of_txns integer The number of transactions sending BTC into from an exchange to another exchange on this date.
value decimal The amount of BTC transferred in this transaction.
value_usd decimal The value in USD of the amount of BTC transferred in this transaction.

BTC Full Historical Static Flows to Exchanges

This endpoint returns static flows of BTC into exchange wallets for as far back as we track. What do we mean by static? while our standard API endpoint as seen above dynamically updates the data (up to 7 days prior to the current day) when we find new information on exchange wallets, the historical data from this endpoint never changes from the time it is posted. The rationale for this is to serve a snapshot look of what was known at the specific point in time - to aid in effective backtesting and inputs for ML models. This is suited for users who want to use our websocket.

For this reason, as an extra reinforcement, this endpoint includes the last_updated field to show the time in UTC when the data point was last modified. Additionally, there is a lag parameter that needs to be explicitly included with the option of hour - which signifies the default 2 hour lag.

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_static/last?format=json&exchange=binance&token=btc&direction=inflow&window=1h&lag=hour&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-11-15",
    "hour": "13:00:00", // not available when window 1d
    "datetime": "2019-11-15 13:00:00", // not available when window 1d
    "inflow": 342.00798253, // not available when direction outflow
    "inflow_usd": 2964309.77, // not available when direction outflow
    "number_of_txns": 617,
    "avg_txn_value": 0.55430791,
    "avg_txn_value_usd": 4804.39,
    "last_updated": "2019-11-15 16:01:30"
  },
  {
    "date": "2019-11-15",
    "hour": "14:00:00", // not available when window 1d
    "datetime": "2019-11-15 14:00:00", // not available when window 1d
    "inflow": 703.1389153, // not available when direction outflow
    "inflow_usd": 6011914.63, // not available when direction outflow
    "number_of_txns": 442,
    "avg_txn_value": 1.59081203,
    "avg_txn_value_usd": 13601.62,
    "last_updated": "2019-11-15 16:01:30",
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_static/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
direction string inflow or outflow
exchange string An exchange from the table that we support
lag string hour (default two hour lag)
window string 1h
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
avg_txn_value decimal The average amount BTC transferred per transaction into the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of BTC transferred per transaction into the given exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
inflow decimal The total amount of BTC that flowed into the exchange on this date. Denominated in BTC.
inflow_usd decimal The USD value of the total amount of BTC that flowed into the exchange on this date
number_of_txns integer The number of transactions sending BTC into this exchange on this date.
last_updated string The date when the endpoint was last updated in UTC datetime format

BTC Full Historical Top 10 Inflow Large Value Transactions

This endpoint returns the top 10 transactions (in terms of total BTC sent) flowing into exchange wallets for every day that the exchange wallets we track have been live on the blockchain.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_window_historical/last?

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_window_historical/last?format=json&token=btc&exchange=bitmex&direction=inflow&window=1d&limit=2&from_date=2019-02-02&to_date=2019-02-08&key=API_KEY"

This is what the response looks like

[
  {
    "date": "2019-02-08",
    "transactionid": "ea6a036eb69f0b3c47ce27cc77a59270d2c0dc99342cdd5f4dcc41cfa1c98298",
    "transaction_datetime": "2019-02-08 16:50:54",
    "rank": 9,
    "value": 50,
    "value_usd": 174539.71
  },
  {
    "date": "2019-02-08",
    "transactionid": "310ff316a1f8d887be851dfaaa14cb829f4d4d225a416ce7cd74a0c032d03c98",
    "transaction_datetime": "2019-02-08 17:21:24",
    "rank": 10,
    "value": 50,
    "value_usd": 174539.71
  }
]

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
direction string inflow
exchange string An exchange from the list of ones we support
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
rank integer Ranking out of 10 for the 10 largest transactions of BTC flowing into the exchange in question on this date.
transaction_datetime string The timestamp in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone) when the transaction was mined
transactionid string The transaction id of the transaction in question.
value decimal The amount of BTC transferred in this transaction.
value_usd decimal The value in USD of the amount of BTC transferred in this transaction.

BTC Full Historical Top 10 Outflow Large Value Transactions

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_window_historical/last?format=json&token=btc&exchange=bitmex&direction=outflow&window=1d&limit=2&from_date=2019-02-02&to_date=2019-02-08&key=API_KEY"

This is what the response looks like

[
  {
    "date": "2019-02-08",
    "transactionid": "bdf372897349b7103ed48c56e6bf0cfd44df854b4e3fc6cb6ce6b106360d0c2f",
    "transaction_datetime": "2019-02-08 18:50:53",
    "rank": 9,
    "value": 8,
    "value_usd": 27926.35
  },
  {
    "date": "2019-02-08",
    "transactionid": "fcca2b0d59d640c5ba6bade0c32936d4ad512865b5e9e602ddce1da745d589e2",
    "transaction_datetime": "2019-02-08 18:50:53",
    "rank": 10,
    "value": 7.71,
    "value_usd": 26897.2
  }
]

This endpoint returns the top 10 transactions (in terms of total BTC sent) flowing out of exchange wallets for every day that the exchange wallets we track have been live on the blockchain. Note: Currently Bitstamp and Binance are not supported for this endpoint

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_window_historical/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
direction string outflow
exchange string An exchange from the list of ones we support
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
rank integer Ranking out of 10 for the 10 largest transactions of BTC flowing out of the exchange in question on this date.
transaction_datetime string The timestamp in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone) when the transaction was mined
transactionid string The transaction id of the transaction in question.
value decimal The amount of BTC transferred in this transaction.
value_usd decimal The value in USD of the amount of BTC transferred in this transaction.

Ethereum Exchange Flows

For Ethereum currently supported exchanges are:

Name Symbol
Binance binance
Bittrex bittrex
Bitfinex bitfinex
Kraken kraken
Kucoin kucoin
Poloniex poloniex

ETH Full Historical Flows Into Exchanges

This is an example:

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?token=eth&exchange=binance&direction=inflow&window=1h&format=json&from_date=2018-01-01&to_date=2018-01-05&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2018-01-05",
    "hour": "22:00:00", // not available when window 1d
    "datetime": "2018-01-05 22:00:00", // not available when window 1d
    "inflow": 11758.0723,
    "inflow_usd": 11131601.58,
    "number_of_txns": 8461,
    "avg_txn_value": 1.3897,
    "avg_txn_value_usd": 1315.64
  },
  {
    "date": "2018-01-05",
    "hour": "23:00:00", // not available when window 1d
    "datetime": "2018-01-05 23:00:00", // not available when window 1d
    "inflow": 11330.9083,
    "inflow_usd": 10958461.64,
    "number_of_txns": 8439,
    "avg_txn_value": 1.3427,
    "avg_txn_value_usd": 1298.55
  }
]

This endpoint returns the inflow of ETH into exchange wallets. The avg_txn_value, inflow, and number_of_txns are calculated over the window (either 1 hour or 1 day). hour is in UTC

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/last/exchange_flow_window_historical/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
direction string inflow
exchange string An exchange from the table that we support
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
inflow decimal The total amount of ETH that flowed into the exchange on this date. Denominated in ETH.
inflow_usd decimal The USD value of the total amount of ETH that flowed into the exchange on this date
number_of_txns integer The number of transactions sending ETH into this exchange on this date.
avg_txn_value decimal The average amount ETH transferred per transaction into the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of ETH transferred per transaction into the given exchange on this date.

ETH Full Historical Flows Out Of Exchanges

This is an example:

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?token=eth&exchange=binance&direction=outflow&window=1h&format=json&from_date=2019-01-01&to_date=2019-01-05&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-01-05",
    "hour": "22:00:00", // not available when window 1d
    "datetime": "2019-01-05 22:00:00", // not available when window 1d
    "outflow": 4019.589,
    "outflow_usd": 631879.37,
    "number_of_txns": 133,
    "avg_txn_value": 30.2225,
    "avg_txn_value_usd": 4750.97
  },
  {
    "date": "2019-01-05",
    "hour": "23:00:00", // not available when window 1d
    "datetime": "2019-01-05 23:00:00", // not available when window 1d
    "outflow": 591.5552,
    "outflow_usd": 92418.66,
    "number_of_txns": 92,
    "avg_txn_value": 6.4299,
    "avg_txn_value_usd": 1004.55
  }
]

This endpoint returns the outflow of ETH from exchange wallets. The avg_txn_value, outflow, and number_of_txns are calculated over the window (either 1 hour or 1 day). hour is in UTC

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/last/exchange_flow_window_historical/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
direction string outflow
exchange string An exchange from the list of ones we support
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
outflow decimal The total amount of ETH that flowed out of the exchange on this date. Denominated in ETH.
outflow_usd decimal The USD value of the total amount of ETH that flowed out of the exchange on this date
number_of_txns integer The number of transactions sending ETH out of this exchange on this date.
avg_txn_value decimal The average amount ETH transferred per transaction out of the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of ETH transferred per transaction out of the given exchange on this date.

ETH Exchange to Exchange Flows

This endpoint returns the full historical inter-flows from an exchange to another exchange that we have labelled.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/entity_to_entity_flow_window_historical/last?

curl "https://api.tokenanalyst.io/analytics/private/v1/entity_to_entity_flow_window_historical/last?format=json&token=eth&window=1h&from_date=2019-12-04&to_date=2019-12-04&limit=2&from_entity=binance&to_entity=kucoin&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-12-04",
    "hour": "07:00:00", // not available when window 1d
    "datetime": "2019-12-04 07:00:00", // not available when window 1d
    "value": 0.1317,
    "value_usd": 19.06,
    "number_of_txns": 1,
    "avg_txn_value": 0.1317,
    "avg_txn_value_usd": 19.06
  },
  {
    "date": "2019-12-04",
    "hour": "08:00:00", // not available when window 1d
    "datetime": "2019-12-04 08:00:00", // not available when window 1d
    "value": 0.2382,
    "value_usd": 34.58,
    "number_of_txns": 1,
    "avg_txn_value": 0.2382,
    "avg_txn_value_usd": 34.58
  }
]

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
window string 1h or 1d
from_entity string An exchange from the table that we support
to_entity string An exchange from the table that we support. Cannot be the same as from_entity
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
avg_txn_value decimal The average amount ETH transferred per transaction out of the given exchange to another exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of ETH transferred per transaction out of the given exchange to another exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
number_of_txns integer The number of transactions sending ETH into from an exchange to another exchange on this date.
value decimal The amount of ETH transferred in this transaction.
value_usd decimal The value in USD of the amount of ETH transferred in this transaction.

ETH Full Historical Static Flows to Exchanges

This endpoint returns static flows of ETH into exchange wallets for as far back as we track. What do we mean by static? while our standard API endpoint as seen above dynamically updates the data (up to 7 days prior to the current day) when we find new information on exchange wallets, the historical data from this data never changes from the time it is posted. The rationale for this is to serve a snapshot look of what was known at the specific point in time - to aid in effective backtesting and inputs for ML models. This is suited for users who want to use our websocket.

For this reason, as an extra reinforcement, this endpoint includes the last_updated field to show the time in UTC when the data point was last modified. Additionally, there is a lag parameter that needs to be explicitly included with the option of hour - which signifies the default 2 hour lag.

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_static/last?format=json&exchange=binance&token=eth&direction=inflow&window=1h&lag=hour&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-11-16",
    "hour": "15:00:00", // not available when window 1d
    "datetime": "2019-11-16 15:00:00", // not available when window 1d
    "inflow": 532.8873, // not available when direction outflow
    "inflow_usd": 97338.28, // not available when direction outflow
    "number_of_txns": 202,
    "avg_txn_value": 2.6381,
    "avg_txn_value_usd": 481.87,
    "last_updated": "2019-11-17 16:00:18"
  },
  {
    "date": "2019-11-16",
    "hour": "16:00:00", // not available when window 1d
    "datetime": "2019-11-16 16:00:00", // not available when window 1d
    "inflow": 921.5056, // not available when direction outflow
    "inflow_usd": 168488.38, // not available when direction outflow
    "number_of_txns": 232,
    "avg_txn_value": 3.972,
    "avg_txn_value_usd": 726.24,
    "last_updated": "2019-11-17 17:01:24",
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_static/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
direction string inflow or outflow
exchange string An exchange from the table that we support
lag string hour (default two hour lag)
window string 1h
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
avg_txn_value decimal The average amount ETH transferred per transaction into the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of ETH transferred per transaction into the given exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
inflow decimal The total amount of ETH that flowed into the exchange on this date. Denominated in ETH.
inflow_usd decimal The USD value of the total amount of ETH that flowed into the exchange on this date
number_of_txns integer The number of transactions sending ETH into this exchange on this date.
last_updated string The date when the endpoint was last updated in UTC datetime format

ETH Full Historical Top 10 Inflow Large Value Transactions

This is an example:

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_historical/last?token=eth&exchange=binance&direction=inflow&format=json&limit=2&key=API_KEY"

The response looks like:

[
  {
    "transactionhash": "0x8f4e1350eaa1c13360ea4a5269a1a350f3c5b3880147d0aa32ec34a12fc30923",
    "value": 3424.6575,
    "date": "2019-04-29",
    "transaction_datetime": "2019-04-29 09:13:57",
    "rank": 2,
    "value_usd": 537210.85
  },
  {
    "transactionhash": "0x5512d27b371bfbef2fc6dae353fb243866fe3dfb24ad546d6b6eebb4159fb7c2",
    "value": 3000.0,
    "date": "2019-04-29",
    "transaction_datetime": "2019-04-29 04:50:08",
    "rank": 3,
    "value_usd": 470596.71
  }
]

This endpoint returns the top 10 transactions (in terms of total ETH sent) flowing into exchange wallets for every day that the exchange wallets we track have been live on the blockchain.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_historical/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
direction string inflow
exchange string An exchange from the list of ones we support
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
transactionhash string The transaction hash of the transaction in question.
value decimal The amount of ETH transferred in this transaction.
date string The date in YYYY-MM-DD
transaction_datetime string The timestamp in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone) when the transaction was mined
rank integer Ranking out of 10 for the 10 largest ETH transactions flowing into the exchange in question on this date.
value_usd decimal The value in USD of the amount of ETH tranferred in this transaction.

ETH Full Historical Top 10 Outflow Large Value Transactions

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_historical/last?token=eth&exchange=binance&direction=outflow&format=json&limit=2&key=API_KEY"

The response looks like:

[
  {
    "transactionhash": "0x97b8063962d549b053cf7366e70877f09ede29f5e2d5bd9837e5a9ea8089bb46",
    "value": 7300.00024,
    "date": "2019-04-26",
    "transaction_datetime": "2019-04-26 09:03:53",
    "rank": 3,
    "value_usd": 1129368.16
  },
  {
    "transactionhash": "0x0e3d275eeae64b27ccbb12b65861039a7c3662c0c99212f88b9927c41b37bbae",
    "value": 5982.0288,
    "date": "2019-04-26",
    "transaction_datetime": "2019-04-26 04:02:49",
    "rank": 4,
    "value_usd": 925467.48
  }
]

This endpoint returns the top 10 transactions (in terms of total ETH sent) flowing out of exchange wallets for every day that the exchange wallets we track have been live on the blockchain.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_historical/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
direction string outflow
exchange string An exchange from the list of ones we support
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
transactionhash string The transaction hash of the transaction in question.
value decimal The amount of ETH transferred in this transaction.
date string The date in YYYY-MM-DD
transaction_datetime string The timestamp in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone) when the transaction was mined
rank integer Ranking out of 10 for the 10 largest ETH transactions flowing out of the exchange in question on this date.
value_usd decimal The value in USD of the amount of ETH tranferred in this transaction.

Stablecoin Exchange Flows

The stablecoins we currently support are:

Name Symbol Supported Exchanges
Tether (Omni) usdt_omni kraken, bitfinex, poloniex, bittrex, okex
Tether (ERC20) usdt_erc20 binance, bitfinex, bittrex, kucoin, poloniex
USDC usdc binance, bitfinex
Paxos Standard Token pax binance, bitfinex, bittrex
TrueUSD tusd binance, bittrex
Dai dai bittrex

Stablecoins Full Historical Inflow from Exchanges

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?format=json&window=1h&token=usdt_omni&exchange=kraken&direction=inflow&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-10-24",
    "hour": "15:00:00", // not available when window 1d
    "datetime": "2019-10-24 15:00:00", // not available when window 1d
    "avg_txn_value": 0,
    "avg_txn_value_usd": 0,
    "inflow": 0,
    "inflow_usd": 0,
    "number_of_txns": 0
  },
  {
    "date": "2019-10-24",
    "hour": "16:00:00", // not available when window 1d
    "datetime": "2019-10-24 16:00:00", // not available when window 1d
    "avg_txn_value": 2701.218,
    "avg_txn_value_usd": 2702.59,
    "inflow": 8103.6541,
    "inflow_usd": 8107.77,
    "number_of_txns": 3
  }
]

This endpoint returns the inflow of stablecoins into exchange wallets. The avg_txn_value, inflow, and number_of_txns are calculated over the window (either 1 hour or 1 day). hour is in UTC

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string usdt_omni
exchange string An exchange from the table that we support
direction string inflow
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
hour string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field that only appears if the window=1h is used.
inflow decimal The total amount of the token that flowed into the exchange on this date. Denominated in the token in question.
inflow_usd decimal The USD value of the total amount of the token that flowed into the exchange on this date
number_of_txns integer The number of transactions sending the token into this exchange on this date.
avg_txn_value decimal The average amount of tokens transferred per transaction into the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of tokens transferred per transaction into the given exchange on this date.

Stablecoins Full Historical Outflow from Exchanges

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?format=json&window=1h&token=usdt_omni&exchange=huobi&direction=outflow&limit=2&API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-10-24",
    "hour": "15:00:00", // not available when window 1d
    "datetime": "2019-10-24 15:00:00", // not available when window 1d
    "outflow": 786995.9981,
    "outflow_usd": 788730.02,
    "number_of_txns": 143,
    "avg_txn_value": 5503.4685,
    "avg_txn_value_usd": 5515.59
  },
  {
    "date": "2019-10-24",
    "hour": "16:00:00", // not available when window 1d
    "datetime": "2019-10-24 16:00:00", // not available when window 1d
    "outflow": 74282.2861,
    "outflow_usd": 74320.05,
    "number_of_txns": 15,
    "avg_txn_value": 4952.1524,
    "avg_txn_value_usd": 4954.67
  }
]

This endpoint returns the inflow of stablecoins into exchange wallets. The avg_txn_value, inflow, and number_of_txns are calculated over the window (either 1 hour or 1 day). hour is in UTC

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string usdt_omni
exchange string An exchange from the list of ones we support
direction string inflow
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
hour string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field that only appears if the window=1h is used.
inflow decimal The total amount of the token that flowed into the exchange on this date. Denominated in the token in question.
inflow_usd decimal The USD value of the total amount of the token that flowed into the exchange on this date
number_of_txns integer The number of transactions sending the token into this exchange on this date.
avg_txn_value decimal The average amount of tokens transferred per transaction into the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of tokens transferred per transaction into the given exchange on this date.

Stablecoins Full Historical Static Flows to Exchanges

This endpoint returns static flows of stablecoins into exchange wallets for as far back as we track. What do we mean by static? while our standard API endpoint as seen above dynamically updates the data (up to 7 days prior to the current day) when we find new information on exchange wallets, the historical data from this endpoint never changes from the time it is posted. The rationale for this is to serve a snapshot look of what was known at the specific point in time - to aid in effective backtesting and inputs for ML models. This is suited for users who want to use our websocket.

For this reason, as an extra reinforcement, this endpoint includes the last_updated field to show the time in UTC when the data point was last modified. Additionally, there is a lag parameter that needs to be explicitly included with the option of hour - which signifies the default 2 hour lag.

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_static/last?format=json&exchange=binance&token=usdc&direction=inflow&window=1h&lag=hour&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-11-16",
    "hour": "15:00:00", // not available when window 1d
    "datetime": "2019-11-16 15:00:00", // not available when window 1d
    "inflow": 532.8873, // not available when direction outflow
    "inflow_usd": 97338.28, // not available when direction outflow
    "number_of_txns": 202,
    "avg_txn_value": 2.6381,
    "avg_txn_value_usd": 481.87,
    "last_updated": "2019-11-17 16:00:18"
  },
  {
    "date": "2019-11-16",
    "hour": "16:00:00", // not available when window 1d
    "datetime": "2019-11-16 16:00:00", // not available when window 1d
    "inflow": 921.5056, // not available when direction outflow
    "inflow_usd": 168488.38, // not available when direction outflow
    "number_of_txns": 232,
    "avg_txn_value": 3.972,
    "avg_txn_value_usd": 726.24,
    "last_updated": "2019-11-17 17:01:24",
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_static/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string usdc
direction string inflow or outflow
exchange string An exchange from the table that we support
lag string hour (default 2 hour lag)
window string 1h
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
avg_txn_value decimal The average amount stablecoin transferred per transaction into the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of stablecoin transferred per transaction into the given exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
inflow decimal The total amount of stablecoin that flowed into the exchange on this date. Denominated in ERC20 token.
inflow_usd decimal The USD value of the total amount of stablecoin that flowed into the exchange on this date
number_of_txns integer The number of transactions sending stablecoin into this exchange on this date.
last_updated string The date when the endpoint was last updated in UTC datetime format

Tether (Omni) Full Historical Top 10 Inflow Large Value Transactions

This is an example:

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_window_historical/last?token=usdt_omni&exchange=binance&direction=inflow&format=json&window=1d&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-08-18",
    "transactionid": "5e5c74b0aab078c929952f9de0155d32152c0dc7c65c8cfdc53c2c0ed1a4d720",
    "transaction_datetime": "2019-08-18 04:48:59",
    "value": 34000,
    "rank": 9,
    "value_usd": 34001.93
  },
  {
    "date": "2019-08-18",
    "transactionid": "84801e2b0fa58093fa74b997a3bfd936b598c91ff1d9f16cf55b8d294ff2c672",
    "transaction_datetime": "2019-08-18 18:50:19",
    "value": 33283,
    "rank": 10,
    "value_usd": 33284.88
  }
]

This endpoint returns the top 10 transactions (in terms of total USDT sent) flowing into exchange wallets for every day that the exchange wallets we track have been live on the blockchain.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_window_historical/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string usdt_omni
direction string inflow
exchange string An exchange from the list of ones we support
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
transactionid string The transaction id of the transaction in question.
transaction_datetime string The timestamp in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone) when the transaction was mined
value decimal The amount of USDT transferred in this transaction.
rank integer Ranking out of 10 for the 10 largest USDT (Omni) transactions flowing into the exchange in question on this date.
value_usd decimal The value in USD of the amount of USDT tranferred in this transaction.

Tether (Omni) Full Historical Top 10 Outflow Large Value Transactions

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_window_historical/last?token=usdt_omni&exchange=binance&direction=outflow&format=json&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-08-14",
    "transactionid": "5354b702a372027cc23bb9c47749bdfab77c9d7739f8afafcf49178bc6659a2b",
    "transaction_datetime": "2019-08-14 17:23:03",
    "value": 129985,
    "rank": 3,
    "value_usd": 129985
  },
  {
    "date": "2019-08-14",
    "transactionid": "7a91a7b4eabe7b0d0e77139ea1ed7eaecd6d45d82f7b789aae41617cfcdcf026",
    "transaction_datetime": "2019-08-14 16:37:27",
    "value": 100090,
    "rank": 4,
    "value_usd": 100090
  }
]

This endpoint returns the top 10 transactions (in terms of total USDT sent) flowing out of exchange wallets for every day that the exchange wallets we track have been live on the blockchain.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_top10_window_historical/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string usdt_omni
direction string outflow
exchange string An exchange from the list of ones we support
window string 1d (no support for 1h at this time)
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
transactionid string The transaction id of the transaction in question.
transaction_datetime string The timestamp in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone) when the transaction was mined
value decimal The amount of USDT transferred in this transaction.
rank integer Ranking out of 10 for the 10 largest USDT (Omni) transactions flowing into the exchange in question on this date.
value_usd decimal The value in USD of the amount of USDT tranferred in this transaction.

ERC20 Exchange Flows

ERC20 tokens we currently support are:

Name Symbol Supported exchanges
Maker mkr bittrex, kucoin
Basic Attention Token bat binance, bittrex, poloniex
OmiseGo omg binance, bittrex, kucoin, poloniex
Augur rep binance, bittrex, kraken, poloniex
Golem gnt binance, bittrex, poloniex
ZRX zrx binance, bittrex, kucoin, poloniex
Decentraland mana binance, bittrex, kucoin, poloniex
Numerai nmr bittrex
Loom Network loom binance, bittrex, kucoin, poloniex
Status snt kucoin, poloniex
Civic cvc binance, bittrex, kucoin, poloniex
Kyber Network knc binance, kucoin, poloniex
iExec RLC rlc bittrex
ChainLink link binance

ERC20 Full Historical Flows Into Exchanges

This is an example:

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?token=bat&exchange=binance&direction=inflow&window=1h&format=json&from_date=2019-10-04&to_date=2019-10-06&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-10-06",
    "hour": "22:00:00", // not available when window 1d
    "datetime": "2019-10-06 22:00:00", // not available when window 1d
    "inflow": 2564.4029,
    "inflow_usd": 487.24,
    "number_of_txns": 4,
    "avg_txn_value": 641.1007,
    "avg_txn_value_usd": 121.81
  },
  {
    "date": "2019-10-06",
    "hour": "23:00:00", // not available when window 1d
    "datetime": "2010-10-06 23:00:00", // not available when window 1d
    "inflow": 219.5791,
    "inflow_usd": 41.72,
    "number_of_txns": 2,
    "avg_txn_value": 109.7895,
    "avg_txn_value_usd": 20.86
  }
]

This endpoint returns the inflow of ERC20 tokens into exchange wallets. The avg_txn_value, inflow, and number_of_txns are calculated over the window (either 1 hour or 1 day). hour is in UTC

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/last/exchange_flow_window_historical/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string bat
direction string inflow
exchange string An exchange from the table that we support
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
inflow decimal The total amount of ERC20 token that flowed into the exchange on this date. Denominated in ERC20 token.
inflow_usd decimal The USD value of the total amount of ERC20 token that flowed into the exchange on this date
number_of_txns integer The number of transactions sending ERC20 token into this exchange on this date.
avg_txn_value decimal The average amount ERC20 token transferred per transaction into the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of ERC20 token transferred per transaction into the given exchange on this date.

ERC20 Full Historical Flows Out Of Exchanges

This is an example:

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_historical/last?token=bat&exchange=binance&direction=outflow&window=1h&format=json&from_date=2019-10-01&to_date=2019-10-10&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-10-10",
    "hour": "22:00:00", // not available when window 1d
    "datetime": "2019-10-10 22:00:00", // not available when window 1d
    "outflow": 108214.6507,
    "outflow_usd": 21642.93,
    "number_of_txns": 8,
    "avg_txn_value": 13526.8313,
    "avg_txn_value_usd": 2705.37
  },
  {
    "date": "2019-10-10",
    "hour": "23:00:00", // not available when window 1d
    "datetime": "2019-10-10 23:00:00", // not available when window 1d
    "outflow": 51502.1242,
    "outflow_usd": 10300.42,
    "number_of_txns": 4,
    "avg_txn_value": 12875.5311,
    "avg_txn_value_usd": 2575.11
  }
]

This endpoint returns the outflow of ERC20 token from exchange wallets. The avg_txn_value, outflow, and number_of_txns are calculated over the window (either 1 hour or 1 day). hour is in UTC

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/last/exchange_flow_window_historical/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string bat
direction string outflow
exchange string An exchange from the list of ones we support
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
outflow decimal The total amount of ERC20 token that flowed out of the exchange on this date. Denominated in ERC20 token.
outflow_usd decimal The USD value of the total amount of ERC20 token that flowed out of the exchange on this date
number_of_txns integer The number of transactions sending ERC20 token out of this exchange on this date.
avg_txn_value decimal The average amount ERC20 token transferred per transaction out of the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of ERC20 token transferred per transaction out of the given exchange on this date.

ERC20 Full Historical Static Flows to Exchanges

This endpoint returns static flows of ERC20 into exchange wallets for as far back as we track. What do we mean by static? while our standard API endpoint as seen above dynamically updates the data (up to 7 days prior to the current day) when we find new information on exchange wallets, the historical data from this endpoint never changes from the time it is posted. The rationale for this is to serve a snapshot look of what was known at the specific point in time - to aid in effective backtesting and inputs for ML models. This is suited for users who want to use our websocket.

For this reason, as an extra reinforcement, this endpoint includes the last_updated field to show the time in UTC when the data point was last modified. Additionally, there is a lag parameter that needs to be explicitly included with the option of hour - which signifies the default 2 hour lag.

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_static/last?format=json&exchange=binance&token=bat&direction=inflow&window=1h&lag=hour&limit=2&key=API_KEY"

The response looks like:

[
  {
    "date": "2019-11-16",
    "hour": "15:00:00", // not available when window 1d
    "datetime": "2019-11-16 15:00:00", // not available when window 1d
    "inflow": 532.8873, // not available when direction outflow
    "inflow_usd": 97338.28, // not available when direction outflow
    "number_of_txns": 202,
    "avg_txn_value": 2.6381,
    "avg_txn_value_usd": 481.87,
    "last_updated": "2019-11-17 16:00:18"
  },
  {
    "date": "2019-11-16",
    "hour": "16:00:00", // not available when window 1d
    "datetime": "2019-11-16 16:00:00", // not available when window 1d
    "inflow": 921.5056, // not available when direction outflow
    "inflow_usd": 168488.38, // not available when direction outflow
    "number_of_txns": 232,
    "avg_txn_value": 3.972,
    "avg_txn_value_usd": 726.24,
    "last_updated": "2019-11-17 17:01:24",
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_flow_window_static/last?

URL Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string bat
direction string inflow or outflow
exchange string An exchange from the table that we support
lag string hour (default 2 hour lag)
window string 1h
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
avg_txn_value decimal The average amount ERC20 token transferred per transaction into the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of ERC20 token transferred per transaction into the given exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
inflow decimal The total amount of ERC20 token that flowed into the exchange on this date. Denominated in ERC20 token.
inflow_usd decimal The USD value of the total amount of ERC20 token that flowed into the exchange on this date
number_of_txns integer The number of transactions sending ERC20 token into this exchange on this date.
last_updated string The date when the endpoint was last updated in UTC datetime format

Bitcoin Miner Flows

For Bitcoin Miner Historical Inflow and Miner Historical Outflow endpoints, the supported miners/mining pools in the field miner_name are:

miner_name
Antpool
BTC.TOP
BitClubNetwork
F2Pool
SlushPool
viaBTC
Unknown

Miner addresses that are unlabelled have a miner_name of "Unknown".

Miner Full Historical Inflow

This endpoint returns the inflow of a given token into miner controlled wallets during the time period specified. Miner wallets are all bitcoin addresses that have ever been the recipient of block rewards. The avg_txn_value, inflow, and number_of_txns are calculated over the window (either 1 hour or 1 day). The hour is in UTC.

curl "https://api.tokenanalyst.io/analytics/private/v1/miner_flow_window_historical/last?token=btc&direction=inflow&window=1h&from_date=2019-02-07&to_date=2019-02-08&format=json&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "avg_txn_value": 12.64279457,
    "avg_txn_value_usd": 46273.01,
    "date": "2019-02-08",
    "datetime": "2019-02-08 23:00:00", // not available when window 1d
    "hour": "23:00:00", // not available when window 1d
    "inflow": 12.64279457,
    "inflow_usd": 46273.01,
    "miner_name": "BTC.TOP",
    "number_of_txns": 1
  },
  {
    "avg_txn_value": 0.01407396,
    "avg_txn_value_usd": 51.51,
    "date": "2019-02-08",
    "datetime": "2019-02-08 23:00:00", // not available when window 1d
    "hour": "23:00:00", // not available when window 1d
    "inflow": 0.02814792,
    "inflow_usd": 103.02,
    "miner_name": "Unknown",
    "number_of_txns": 2
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/miner_flow_window_historical/last?

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc (only btc supported for now)
direction string inflow
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
avg_txn_value decimal The average amount of tokens transferred per transaction into the given miner on this date/hour.
avg_txn_value_usd decimal The USD value of the average amount of tokens transferred per transaction into the given miner on this date/hour.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
inflow decimal The total amount of the token that flowed into the miner on this date/hour. Denominated in the token in question.
inflow_usd decimal The USD value of the total amount of the token that flowed into the miner on this date/hour
miner_name string The name of the miner or mining pool from the table above.
number_of_txns integer The number of transactions sending the token into this miner on this date/hour.

Miner Full Historical Outflow

curl "https://api.tokenanalyst.io/analytics/private/v1/miner_flow_window_historical/last?token=btc&direction=outflow&window=1h&from_date=2019-02-07&to_date=2019-02-08&format=json&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-02-08",
    "datetime": "2019-02-08 20:00:00", // not available when window 1d
    "hour": "20:00:00", // not available when window 1d
    "miner_name": "SlushPool",
    "outflow": 12.51808781,
    "number_of_txns": 1,
    "avg_txn_value": 12.51808781,
    "outflow_usd": 45818.33,
    "avg_txn_value_usd": 45818.33
  },
  {
    "avg_txn_value": 1.15274538,
    "avg_txn_value_usd": 4186.79,
    "date": "2019-02-08",
    "datetime": "2019-02-08 21:00:00", // not available when window 1d
    "hour": "21:00:00", // not available when window 1d
    "miner_name": "Unknown",
    "number_of_txns": 7,
    "outflow": 8.06921768,
    "outflow_usd": 29307.56
  }
]

This endpoint returns the outflow of a given token out of miner controlled wallets during the time period specified. Miner wallets are all bitcoin addresses that have ever been the recipient of block rewards. The avg_txn_value, inflow, and number_of_txns are calculated over the window (either 1 hour or 1 day). Inflow to miner addresses that are unlabelled are returned have a miner_name of "Unknown". The hour is in UTC.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/miner_flow_window_historical/last?

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc (only btc supported for now)
direction string inflow
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
avg_txn_value decimal The average amount of tokens transferred per transaction out of the given miner on this date/hour.
avg_txn_value_usd decimal The USD value of the average amount of tokens transferred per transaction out of the given miner on this date/hour.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
outflow decimal The total amount of the token that flowed out of the miner on this date/hour. Denominated in the token in question.
outflow_usd decimal The USD value of the total amount of the token that flowed out of the miner on this date/hour
miner_name string The name of the miner or mining pool from the table above
number_of_txns integer The number of transactions sending the token out of this miner on this date/hour.

Miners to Exchanges Full Historical Flows

This endpoint returns the full historical flows of BTC from miners to exchanges that we have labelled.

For Bitcoin, the currently supported Miners/Exchanges are:

Name from_entity to_entity
AntPool antpool bitstamp, bittrex
BTC.TOP btc.top binance, bitfinex, bitmex, bitstamp, bittrex, huobi, kraken, okex, poloniex
BitClubNetwork bitclubnetwork bitfinex, bitstamp
F2Pool f2pool binance, bitfinex, bitstamp, bittrex, huobi, kraken, okex, poloniex
SlushPool slushpool binance, bitfinex, bitmex, bitstamp, bittrex, huobi, kraken, poloniex
viaBTC viabtc bitmex, bitstamp, bittrex, huobi, poloniex

The above table defines supported pairs of the query parameters from_entity and to_entity.

curl "https://api.tokenanalyst.io/analytics/private/v1/entity_to_entity_flow_window_historical/last?window=1d&limit=2&from_entity=slushpool&to_entity=binance&format=json&token=btc&key=APIKEY"

The above command returns JSON structured like this:

[
    {
        "date": "2019-10-05",
        "value": 2.80564686,
        "value_usd": 22805.88,
        "number_of_txns": 9,
        "avg_txn_value": 0.31173854,
        "avg_txn_value_usd": 2533.99
    },
    {
        "date": "2019-10-06",
        "value": 1.90917571,
        "value_usd": 15287.62,
        "number_of_txns": 8,
        "avg_txn_value": 0.23864696,
        "avg_txn_value_usd": 1910.95
    }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/entity_to_entity_flow_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1h or 1d
from_entity string A miner from the table that we support
to_entity string An exchange from the table that we support
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
avg_txn_value decimal The average amount of BTC transferred per transaction into the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of BTC transferred per transaction into the given exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
number_of_txns integer The number of transactions sending BTC into an exchange on this date/hour
value decimal The total value of transactions sending BTC into an exchange
value_usd decimal The USD value of transactions sending BTC into an exchange

Ethereum Miner Flows

Miners to Exchanges Full Historical Flows

This endpoint returns the full historical flows of ETH from miners to exchanges that we have labelled.

For Ethereum, the currently supported Exchanges/Miners are:

Name to_entity from_entity
Binance binance 2miners: pplns,2miners: solo,altpool.pro,btc.com pool,beeppool,coinotron 3, cruxpool,dwarfpool 1,eth.solopool.org,ethermine,ethpool 2,f2pool 2,minerall pool,miningpoolhub,nanopool,uleypool,w pool,zhizhu.top
Bitfinex bitfinex 2miners: pplns, coinotron 3, dwarfpool 1, ethermine, f2pool 2, miningpoolhub, nanopool, spark pool, w pool
Bittrex bittrex 2miners: pplns,2miners: solo, btc.com pool, baikalmine 1, beeppool, coinotron 3, dwarfpool 1,eth.solopool.org, ethermine,f2pool 2,minerall pool,miningpoolhub,nanopool, w pool, zhizhu.top
Kraken kraken 2miners: pplns, btc.com pool, coinotron 3, cruxpool, dwarfpool 1, ethermine, ethpool 2, f2pool 2,minerall pool,miningpoolhub,nanopool, w pool
Kucoin kucoin 2miners: pplns, dwarfpool 1, ethermine, f2pool 2, miningpoolhub, nanopool, w pool
Poloniex poloniex coinotron 3, dwarfpool 1, ethermine, minerall pool, nanopool

The above table defines supported pairs of the query parameters to_entity and from_entity.

curl "https://api.tokenanalyst.io/analytics/private/v1/entity_to_entity_flow_window_historical/last?ormat=json&to_entity=binance&from_entity=2miners:%20pplns&token=eth&window=1h&limit=2&key=APIKEY"

The above command returns JSON structured like this:

[
    {
        "date": "2019-11-27",
        "hour": "08:00:00", // not available when window 1d
        "datetime": "2019-11-17 08:00:00", // not available when window 1d
        "value": 0.05637151,
        "value_usd": 8.26,
        "number_of_txns": 1,
        "avg_txn_value": 0.05637151,
        "avg_txn_value_usd": 8.26
    },
    {
        "date": "2019-11-27",
        "hour": "09:00:00", // not available when window 1d
        "datetime": "2019-11-17 09:00:00", // not available when window 1d
        "value": 0.10035594,
        "value_usd": 14.35,
        "number_of_txns": 2,
        "avg_txn_value": 0.05017797,
        "avg_txn_value_usd": 7.18
    }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/entity_to_entity_flow_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
window string 1h or 1d
from_entity string A miner from the table that we support
to_entity string An exchange from the table that we support
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
avg_txn_value decimal The average amount of ETH transferred per transaction into the given exchange on this date.
avg_txn_value_usd decimal The USD value of the average amount of ETH transferred per transaction into the given exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
number_of_txns integer The number of transactions sending ETH into an exchange on this date/hour
value decimal The total value of transactions sending ETH into an exchange
value_usd decimal The USD value of transactions sending ETH into an exchange

Bitcoin Exchange Balance

For Bitcoin currently supported exchanges are:

Name Symbol
Binance binance
Bittrex bittrex
Bitstamp bitstamp
Bitmex bitmex
Bitfinex bitfinex
Deribit deribit
Huobi huobi
Kraken kraken
OKEx okex
Poloniex poloniex

BTC Full Historical Balance

This endpoint returns the balance of BTC held in the wallets of exchanges that we support for the full history of the exchange in question.

# Make sure you substitute API_KEY for your unique API key.

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_balance_window_historical/last?key=API_KEY&limit=2&format=json&exchange=binance&token=btc&window=1h"

The above command returns JSON structured like this:

[
  {
    "date": "2019-10-04",
    "hour": "12:00:00", // not available when window 1d
    "datetime": "2019-10-04 12:00:00", // not available when window 1d
    "balance": 242107.08456132,
    "balance_usd": 1976383805.44
  },
  {
    "date": "2019-10-04",
    "hour": "13:00:00", // not available when window 1d
    "datetime": "2019-10-04 13:00:00", // not available when window 1d
    "balance": 242107.08456132,
    "balance_usd": 0
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_balance_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
exchange string An exchange from the table that we support
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
balance decimal The amount of BTC on a given exchange on this date.
balance_usd decimal The USD value of the amount of BTC on a given exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h

Ethereum Exchange Balance

For Ethereum currently supported exchanges are:

Name Symbol
Binance binance
Bittrex bittrex
Bitfinex bitfinex
Kraken kraken
Kucoin kucoin
Poloniex poloniex

ETH Full Historical Balance

This endpoint returns the balance of ETH held in the wallets of exchanges that we support for the full history of the exchange in question.

# Make sure you substitute API_KEY for your unique API key.

curl "https://api.tokenanalyst.io/analytics/private/v1/exchange_balance_window_historical/last?key=API_KEY&limit=2&format=json&exchange=binance&token=eth&window=1h"

The above command returns JSON structured like this:

[
  {
    "date": "2019-11-22",
    "hour": "06:00:00", // not available when window 1d
    "datetime": "2019-11-22 06:00:00", // not available when window 1d
    "balance": 2582886.48169047,
    "balance_usd": 408819272.32
  },
  {
    "date": "2019-11-22",
    "hour": "07:00:00", // not available when window 1d
    "datetime": "2019-11-22 07:00:00", // not available when window 1d
    "balance": 2585136.73256075,
    "balance_usd": 403502100.96
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/exchange_balance_window_historical/last

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string eth
exchange string An exchange from the table that we support
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Note: All params with a * are optional and limit is only available in the JSON return format

Data Overview

Field Type Description
balance decimal The amount of ETH on a given exchange on this date.
balance_usd decimal The USD value of the amount of ETH on a given exchange on this date.
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h

Prices (USD)

The US Dollar (USD) price of each asset we support is available through this endpoint. The hourly price is the hourly closing price for each asset. The daily price is the mean of the hourly closing prices for each asset.

Supported Assets

The list of assets we currently support is:

Name API Parameter
Basic Attention Token bat
Bitcoin Cash bch
Binance Coin bnb
Bancor bnt
Bitcoin btc
Bitcoin BEP2 (Binance Chain) btcb
Bezant bznt
Civic cvc
Dai dai
Ethereum Classic etc
Ethereum eth
Fetch fet
Fantom ftm
Golem gnt
Gemini Dollar gusd
ICON icx
Kyber Network knc
Chainlink link
Loom Network loom
Litecoin ltc
Decentraland mana
Matic Network matic
Mithril mith
Maker mkr
Numeraire nmr
OmiseGO omg
1Coin one
Paxos Standard Token pax
Augur rep
iExec rlc
Status snt
Storj storj
Monolith tkn
TrueUSD tusd
USD Coin usdc
StableUSD (Binance chain) usdsb
Tether usdt_erc20
Monero xmr
Ripple xrp
Zcash zec
0x zrx

Token Price

curl "https://api.tokenanalyst.io/analytics/private/v1/token_price_usd_window_historical/last?token=btc&window=1h&format=json&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2017-12-27",
    "hour": "05:00:00", // not available when window 1d
    "datetime": "2017-12-27 05:00:00", // not available when window 1d
    "price_usd": 16416.71,
  },
  {
    "date": "2017-12-28",
    "hour": "06:00:00", // not available when window 1d
    "datetime": "2017-12-27 06:00:00", // not available when window 1d
    "price_usd": 13868.98,
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_price_usd_window_historical/last?

Query Parameters

Parameter Type Description
key string Your unique API key
format string What format you want your data in (json or csv)
token string btc
window string 1h or 1d
from_date * string Start date of returned data specified as YYYY-MM-DD (ISO date format)
to_date * string End date of returned data specified as YYYY-MM-DD (ISO date format)
limit * integer The number of entries returned before the latest data point (or the to_date if specified)

Data Overview

Field Type Description
date string The date in YYYY-MM-DD
datetime * string The hour of the day in datetime format YYYY-MM-DD HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
hour * string The hour of the day in HH:MM:SS (UTC time zone). This is an optional field and appears when window is 1h
price_usd decimal The daily price of the token in USD (the hourly or daily mean of minute-level price data)

Websocket Feed

The TokenAnalyst websocket feed provides real-time bitcoin inflows and outflows to/from exchanges that we have labelled. We have three channels you can subscribe to:

You can find a sample python script to subscribe to these feeds here - https://github.com/tokenanalyst/samplecode

Here are the exchanges we support in the Bitcoin WebSocket: Binance, BitMEX, Bitfinex, Bittrex, Deribit, Huobi, Kraken, OKex, and Poloniex.

Connection Details

URL

wss://ws.tokenanalyst.io

Request process

Websocket connections go through the following lifecycle:

Request Parameters

Field Type Description
event string subscribe or unsubscribe
channel string The channel you want to subscribe to. Currently we only support 1) btc_confirmed_exchange_flows, which has all BTC transactions going into, out of, and in-between exchanges on-chain 2) btc_unconfirmed_exchange_flows which has all BTC transactions going into, out of, and in-between exchanges on-chain straight from the Bitcoin memory pool (unconfirmed transactions) and 3) btc_confirmed_value_flows which has all value flows on-chain (with no filtering)
id string An arbitrary id that you can specify to identify the data from the specific subscription
key string Your unique TokenAnalyst API key

Channels

Name Description
btc_confirmed_exchange_flows This channel has all BTC transactions going into, out of, and in-between exchanges on-chain, if the transaction is mined in one block.
btc_unconfirmed_exchange_flows This channel has unconfirmed BTC transactions going into, out of, and in-between exchanges on-chain straight from the Bitcoin memory pool (beta)
btc_confirmed_value_flows This channel has all BTC value flows within every transaction for any transaction that is mined in a block. For every every output in a transaction, there is a value flow that is recorded.

Error Responses

Subscribe/Unsubscribe/Error Event Response Overview

Field Type Description
success string true or false
errorCode string The error code if an error occurred. Error codes detailed below.
message string Human readable message confirming what event has occurred (successful subscription etc.)

Error Codes

Code Human Readable Response Description
1 "An unknown error occured." General error code if something went wrong
2 "Could not read request, please send proper JSON." When your request is malformed JSON
3 "You need to provide a valid API key." When your API key is not valid
4 "Channel \$name does not exist." When the channel you've subscribed to doesn't exist
5 "Not subscribed to channel \$name." When you are not subscribed to the channel you specified
6 "The field \$field is missing in the request" When one of the required request parameters are missing.

BTC Confirmed Exchange Flows Data Response Overview

Subscribing to the btc_confirmed_exchange_flows channel returns JSON structured like this:

{
  "id": "test-id",
  "event": "data",
  "data": {
    "blockNumber": 595307,
    "blockHash": "000000000000000000165c78...c5295608cd2ec5bf1a7c34",
    "transactionId": "eb98ab622365d63daf6...25932b1d8bbd1725db647",
    "timestamp": 1568735726,
    "from": ["1JBRJFRBDEgNEiXkgRR7cGyi7c1W3r1NPd"],
    "to": ["Bitmex"],
    "value": 0.00026469,
    "flowType": "Inflow"
  }
}
Field Type Description
blockNumber integer The block number where this transaction occurred
blockHash string The hash of the block where this transaction occurred
transactionId string The id of the transaction in question
timestamp integer Unix timestamp of the transaction in question
from [string] A list of sending public key hashes (if inflow) or exchange names (if outflow)
to [string] A list of receiving public key hashes (if outflow) or exchange names (if inflow)
value decimal The total amount of BTC sent in the transaction
flowType string One of either Inflow, Outflow, or InterFlow (if funds flow between different exchanges) IntraFlow (if funds flow within the same exchange's wallets)

BTC Unconfirmed Exchange Flows (Mempool) Data Response Overview

Subscribing to the btc_unconfirmed_exchange_flows (Mempool) channel returns JSON structured like this:

{
  "id": "test-id",
  "event": "data",
  "data": {
    "blockNumber": 600372,
    "probability": 1.0,
    "transactionHash": "c3960dda32e862001c963a...0724bc72502b3e14bfc",
    "seen": 1571665338,
    "feerate": 4.0153846153846547e-7,
    "from": ["1KnBtxSH4sNdMXz2gQ3vYuH9iAaPafxwTT"],
    "to": ["Binance"],
    "value": 0.01737219,
    "flowType": "Inflow"
  }
}
Field Type Description
blockNumber integer The predicted block number in which this transaction will be mined
transactionId string The id of the transaction in question
probability string Placeholder field, will be removed soon
seen integer Unix timestamp when this transaction was seen in the Memory Pool
from [string] A list of sending public key hashes (if infow) or exchange names (if outfow)
to [string] A list of receiving public key hashes (if outflow) or exchange names (if inflow)
value decimal The total amount of BTC sent in the transaction
flowType string One of either Inflow, Outflow, or InterFlow (if funds flow between different exchanges) IntraFlow (if funds flow within the same exchange's wallets)

BTC Confirmed Value Flows Data Response Overview

Subscribing to the btc_confirmed_value_flows (all flows) channel returns JSON structured like this:

{
  "id": "test-id",
  "event": "data",
  "data": {
    "blockNumber": 605732,
    "blockHash": "0000000000000000000ab29452f880860cc56008cafd4bb48bc1372b62e05497",
    "transactionId": "283a02a55ab9a7f16ec9862bbb799f3e1e940d3238afdde9c287a4029017aef7",
    "timestamp": 1574935742,
    "from": [
      "1KUPay2RCy9GHiVcie1x535SVHHSgcY1bc",
      "1KUPay2RCy9GHiVcie1x535SVHHSgcY1bc",
      "1TuoU8zq3EuLxAuyCNKWQ5vJGgr7E3i3U"
    ],
    "to": ["1TuoU8zq3EuLxAuyCNKWQ5vJGgr7E3i3U"],
    "value": 0.03123805,
    "flowType": "Unclassified"
  }
}
Field Type Description
blockNumber integer The block number where this transaction occurred
blockHash string The hash of the block where this transaction occurred
transactionId string The id of the transaction in question
timestamp integer Unix timestamp of the transaction in question
from [string] A list of sending public key hashes
to [string] A list of receiving public key hashes
value decimal The total amount of BTC sent in the transaction
flowType string Always Unclassified for now