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.

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

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.

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

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.

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

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

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

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

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

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

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

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

The above command returns JSON structured like this:

[
  {
    "date": "2020-01-14",
    "hashrate": 99607271.22,
    "block_count": 145,
  },
  {
    "date": "2020-01-15",
    "hashrate": 80799093.578,
    "block_count": 110,
  }
]

This endpoint returns the daily hashrate and blocks mined for a given day. The hashrate is denominated in TH/s and block_count is the total number of blocks mined, for a given day.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_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 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
hashrate decimal The hashrate of the blockchain for the day. Denominated in Th/s.
block_count integer The total number of blocks mined on the blockchain on this date.

BTC Total Rewards

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

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

The above command returns JSON structured like this:

[
  {
    "date": "2020-01-14",
    "block_reward": 1838.721577,
    "block_reward_usd": 15756511.73
  },
  {
    "date": "2020-01-15",
    "block_reward": 1460.60649732,
    "block_reward_usd": 12738482.28
  }
]

This endpoint returns the daily coinbase rewards. The block_reward is denominated BTC.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_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
block_reward decimal The total amount of block rewards earned on this date. Denominated in BTC.
block_reward_usd decimal block_reward * price_usd

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 every day throughout it's history.

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

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

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

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

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

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

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

curl "https://api.tokenanalyst.io/analytics/private/v1/token_utxo_age_window_historical/last?window=1d&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

Ethereum Fundamentals

ETH On-chain Volume

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

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

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

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

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

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

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

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

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

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

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

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

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

The above command returns JSON structured like this:

[
  {
    "date": "2020-01-27",
    "hashrate": 157.4803,
    "block_count": 6552,
  },
  {
    "date": "2020-01-28",
    "hashrate": 154.7753,
    "block_count": 6511,
  }
]

This endpoint returns the daily hashrate and blocks mined for a given day. The hashrate is denominated in TH/s and block_count is the total number of blocks mined, for a given day.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_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 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
hashrate decimal The hashrate of the blockchain for the day. Denominated in Th/s.
block_count integer The total number of blocks mined on the blockchain on this date.

ETH Total Rewards

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

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

The above command returns JSON structured like this:

[
  {
    "date": "2020-01-27",
    "block_reward": 13678.125,
    "block_reward_usd": 2306321.47
  },
  {
    "date": "2020-01-28",
    "block_reward": 13565.375,
    "block_reward_usd": 2333781.64
  }
]

This endpoint returns the daily coinbase rewards. The block_reward (incl. uncle rewards) is denominated ETH.

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/token_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 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
block_reward decimal The total amount of block rewards earned on this date. Denominated in ETH.
block_reward_usd decimal block_reward * price_usd

ETH 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 Ethereum network every day throughout it's history.

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

curl "https://api.tokenanalyst.io/analytics/private/v1/token_new_address_window_historical/last?format=json&token=eth&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": 52926,
    "total_number_of_addresses": 77017751
  },
  {
    "date": "2019-12-05",
    "number_of_new_addresses": 75678,
    "total_number_of_addresses": 77093429
  }
]

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

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 Ethereum 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 Ethereum network on this date

ERC20 Token Fundamentals

The stablecoins we currently support are:

Name Symbol
Tether usdt_erc20
USD Coin usdc
Paxos Standard Token pax
TrueUSD tusd
Gemini Dollar gusd
Multi-Collateral Dai dai

The 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

# 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=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 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 A token from the table that 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
volume decimal The total sum of tokens sent by addresses in transactions with a timestamp that occurs on this date.
volume_usd decimal volume * price_usd

ERC20 On-chain Transaction Count

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

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 token 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 A token from the table that 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
number_of_txns integer The number of token transactions included in blocks with a timestamp that occurs on this date

ERC20 Active Addresses

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

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 a supported token 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 A token from the table that 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
active_senders integer The total number of distinct addresses that sent tokens in transactions with a timestamp on this date (includes smart contracts)
active_recipients integer The total number of distinct addresses that received tokens in transactions with a timestamp on this date (includes smart contracts)

Exchange Balances

For the native tokens, the exchanges we currently support for balances are:

Native Token Symbol Supported Exchanges
Bitcoin btc binance, bittrex, bitstamp, bitmex, bitfinex, deribit, huobi, kraken, okex, poloniex
Ethereum eth binance, bittrex, bitstamp, bitfinex, gemini, huobi, kraken, kucoin, okex, poloniex
Tether usdt_erc20 binance, bittrex, bitfinex, kucoin, poloniex
USD Coin usdc binance, bitfinex

Full Historical Balance

This endpoint returns the balance of tokens 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 A token from the table that we support
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 tokens on a given exchange on this date.
balance_usd decimal The USD value of the amount of tokens 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

Exchange Flows

For the native tokens, the exchanges we currently support are:

Native Token Symbol Supported Exchanges
Bitcoin btc binance, bittrex, bitstamp, bitmex, bitfinex, deribit, huobi, kraken, okex, poloniex
Ethereum eth binance, bittrex, bitstamp, bitfinex, gemini, huobi, kraken, kucoin, okex, poloniex

For stablecoins, the exchanges we currently support are:

Name Symbol Supported Exchanges
Tether (Omni) usdt_omni bitfinex, kraken, huobi, okex, poloniex
Tether usdt_erc20 binance, bitfinex, bittrex, kucoin, poloniex
USD Coin usdc binance, bitfinex
Paxos Standard Token pax binance, bitfinex, bittrex
TrueUSD tusd binance, bittrex
Multi-Collateral Dai dai bittrex

For ERC20 tokens, the exchanges we currently support are:

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

Full Historical Inflows

This endpoint returns the inflow of a given token we support from 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.

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

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 above command returns JSON structured like this:

[
  {
    "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 A token from the table that we support
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 of a given token 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 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).
hour * string The hour of the day in HH:MM:SS (UTC time zone).
inflow decimal The total amount of tokens that flowed into the exchange on this date. Denominated by the given token.
inflow_usd decimal The USD value of the total amount of tokens that flowed into the exchange on this date
number_of_txns integer The number of transactions sending tokens into a given exchange on this date.

Note: All fields with a * are optional and appears when window is 1h.

Full Historical Outflows

This endpoint returns the outflow of a given token 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?

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

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 above command returns JSON structured like this:

[
  {
    "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 A token from the table that we support
direction string outflow
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 of a given 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 tokens 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 tokens out of this exchange on this date.
outflow decimal The total amount of tokens that flowed out of the exchange on this date. Denominated by the given token.
outflow_usd decimal The USD value of the total amount of tokens that flowed out of the exchange on this date

Exchange to Exchange Flows

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

For this endpoint, the tokens we currently support are btc and eth.

HTTP Request

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

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

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 above command returns JSON structured like this:

[
  {
    "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 A token from the table that we support
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 tokens 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 tokens 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).
hour * string The hour of the day in HH:MM:SS (UTC time zone).
number_of_txns integer The number of transactions sending tokens into from an exchange to another exchange on this date.
value decimal The total amount of tokens transferred from an exchange to another exchange on this date.
value_usd decimal The value in USD of the total amount of tokens transferred from an exchange to another exchange on this date.

Note: All fields with a * are optional and appears when window is 1h

Bitcoin Miner Stats

For Bitcoin Miner Hashrate, Miner Rewards, Miner Historical Inflow, Miner Historical Outflow and Miner Balances endpoints, the supported miners/mining pools in the query parameter miner are:

Miner Name miner
Antpool antpool
BTC.TOP btc-top
BTC-com btc-com
BitFury bitfury
F2Pool f2pool
Huobi Pool huobi-pool
Poolin poolin
SlushPool slushpool
viaBTC viabtc
1THash&58coin 1thash%2658coin
Others † others
Unknown † unknown

Miner addresses that we have identified but are not supported have a miner name of others. Similarly, miner addresses that are unlabelled have a miner name of unknown

Note: All miners with a † are not supported for Miner Balances endpoint.

BTC Miner Hashrate

This endpoint returns the daily miner specific hashrates for all the miners we cover. The hashrate are denominated in TH/s. The block_count are the number of blocks mined by a specific miner.

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

curl "https://api.tokenanalyst.io/analytics/private/v1/token_miner_hashrate_window_historical/last?format=json&miner=antpool&token=btc&window=1d&from_date=2020-01-22&to_date=2020-01-23&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2020-01-22",
    "hashrate": 13956207.0726,
    "block_count": 19,
    "hashrate_pct": 12.1795
  },
  {
    "date": "2020-01-23",
    "hashrate": 12487132.6439,
    "block_count": 17,
    "hashrate_pct": 10.6918
  }
]

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
miner string A miner from the table that we support
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
hashrate decimal The hashrate contribution of a given miner for the day. Denominated in Th/s.
block_count integer The total number of blocks mined by a given miner on this date
hashrate_pct decimal The percentage of the daily hashrate contributed by the miner. (miner_daily_hashrate/total_daily_hashrate)*100

BTC Miner Rewards

This endpoint returns the daily coinbase rewards earned by all the miners we cover (incl. txn fees). The block_reward is denominated BTC.

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

curl "https://api.tokenanalyst.io/analytics/private/v1/token_rewards_hashrate_window_historical/last?format=json&miner=antpool&token=btc&window=1d&from_date=2020-01-22&to_date=2020-01-23&limit=2&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2020-01-22",
    "block_reward": 240.2266818,
    "block_reward_usd": 2086207.8
  },
  {
    "date": "2020-01-23",
    "block_reward": 215.34830001,
    "block_reward_usd": 1816345.79
  }
]

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
miner string A miner from the table that we support
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
block_reward decimal The total amount of block rewards earned by a given miner on this date. Denominated in BTC.
block_reward_usd decimal block_reward * price_usd

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

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

curl "https://api.tokenanalyst.io/analytics/private/v1/miner_flow_window_historical/last?token=btc&direction=inflow&window=1h&miner=f2pool&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",
    "hour": "19:00:00", // not available when window 1d
    "datetime": "2019-02-08 19:00:00", // not available when window 1d
    "inflow": 12.79939595,
    "inflow_usd": 46978.65,
    "number_of_txns": 1,
    "avg_txn_value": 12.79939595,
    "avg_txn_value_usd": 46978.65,
  },
  {
    "date": "2019-02-08",
    "hour": "20:00:00", // not available when window 1d
    "datetime": "2019-02-08 20:00:00", // not available when window 1d
    "inflow": 12.56972757,
    "inflow_usd": 46007.34,
    "number_of_txns": 1,
    "avg_txn_value": 12.56972757,
    "avg_txn_value_usd": 46007.34,
  }
]

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
direction string inflow
window string 1h or 1d
miner string A miner 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
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 BTC that flowed into the miner on this date/hour.
inflow_usd decimal The USD value of the total amount of BTC that flowed into the miner on this date/hour
number_of_txns integer The number of transactions sending BTC into this miner on this date/hour.
avg_txn_value decimal The average amount of BTC transferred per transaction into the given miner on this date/hour.
avg_txn_value_usd decimal The USD value of the average amount of BTC transferred per transaction into the given miner on this date/hour.

BTC Miner Full Historical Outflow

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, outflow, and number_of_txns are calculated over the window (either 1 hour or 1 day). The hour is in UTC.

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

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

The above command returns JSON structured like this:

[
  {
    "date": "2019-01-01",
    "hour": "11:00:00", // not available when window 1d
    "datetime": "2019-01-01 11:00:00", // not available when window 1d
    "outflow": 12.52530201,
    "outflow_usd": 46992.93,
    "number_of_txns": 1,
    "avg_txn_value": 12.52530201,
    "avg_txn_value_usd": 46992.93,
  },
  {
    "date": "2019-01-01",
    "hour": "12:00:00", // not available when window 1d
    "datetime": "2019-01-01 12:00:00", // not available when window 1d
    "outflow": 12.53417305,
    "outflow_usd": 47204.95,
    "number_of_txns": 1,
    "avg_txn_value": 12.53417305,
    "avg_txn_value_usd": 47204.95,
  }
]

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
direction string outflow
window string 1h or 1d
miner string A miner 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)

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 BTC that flowed out of the miner on this date/hour. Denominated in BTC.
outflow_usd decimal The USD value of the total amount of BTC that flowed out of the miner on this date/hour
number_of_txns integer The number of transactions sending BTC out of this miner on this date/hour.
avg_txn_value decimal The average amount of BTC 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 BTC transferred per transaction out of the given miner on this date/hour.

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

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

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=API_KEY"

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

BTC Miner Balances

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

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

curl "https://api.tokenanalyst.io/analytics/private/v1/miner_balance_window_historical/last?token=btc&window=1h&miner=slushpool&from_date=2019-01-01&to_date=2019-02-08&format=json&key=API_KEY"

The above command returns JSON structured like this:

[
  {
    "date": "2019-01-01",
    "hour": "00:00:00", // not available when window 1d
    "datetime": "2019-01-01 00:00:00", // not available when window 1d
    "balance": 1000.50560683,
    "balance_usd": 3752806.49
  },
  {
    "date": "2019-01-01",
    "hour": "01:00:00", // not available when window 1d
    "datetime": "2019-01-01 01:00:00", // not available when window 1d
    "balance": 997.17045289,
    "balance_usd": 3725528.53
  }
]

HTTP Request

GET https://api.tokenanalyst.io/analytics/private/v1/miner_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
window string 1h or 1d
miner string A miner 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
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
balance decimal The amount of BTC for a given miner on this date.
balance_usd decimal The USD value of the amount of BTC for a given miner on this date.

Ethereum Miner Stats

For Ethereum Miner Hashrate and Miner Rewards endpoints, the supported miners/mining pools in the query parameter miner are:

Miner Name miner
BitClubPool bitclubpool
Coinotron3 coinotron3
DwarfPool1 dwarfpool1
Ethermine ethermine
Ethpool2 ethpool2
F2Pool2 f2pool2
MiningPoolHub miningpoolhub
NanoPool nanopool
SparkPool sparkpool
Zhizhu.top zhizhu-top
Others others
Unknown unknown

Miner addresses that we have identified but are not supported have a miner name of others. Similarly, miner addresses that are unlabelled have a miner name of unknown

ETH Miner Hashrate

This endpoint returns the daily miner specific hashrates for all the miners we cover. The hashrate are denominated in TH/s. The block_count are the number of blocks mined by a specific miner.

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

curl "https://api.tokenanalyst.io/analytics/private/v1/token_miner_hashrate_window_historical/last?format=json&miner=nanopool&token=eth&window=1d&from_date=2020-01-22&to_date=2020-01-23&limit=2&key=API_KEY"
[
  {
    "date": "2020-01-22",
    "hashrate": 12.5367,
    "block_count": 518,
    "hashrate_pct": 8.003
  },
  {
    "date": "2020-01-23",
    "hashrate": 12.533,
    "block_count": 522,
    "hashrate_pct": 7.9325
  }
]

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
miner miner A miner from the table that 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
hashrate decimal The hashrate contribution of a given miner for the day. Denominated in Th/s.
block_count integer The total number of blocks mined by a given miner on this date
hashrate_pct decimal The percentage of the daily hashrate contributed by the miner. (miner_daily_hashrate/total_daily_hashrate)*100

ETH Miner Rewards

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

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

The above command returns JSON structured like this:

[
  {
    "date": "2020-01-22",
    "block_reward": 1091.75,
    "block_reward_usd": 183502.22
  },
  {
    "date": "2020-01-23",
    "block_reward": 1100.3125,
    "block_reward_usd": 179312.62
  }
]

This endpoint returns the daily rewards earned by all the miners we cover (incl. uncle rewards). The block_reward is denominated 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
miner string A miner from the table that we support
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
block_reward decimal The total amount of block rewards earned by a given miner on this date. Denominated in ETH.
block_reward_usd decimal block_reward * price_usd

ETH 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
Coinotron coinotron3 binance, bitfinex, bittrex, kraken, poloniex
Dwarfpool dwarfpool1 binance, bitfinex, bittrex, kraken, kucoin, poloniex
Ethermine ethermine binance, bitfinex, bittrex, kraken, kucoin, poloniex
Ethpool ethpool2 binance, kraken
F2 Pool f2pool2 binance, bitfinex, bittrex, kraken, kucoin
Miningpoolhub miningpoolhub binance, bitfinex, bittrex, kraken, kucoin
Nanopool nanopool binance, bitfinex, bittrex, kraken, kucoin, poloniex
Sparkpool sparkpool bitfinex
zhizhu.top zhizhu-top binance, bittrex

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

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

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

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

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

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.

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

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.

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

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.

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

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.

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

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.

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

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

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

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

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

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

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 A token 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
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)

Data Catalog

The TokenAnalyst Data Catalog is a RESTful service that allows you to find the API endpoints of all 1000+ datasets that we offer, along with all possible values for each particular dataset.

Dataset Types

Return a list of all the current Dataset types that can be used for further Data Catalog queries.

HTTP Request

GET https://api.tokenanalyst.io/catalog/data

curl "https://api.tokenanalyst.io/catalog/data"

The above command returns JSON structured like this:

[
 {
        "name": "entity_to_entity_flow_window_historical",
        "description": "On-chain flows between entities",
        "tier": 2
    },
    {
        "name": "token_supply_window_historical",
        "description": "Token supply over time",
        "tier": 1
    },
    {
        "name": "token_price_usd_window_historical",
        "description": "Historical token prices in USD",
        "tier": 1
    },
    ...
]

Data Overview

All of the following dataset queries will have the same metadata at the top of the JSON structure.

Field Type Description
name string The name of the dataset type that can be used in subsequent Data Catalog calls.
description string A description of the dataset type.
tier string Numerical representation of the type of subscription required to access this set where 0 = Free, 2 = Pro, 3 = Enterprise.

By Name

Return a list of all the datasets of a given dataset type.

HTTP Request

GET https://api.tokenanalyst.io/catalog/data/{name}

curl "https://api.tokenanalyst.io/catalog/data/exchange_flow_window_historical"

The above command returns JSON structured like this:

{
    "name": "exchange_flow_window_historical",
    "description": "",
    "tier": 2,
    "jobs": [
        {
            "name": "btc_exchange_outflow_1h",
            "schema": {
                "date": {
                    "type": "date",
                    "format": "{date_format}"
                },
                "hour": {
                    "type": "hour",
                    "format": "{hour_format}"
                },
                "outflow": {
                    "type": "float",
                    "precision": "{satoshi_precision}"
                },
                "datetime": {
                    "type": "datetime",
                    "format": "{datetime_format}"
                },
                "outflow_usd": {
                    "type": "float",
                    "precision": "{usd_precision}"
                },
                "avg_txn_value": {
                    "type": "float",
                    "precision": "{satoshi_precision}"
                },
                "number_of_txns": {
                    "type": "int"
                },
                "avg_txn_value_usd": {
                    "type": "float",
                    "precision": "{usd_precision}"
                }
            },
            "endpoints": [
                {
                    "url_parameters": "token=btc&window=1h&exchange=binance&direction=outflow",
                    "name": "btc_binance_outflow_1h_historical",
                    "parameters": {
                        "token": "btc",
                        "window": "1h",
                        "exchange": "binance",
                        "direction": "outflow"
                    }
                },
                {
                    "url_parameters": "token=btc&window=1h&exchange=kraken&direction=outflow",
                    "name": "btc_kraken_outflow_1h_historical",
                    "parameters": {
                        "token": "btc",
                        "window": "1h",
                        "exchange": "kraken",
                        "direction": "outflow"
                    }
                },
                ...
            ]
        },
        {
            "name": "erc20_exchange_split_outflow_historical",
            "schema": {
                "date": {
                    "type": "date",
                    "format": "{date_format}"
                },
                "hour": {
                    "type": "hour",
                    "format": "{hour_format}"
                },
                "outflow": {
                    "type": "float",
                    "precision": "{default_precision}"
                },
                "datetime": {
                    "type": "datetime",
                    "format": "{datetime_format}"
                },
                "outflow_usd": {
                    "type": "float",
                    "precision": "{usd_precision}"
                },
                "avg_txn_value": {
                    "type": "float",
                    "precision": "{default_precision}"
                },
                "number_of_txns": {
                    "type": "int"
                },
                "avg_txn_value_usd": {
                    "type": "float",
                    "precision": "{usd_precision}"
                }
            },
            "endpoints": [
                {
                    "url_parameters": "token=usdt_erc20&window=1h&exchange=binance&direction=outflow",
                    "name": "usdt_erc20_binance_outflow_1h_historical",
                    "parameters": {
                        "token": "usdt_erc20",
                        "window": "1h",
                        "exchange": "binance",
                        "direction": "outflow"
                    }
                },
                {
                    "url_parameters": "token=usdt_erc20&window=1h&exchange=bitfinex&direction=outflow",
                    "name": "usdt_erc20_bitfinex_outflow_1h_historical",
                    "parameters": {
                        "token": "usdt_erc20",
                        "window": "1h",
                        "exchange": "bitfinex",
                        "direction": "outflow"
                    }
                },
                ...
            ]
        },
        ...
    ]
}

URL Segments

Parameter Type Description
name string The dataset type name (see above)

Dataset Values

Field Type Description
name string The name of the dataset
schema object The sschema for the dataset
endpoints string The list of possible parameters combination for the dataset
endpoints.name string The name of the parameter combination
endpoints.parameters object Parameters
endpoints.url_parameters string Parameters in url query parameters format

You can also filter the endpoints by parameters. i.e. if you want to filter where the exchange is "binance", you can call:

curl "https://api.tokenanalyst.io/catalog/data/exchange_flow_window_historical?exchange=binance"

The can also be combined: shell curl "https://api.tokenanalyst.io/catalog/data/exchange_flow_window_historical?exchange=binance&token=btc"

curl "https://api.tokenanalyst.io/catalog/data/entity_to_entity_flow_window_historical?token=eth&to_entity=binance&window=1h"

Supported Values

The following list of API calls allow you to query all the possible values for a given parameter, optionally filtering by a second parameter. This would allow you to for example query all the tokens supported by a given dataset type, or the tokens supported for a given exchange.

Possible values

Return an array of supported values for a given parameter.

HTTP Request

GET https://api.tokenanalyst.io/catalog/data/{name}/{parameter}

curl "https://api.tokenanalyst.io/catalog/data/exchange_flow_window_historical/token"

The above command returns an array like the below:

[
    "rep",
    "rlc",
    "link",
    "dai",
    "usdc",
    "mana",
    "omg",
    "gnt",
    "btc",
    "bat",
    "usdt_omni",
    "pax",
    "cvc",
    "mkr",
    "knc",
    "usdt_erc20",
    "tusd",
    "loom",
    "nmr",
    "snt",
    "eth",
    "zrx"
]

URL Segments

Parameter Type Description
name string The dataset type name (see above)
parameter string The parameter to get possible values of

Possible values, filtered

Return an array of supported values for a given parameter, filtering by another parameter.

HTTP Request

GET https://api.tokenanalyst.io/catalog/data/{name}/{filter_parameter}/{filter_value}/{parameter}

curl "https://api.tokenanalyst.io/catalog/data/entity_to_entity_flow_window_historical/window/1h/to_entity"

The above command returns an array like the below:

[
    "binance",
    "bitfinex",
    "bitmex",
    "bitstamp",
    "bittrex",
    "deribit",
    "huobi",
    "kraken",
    "kucoin",
    "okex",
    "poloniex"
]

URL Segments

Parameter Type Description
name string The dataset type name (see above)
filter_parameter string The parameter to use as a filter
filter_value string The value to filter with
parameter string The parameter to get possible values of