All pages
Powered by GitBook
1 of 11

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Kaiko Market Explorer

Explore market dynamics of assets and exchanges, including trading volumes, market depth, token metrics, and both on-chain and off-chain transaction data.

Total Value Locked (TVL)

  • Market Explorer [Total Value Locked]

  • Market Explorer [Full Coverage]

What is this endpoint for?

This endpoint receives information on the Total Value Locked (TVL) of all DeFi protocols covered by Kaiko.

Endpoint

https://us.market-api.kaiko.io/v2/data/tvl/

Parameters

Parameter
Required
Description
Example

protocol

No

Field
Description
Example

The desired protocol code. If not specified, the endpoint will return the list of all protocol codes.

aave

start_date

No

Starting date in YYYYMMDD (inclusive).

20230125

end_date

No

Ending date in YYYYMMDD (exclusive).

20230126

start_time

No

Starting time in ISO 8601 (inclusive) Hours will be ignored.

2023-01-25T00:00:00.00

end_time

No

Ending time in ISO 8601 (exclusive) Hours will be ignored.

2023-01-26T00:00:00.00

page_size

No

See Minimum: 1 Maximum: 1000

Default: 1000

100

sort

No

If asc, sort time-series in ascending. If desc, sort time-series in descending. Default: desc

asc

timestamp

Timestamp at which the interval begins.

1763856000

protocol_name

Protocol name.

curl --compressed -H 'Accept: application/json' -H 'X-Api-Key: <client-api-key>' \
'https://us.market-api.kaiko.io/v2/data/tvl?start_date=20251001&protocol=aave'
import http.client
import json

# Enter your Kaiko API Key
api_key = "KAIKO_API_KEY"
api_host = "us.market-api.kaiko.io"
api_base_endpoint = "/v2/data/tvl"
# Start of mandatory parameter configuration
mandatory_params = {

}
# End of mandatory parameter configuration
# Start of optional parameter configuration
optional_params = {
    'start_date':'20251001',
    'page_size':100,
    'sort':'desc',
    'protocol':'aave'
}
# End of optional parameter configuration
conn = http.client.HTTPSConnection(api_host)
headers = {
    "X-Api-Key": api_key,
    "Accept": "application/json"
}

all_params = {**mandatory_params, **optional_params}

url_params = []
for param, value in all_params.items():
    url_params.append(f"{param}={value}")
url_params = '&'.join(url_params)

endpoint_with_params = f"{api_base_endpoint}?{url_params}"

# Pagination for next pages
all_data = []
next_url = endpoint_with_params
while next_url:
    conn.request("GET", next_url, headers=headers)
    response = conn.getresponse()
    data = json.loads(response.read().decode("utf-8"))
    all_data.extend(data.get("data", []))
    print(f"Fetched {len(data.get('data', []))} datapoints. Total: {len(all_data)}")
    next_url = data.get("next_url", "").replace("https://us.market-api.kaiko.io", "")
    if not next_url:
        break
conn.close()
print(f" datapoints fetched: {(all_data)}")
{
    "query":
    {
        "protocol": "aave",
        "start_date": "seconds:1759276800",
        "end_date": "seconds:1764028800",
        "sort": "desc",
        "page_size": "1"
    },
    "time": "2025-11-25T10:20:15.37953193Z",
    "timestamp": 1764066015,
    "data":
    [
        {
            "timestamp": 1763856000,
            "protocol_name": "Aave",
            "protocol_code": "aave",
            "tvl": 50404639283.57133
        },
        /** Results **/
    ],
    "continuation_token": "xxx",
    "next_url": "https://eu.market-api.kaiko.io/v2/data/tvl?continuation_token=xxx"
}

Fields

Request examples

Response example

This data is included in the following Kaiko packages:

Aave

protocol_code

Protocol code.

aave

tvl

Total value locked (TVL) in USD.

5.04046e+10

Pagination

Supply and Market Cap

Kaiko's Supply and Market Cap Data covers circulating supply metrics for crypto assets through normalized API endpoints.

Aggregated Supply

  • Market Explorer [Supply and Market Cap]

  • Market Explorer [Full Coverage]

What is this endpoint for?

This endpoint aggregates from the Supply endpoint to provide an aggregated view of supply and market capitalization.

Data can be aggregated between 5-minute and 30-day intervals; the aggregation considers each 5-minute interval from the raw supply data that falls between the start_time and end_time configured.

Read our supply and market cap methodology here.

Endpoint

https://us.market-api.kaiko.io/v2/data/supply.v2/aggregated/{asset}

Parameters

Parameter
Required
Description
Example
Field
Description
Example

Supply Per Blockchain

  • Kaiko Market Explorer [Full Coverage]

  • Kaiko Market Explorer [Supply and Market Cap]

What is this endpoint for?

This endpoint receives the supply of an asset on a single blockchain, including circulating supply and market capitalization where available.

To retrieve supply across all chains for an asset, use the Aggregated Supply endpoint with the blockchain query parameter, or call this endpoint once per chain.

Endpoint

https://us.market-api.kaiko.io/v2/data/supply.v2/blockchain-level/{blockchain}/{asset}

Parameters

Parameter
Required
Description
Example
Field
Description
Example

Market cap ranking

This endpoint aggregates from the endpoint to provide an aggregated view of supply and market capitalization of the top assets at a specified time.

Data can be aggregated between 5-minute and 30-day intervals; the aggregation considers each 5-minute interval from the .

Read our supply and market cap methodology .

Parameter
Required
Description
Example

2023-01-26T00:00:00.000Z

interval

No

The interval parameter is suffixed with m, h or d to specify minutes, hours, or days, respectively Any arbitrary value between five minutes and 30 days can be used. Default: 1h.

4h

page_size

No

See Minimum: 1 Maximum: 100

Default: 100

100

blockchain

No

Normalized blockchain identifier. Common values: ethereum, solana, polygon, arbitrum, canton.

ethereum

circulating_supply

Circulating supply

1.99373e+07

market_cap

Market capitalisation

2.2094e+12

total_supply

Total supply

1.99373e+07

asset

Yes

The desired asset code See

btc

start_time

No

Starting time in ISO 8601 (inclusive)

2023-01-25T00:00:00.00

end_time

No

timestamp

Timestamp at which the interval begins

1760918400

asset

Asset

curl --compressed -H 'Accept: application/json' -H 'X-Api-Key: <client-api-key>' \
'https://us.market-api.kaiko.io/v2/data/supply.v2/aggregated/btc?start_time=2025-10-20T00:00:00.000Z&end_time=2025-10-21T00:00:00.000Z&page_size=100&interval=1d'
import http.client
import json

# Enter your Kaiko API Key
api_key = "KAIKO_API_KEY"
api_host = "us.market-api.kaiko.io"
api_base_endpoint = "/v2/data/supply.v2/aggregated/btc"
# Start of mandatory parameter configuration
mandatory_params = {
    'start_time':'2025-10-20T00:00:00.000Z',
    'end_time':'2025-10-21T00:00:00.000Z',
    'page_size':100,
    'interval':'1d'
}
# End of mandatory parameter configuration
# Start of optional parameter configuration
optional_params = {
    
}
# End of optional parameter configuration
conn = http.client.HTTPSConnection(api_host)
headers = {
    "X-Api-Key": api_key,
    "Accept": "application/json"
}

all_params = {**mandatory_params, **optional_params}

url_params = []
for param, value in all_params.items():
    url_params.append(f"{param}={value}")
url_params = '&'.join(url_params)

endpoint_with_params = f"{api_base_endpoint}?{url_params}"

# Pagination for next pages
all_data = []
next_url = endpoint_with_params
while next_url:
    conn.request("GET", next_url, headers=headers)
    response = conn.getresponse()
    data = json.loads(response.read().decode("utf-8"))
    all_data.extend(data.get("data", []))
    print(f"Fetched {len(data.get('data', []))} datapoints. Total: {len(all_data)}")
    next_url = data.get("next_url", "").replace("https://us.market-api.kaiko.io", "")
    if not next_url:
        break
conn.close()
print(f" datapoints fetched: {(all_data)}")
{
    "query":
    {
        "start_time": "2025-10-20T00:00:00.000Z",
        "end_time": "2025-10-21T00:00:00.000Z",
        "page_size": 100,
        "asset": "btc",
        "interval": "1d",
        "sort": "asc",
        "request_time": "2025-11-12T14:18:27.226Z",
        "start_timestamp": 1760918400000,
        "end_timestamp": 1761004800000
    },
    "time": "2025-11-12T14:18:27.253Z",
    "timestamp": 1762957107253,
    "data":
    [
        {
            "timestamp": 1760918400,
            "asset": "btc",
            "circulating_supply": 19937318.75,
            "market_cap": 2209402368348.39,
            "total_supply": 19937318.75
        }
        /** Results **/
    ],
    "result": "success",
    "continuation_token": "xxx",
    "next_url": "https://us.market-api.kaiko.io/v2/data/supply.v2/aggregated/btc?continuation_token=xxx",
    "access":
    {
        "access_range":
        {
            "start_timestamp": 1073001600000,
            "end_timestamp": "None"
        },
        "data_range":
        {
            "start_timestamp": "None",
            "end_timestamp": "None"
        }
    }
}

Fields

Request examples

Response example

This data is included in the following Kaiko packages:

Ending time in ISO 8601 (exclusive)

btc

blockchain

Blockchain name

ethereum

total_supply

Total supply on this chain

28535000000.00

circulating_supply

Circulating supply on this chain. null for Canton instruments.

28535000000.00

market_cap

Market capitalization on this chain. null for Canton instruments.

28535000000.00

blockchain

Yes

Normalized blockchain identifier. Common values: ethereum, solana, polygon, arbitrum, canton.

ethereum

asset

Yes

The desired asset code. See .

usdc

start_time

No

Starting time in ISO 8601 (inclusive).

2026-04-14T00:00:00.000Z

end_time

No

Ending time in ISO 8601 (exclusive).

2026-04-16T00:00:00.000Z

sort

No

Sort direction by timestamp (asc / desc). Default: desc.

desc

page_size

No

See Pagination. Minimum: 1 Maximum: 1000 Default: 100.

100

timestamp

Timestamp at which the interval begins

1744848000

asset

Asset

curl --request GET \
  --url 'https://us.market-api.kaiko.io/v2/data/supply.v2/blockchain-level/canton/cbtc?start_time=2026-05-13T00:00:00Z&end_time=2026-05-13T23:59:59Z&page_size=10&sort=desc' \
  --header 'Accept: application/json' \
  --header 'X-Api-Key: KAIKO_API_KEY'
import http.client
import json

# Enter your Kaiko API Key
api_key = "KAIKO_API_KEY"
api_host = "us.market-api.kaiko.io"
api_base_endpoint = "/v2/data/supply.v2/blockchain-level/canton/cbtc"
# Start of mandatory parameter configuration
mandatory_params = {

}
# End of mandatory parameter configuration
# Start of optional parameter configuration
optional_params = {
    'start_time':'2026-05-13T00:00:00Z',
    'end_time':'2026-05-13T23:59:59Z',
    'page_size':10,
    'sort':'desc'
}
# End of optional parameter configuration
conn = http.client.HTTPSConnection(api_host)
headers = {
    "X-Api-Key": api_key,
    "Accept": "application/json"
}

all_params = {**mandatory_params, **optional_params}

url_params = []
for param, value in all_params.items():
    url_params.append(f"{param}={value}")
url_params = '&'.join(url_params)

endpoint_with_params = f"{api_base_endpoint}?{url_params}"

# Pagination for next pages
all_data = []
next_url = endpoint_with_params
while next_url:
    conn.request("GET", next_url, headers=headers)
    response = conn.getresponse()
    data = json.loads(response.read().decode("utf-8"))
    all_data.extend(data.get("data", []))
    print(f"Fetched {len(data.get('data', []))} datapoints. Total: {len(all_data)}")
    next_url = data.get("next_url", "").replace("https://us.market-api.kaiko.io", "")
    if not next_url:
        break
conn.close()
print(f" datapoints fetched: {(all_data)}")
{
    "query": {
        "start_time": "2026-05-13T00:00:00.000Z",
        "end_time": "2026-05-13T23:59:59.000Z",
        "page_size": 10,
        "asset": "cbtc",
        "blockchain": "canton",
        "sort": "desc",
        "request_time": "2026-05-13T07:57:55.131Z",
        "start_timestamp": 1778630400000,
        "end_timestamp": 1778716799000
    },
    "time": "2026-05-13T07:57:55.136Z",
    "timestamp": 1778659075136,
    "data": [
        {
            "timestamp": 1778655600,
            "asset": "cbtc",
            "blockchain": "canton",
            "total_supply": 29.0089104357,
            "circulating_supply": null,
            "market_cap": null
        }
        /** Results **/
    ],
    "result": "success",
    "access": {
        "access_range": {
            "start_timestamp": 1578006000000,
            "end_timestamp": 1893625200000
        },
        "data_range": {
            "start_timestamp": 1578006000000,
            "end_timestamp": 1893625200000
        }
    }
}

Fields

Request examples

Response example

This data is included in the following Kaiko packages:

usdc

datetime

No

Time in ISO 8601. Default: Current time.

2023-01-25T00:00:00.00

interval

No

The interval parameter is suffixed with m, h or d to specify minutes, hours, or days, respectively. Any arbitrary value between five minutes and 30 days can be used. Default: 1d.

4h

count

No

Number of assets in the result. Ex: 10 to retrieve the top 10 assets. Default: 100.

10

Field
Description
Example

datetime

Timestamp in seconds.

1760918400

asset

Asset.

curl --compressed -H 'Accept: application/json' -H 'X-Api-Key: <client-api-key>' \
'https://us.market-api.kaiko.io/v2/data/supply.v2/top?datetime=2026-01-01T00:00:00.000Z&count=10&interval=1d'
import http.client
import json

# Enter your Kaiko API Key
api_key = "KAIKO_API_KEY"
api_host = "us.market-api.kaiko.io"
api_base_endpoint = "/v2/data/supply.v2/top"
# Start of mandatory parameter configuration
mandatory_params = {
    'datetime':'2026-01-01T00:00:00.000Z',
    'count':10,
    'interval':'1d'
}
# End of mandatory parameter configuration
# Start of optional parameter configuration
optional_params = {
    
}
# End of optional parameter configuration
conn = http.client.HTTPSConnection(api_host)
headers = {
    "X-Api-Key": api_key,
    "Accept": "application/json"
}

all_params = {**mandatory_params, **optional_params}

url_params = []
for param, value in all_params.items():
    url_params.append(f"{param}={value}")
url_params = '&'.join(url_params)

endpoint_with_params = f"{api_base_endpoint}?{url_params}"

# Pagination for next pages
all_data = []
next_url = endpoint_with_params
while next_url:
    conn.request("GET", next_url, headers=headers)
    response = conn.getresponse()
    data = json.loads(response.read().decode("utf-8"))
    all_data.extend(data.get("data", []))
    print(f"Fetched {len(data.get('data', []))} datapoints. Total: {len(all_data)}")
    next_url = data.get("next_url", "").replace("https://us.market-api.kaiko.io", "")
    if not next_url:
        break
conn.close()
print(f" datapoints fetched: {(all_data)}")
https://us.market-api.kaiko.io/v2/data/supply.v2/top

This data is included in the following Kaiko packages:

  • Kaiko Market Explorer [Full Coverage]

  • Kaiko Market Explorer [Supply and Market Cap]

What is this endpoint for?

Endpoint

Parameters

Supply
raw supply data
here
{
    "query":
    {
        "datetime": "2026-01-01T00:00:00.000Z",
        "count": 10,
        "interval": "1d"
    },
    "time": "2026-02-10T13:10:35.136Z",
    "timestamp": 1770729035136,
    "data":
    [
        {
            "datetime": 1767225600,
            "asset": "btc",
            "rank": 1,
            "total_supply": 19969814.0625,
            "circulating_supply": 19969814.0625,
            "market_cap": 1754840038141.7961
        },
        {
            "datetime": 1767225600,
            "asset": "eth",
            "rank": 2,
            "total_supply": 120694917.35776222,
            "circulating_supply": 120694917.35776222,
            "market_cap": 359309601750.3176
        },
        {
            "datetime": 1767225600,
            "asset": "usdt",
            "rank": 3,
            "total_supply": 191200669545.90054,
            "circulating_supply": 186408947507.7797,
            "market_cap": 186164285382.73282
        },
        /** Results **/

    ],
    "result": "success"
}

Fields

Request examples

Response example

Staking rates

  • Kaiko Market Explorer [Full Coverage]

  • Kaiko Market Explorer [Supply and Market Cap]

What is this endpoint for?

Returns time-series staking metrics for a specified blockchain protocol. The endpoint covers protocol-level data including validator counts, and yield metrics.

Endpoint

https://us.market-api.kaiko.io/v2/data/staking.v1/protocols/{protocol}

Parameters

Parameter
Required
Description
Example

protocol

Yes

Field
Description
Example

btc

rank

The ranking of the asset in terms of market cap.

1

total_supply

Total supply.

1.99373e+07

circulating_supply

Circulating supply.

1.99373e+07

market_cap

Market capitalisation.

2.2094e+12

Asset codes
Pagination

apr

Daily APR

4.758636

validators

Number of validators

777

methodology

The methodology used to compute the APR

epoch_aggregate_v1

The desired protocol code. If not specified, the endpoint will return the list of all protocol codes and methodologies.

solana

methodology

No

The desired metodology code.

epoch_aggregate_v1

start_time

No

Starting time in ISO 8601 (inclusive)

2023-01-25T00:00:00.00

end_time

No

Ending time in ISO 8601 (exclusive)

2023-01-25T00:00:00.00

start_date

No

Starting date in YYYYMMDD (inclusive).

20250101

end_sate

No

Ending date in YYYYMMDD (exclusive).

20250102

page_size

No

See Pagination Minimum: 1 Maximum: 1000

Default: 1000

100

sort

No

If asc, sort time-series in ascending. If desc, sort time-series in descending. Default: desc

asc

date

Date at which the interval begins.

2026-04-21

protocol

Protocol code.

Fields

Request examples

Response example

This data is included in the following Kaiko packages:

solana

curl --compressed -H 'Accept: application/json' -H 'X-Api-Key: <client-api-key>' \
'https://us.market-api.kaiko.io/v2/data/staking.v1/protocols/solana?start_date=20261001'
import http.client
import json

# Enter your Kaiko API Key
api_key = "KAIKO_API_KEY"
api_host = "us.market-api.kaiko.io"
api_base_endpoint = "/v2/data/staking.v1/protocols/solana"
# Start of mandatory parameter configuration
mandatory_params = {

}
# End of mandatory parameter configuration
# Start of optional parameter configuration
optional_params = {
    'start_date':'20251001',
    'page_size':100,
    'sort':'desc',
    'methodology':'epoch_aggregate_v1'
}
# End of optional parameter configuration
conn = http.client.HTTPSConnection(api_host)
headers = {
    "X-Api-Key": api_key,
    "Accept": "application/json"
}

all_params = {**mandatory_params, **optional_params}

url_params = []
for param, value in all_params.items():
    url_params.append(f"{param}={value}")
url_params = '&'.join(url_params)

endpoint_with_params = f"{api_base_endpoint}?{url_params}"

# Pagination for next pages
all_data = []
next_url = endpoint_with_params
while next_url:
    conn.request("GET", next_url, headers=headers)
    response = conn.getresponse()
    data = json.loads(response.read().decode("utf-8"))
    all_data.extend(data.get("data", []))
    print(f"Fetched {len(data.get('data', []))} datapoints. Total: {len(all_data)}")
    next_url = data.get("next_url", "").replace("https://us.market-api.kaiko.io", "")
    if not next_url:
        break
conn.close()
print(f" datapoints fetched: {(all_data)}")
{
    "query":
    {
        "start_date": "20260101",
        "end_date": "20260422",
        "start_time": "2026-01-01T00:00:00Z",
        "end_time": "2026-04-22T00:00:00Z",
        "sort": "descending",
        "page_size": "10",
        "methodology": "epoch_aggregate_v1"
    },
    "time": "2026-04-22T14:46:38.274392363Z",
    "timestamp": 1776869198,
    "data":
    [
        {
            "date": "2026-04-21",
            "protocol": "solana",
            "apr": 4.758636113435191,
            "validators": 777,
            "methodology": "epoch_aggregate_v1"
        },
        /** Results **/
    ],
    "continuation_token": "xxx",
    "next_url": "https://eu.market-api.kaiko.io/v2/data/staking.v1/protocols/solana?continuation_token=xxx"
}

Supply

  • Market Explorer [Supply and Market Cap]

  • Market Explorer [Full Coverage]

What is this endpoint for?

This endpoint receives information on the supply of each asset, including circulating supply and market capitalization.

Supply data is provided as:

  • An aggregated supply value derived from all blockchains on which the asset is deployed.

  • A blockchain-specific supply value for each chain

Data is provided at 5-minute intervals.

Read our supply and market cap methodology .

Parameter
Required
Description
Example
Field
Description
Example

Yes

Starting time in ISO 8601 (inclusive).

2023-01-25T00:00:00.000Z

end_time

Yes

Ending time in ISO 8601 (exclusive).

2023-01-26T00:00:00.000Z

sources

No

boolean. If true, returns the breakdown by blockchain of the supply. Default: false

true

page_size

No

See Minimum: 1 Maximum: 100

Default: 10

100

circulating_supply

Total circulating supply

1.99478e+07

market_cap

Market capitalisation

2.09489e+12

sources

The per-blockchain breakdown of the supply

  • chain

The blockchain name

Bitcoin

  • circulating_supply

Circulating supply

19947806.25

  • excluded_supply

Exlcluded supply for the specific chain

0

  • total_supply

The total supply for the specific chain

19947806.25

https://us.market-api.kaiko.io/v2/data/supply.v2/assets/{asset}

asset

Yes

The desired asset code. See

agix

timestamp

Timestamp at which the interval begins

2023-01-25T00:00:00.000Z

asset

Asset

curl --compressed -H 'Accept: application/json' -H 'X-Api-Key: <client-api-key>' \
'https://us.market-api.kaiko.io/v2/data/supply.v2/assets/btc?start_time=2025-11-12T14:00:00.000Z&page_size=100&sources=true&sort=desc'
import http.client
import json

# Enter your Kaiko API Key
api_key = "KAIKO_API_KEY"
api_host = "us.market-api.kaiko.io"
api_base_endpoint = "/v2/data/supply.v2/assets/btc"
# Start of mandatory parameter configuration
mandatory_params = {

}
# End of mandatory parameter configuration
# Start of optional parameter configuration
optional_params = {
    'start_time':'2025-11-12T14:00:00.000Z',
    'page_size':100,
    'sort':'desc',
    'sources':'true'
}
# End of optional parameter configuration
conn = http.client.HTTPSConnection(api_host)
headers = {
    "X-Api-Key": api_key,
    "Accept": "application/json"
}

all_params = {**mandatory_params, **optional_params}

url_params = []
for param, value in all_params.items():
    url_params.append(f"{param}={value}")
url_params = '&'.join(url_params)

endpoint_with_params = f"{api_base_endpoint}?{url_params}"

# Pagination for next pages
all_data = []
next_url = endpoint_with_params
while next_url:
    conn.request("GET", next_url, headers=headers)
    response = conn.getresponse()
    data = json.loads(response.read().decode("utf-8"))
    all_data.extend(data.get("data", []))
    print(f"Fetched {len(data.get('data', []))} datapoints. Total: {len(all_data)}")
    next_url = data.get("next_url", "").replace("https://us.market-api.kaiko.io", "")
    if not next_url:
        break
conn.close()
print(f" datapoints fetched: {(all_data)}")
{
    "query":
    {
        "start_time": "2025-11-12T14:00:00.000Z",
        "end_time": "2025-11-12T14:00:48.317Z",
        "page_size": 100,
        "asset": "btc",
        "sort": "desc",
        "request_time": "2025-11-12T14:00:48.317Z",
        "start_timestamp": 1735689600000,
        "end_timestamp": 1762956048317
    },
    "time": "2025-11-12T14:00:48.326Z",
    "timestamp": 1762956048326,
    "data":
    [
        {
            "timestamp": 1762956005,
            "asset": "btc",
            "circulating_supply": 19947809.375,
            "market_cap": 2093053874177.4607,
            "sources":
            [
                {
                    "chain": "Bitcoin",
                    "circulating_supply": "19947809.375",
                    "excluded_supply": "0",
                    "total_supply": "19947809.375"
                }
            ]
        }
        /** Results **/
    ],
    "result": "success",
    "continuation_token": "xxx",
    "next_url": "https://us.market-api.kaiko.io/v2/data/supply.v2/assets/btc?continuation_token=xxx",
    "access":
    {
        "access_range":
        {
            "start_timestamp": 1073001600000,
            "end_timestamp": "None"
        },
        "data_range":
        {
            "start_timestamp": "None",
            "end_timestamp": "None"
        }
    }
}

Endpoint

Parameters

Fields

Request examples

Response example

This data is included in the following Kaiko packages:

here

start_time

btc

Assets

  • Market Explorer [Assets + Exchanges]

  • Market Explorer [Full Coverage]

What is this endpoint for?

This endpoint receives information on the trades involving a particular asset. Information includes volumes, trade counts, liquidity, and supply. All information is broken down by exchange. Trade data is aggregated across all instruments that include the specified token as a base or quote asset, whereas liquidity data is aggregated for the base asset only.

Endpoint

https://us.market-api.kaiko.io/v2/data/analytics.v2/asset_metrics

Parameters

Parameter
Required
Description
Example

asset

Field
Category
Description
Example

Information from this endpoint can be accessed through Google BigQuery. To get started, read our .

Exchanges

  • Kaiko Fair Market Explorer [Assets + Exchanges]

  • Kaiko Fair Market Explorer [Full Coverage]

What is this endpoint for?

This endpoint helps inform exchange analysis with data such as total volume in USD, trades, the number of listed assets, and volume proportions by asset. The data aggregates all instruments available on the requested exchange. Only base assets are taken into consideration.

Endpoint

https://us.market-api.kaiko.io/v2/data/analytics.v2/exchange_metrics

Parameters

Parameter
Required
Description
Example

exchange

Field
Category
Description
Example

Stablecoins

This endpoint receives information on the trades involving a particular stablecoin. Information includes volumes, trade counts, liquidity, supply and lending rates. Trade and liquidity data are aggregated across all instruments that include the specified token as a base or quote asset.

Parameter
Required
Description
Example
Pagination

Trading activity

Total volume in USD traded in the interval. 0 when no trades are reported.

139803179.89191553

total_trade_count

Trading activity

Total trade count in the interval. 0 when no trades are reported.

121748

nb_listed_assets

Trading activity

Number of listed assets in the interval. 0 when no trades are reported.

235

nb_listed_pairs

Trading activity

Number of listed pairs in the interval. 0 when no trades are reported.

379

asset_volumes

Trading activity

Trading information details by asset.

[{"asset_code": "btc", "asset_trade_count": 22772, "asset_total_volume_usd": 61612344.01769975, "asset_price_usd": 37994.62623807689, "asset_contribution": 0.4407077440250888, "pairs_volumes": []]}, ...]

asset_code

Trading activity

Asset code.

btc

asset_trade_count

Trading activity

Trade count in the interval by asset. 0 when no trades are reported.

159115

asset_total_volume_usd

Trading activity

Volume in USD traded in the interval by asset. 0 when no trades are reported.

61612344.01769975

asset_price_usd

Trading activity

Asset cross-price in USD used to compute volume in USD.

37994.62623807689

asset_contribution

Trading activity

Asset volume percentage over total volume.

0.4407077440250888

pairs_volumes

Trading activity

Trading information details by pair.

[{"pair_code": "btc-usd", "pair_trade_count": 19193, "pair_volume_usd": 57484171.99063697, "pair_contribution": 0.9329976469345679}, ...]

pair_code

Trading activity

Pair code.

btc-usd

pair_trade_count

Trading activity

Trade count in the interval by pair. 0 when no trades are reported.

1686

pair_volume_usd

Trading activity

Volume in USD traded in the interval by pair. 0 when no trades are reported.

57484171.99063697

pair_contribution

Trading activity

Pair volume percentage over asset volume.

0.9329976469345679

Yes

The desired exchange code. See

cbse

start_time

Yes

Starting time in ISO 8601 (inclusive). First time at which we want to have metrics.

2023-11-29T14:00:00.0000000Z

end_time

Yes

Ending time in ISO 8601 (exclusive). Last time at which we want to have exchange metrics.

2023-11-29T15:00:00.0000000Z

interval

Yes

The interval parameter is suffixed with h or d to specify hours or days, respectively. Any arbitrary value between one second and one day can be used, as long as it sums up to a maximum of 1 day. The suffixes are h (hour) and d (day). Default: 1h.

1h

sources

No

If true, returns trading information detailed by pair. Default: false

page_size

No

See Pagination Minimum: 1 Maximum: 100

Default: 10

100

sort

No

If asc, sort time-series in ascending. If desc, sort time-series in descending. Default: desc

asc

timestamp

Trading activity

Timestamp at which the interval begins.

2023-11-29T14:00:00.000Z

Fields

Request examples

Response example

This data is included in the following Kaiko packages:

total_volume_usd

curl --compressed -H 'Accept: application/json' -H 'X-Api-Key: <client-api-key>' \
'https://us.market-api.kaiko.io/v2/data/analytics.v2/exchange_metrics?exchange=cbse&sort=desc&sources=true&start_time=2023-11-29T14:00:00.0000000Z&end_time=2023-11-29T15:00:00.0000000Z&interval=1h&page_size=100'
import http.client
import json

# Enter your Kaiko API Key
api_key = "KAIKO_API_KEY"
api_host = "us.market-api.kaiko.io"
api_base_endpoint = "/v2/data/analytics.v2/exchange_metrics"
# Start of mandatory parameter configuration
mandatory_params = {
    "exchange": "cbse",
    "start_time": "2024-08-27T13:13:53.441Z",
    "end_time" : "2024-08-27T18:27:53.441Z",
    "interval" : "1h",
}
# End of mandatory parameter configuration
# Start of optional parameter configuration
optional_params = {
    "sources": "false",
}
# End of optional parameter configuration
conn = http.client.HTTPSConnection(api_host)
headers = {
    "X-Api-Key": api_key,
    "Accept": "application/json"
}

all_params = {**mandatory_params, **optional_params}

url_params = []
for param, value in all_params.items():
    url_params.append(f"{param}={value}")
url_params = '&'.join(url_params)

endpoint_with_params = f"{api_base_endpoint}?{url_params}"

# Pagination for next pages
all_data = []
next_url = endpoint_with_params
while next_url:
    conn.request("GET", next_url, headers=headers)
    response = conn.getresponse()
    data = json.loads(response.read().decode("utf-8"))
    all_data.extend(data.get("data", []))
    print(f"Fetched {len(data.get('data', []))} datapoints. Total: {len(all_data)}")
    next_url = data.get("next_url", "").replace("https://us.market-api.kaiko.io", "")
    if not next_url:
        break
conn.close()
print(f" datapoints fetched: {(all_data)}")
{
    "data": [
        {
            "timestamp": "2023-11-29T14:00:00.000Z",
            "total_volume_usd": 139803179.89191553,
            "total_trade_count": 121748,
            "nb_listed_assets": 235,
            "nb_listed_pairs": 379,
            "assets_volumes": [
                {
                  "asset_code": "btc",
                  "asset_trade_count": 22772,
                  "asset_total_volume_usd": 61612344.01769975,
                  "asset_price_usd": 37994.62623807689,
                  "asset_contribution": 0.4407077440250888,
                  "pairs_volumes": [
                        {
                          "pair_code": "btc-usd",
                          "pair_trade_count": 19193,
                          "pair_volume_usd": 57484171.99063697,
                          "pair_contribution": 0.9329976469345679
                        },
                        {
                          "pair_code": "btc-eur",
                          "pair_trade_count": 1686,
                          "pair_volume_usd": 1722929.4947314486,
                          "pair_contribution": 0.027964030945430225
                        },
                        {
                          "pair_code": "btc-usdt",
                          "pair_trade_count": 807,
                          "pair_volume_usd": 1590807.5262940996,
                          "pair_contribution": 0.02581962351305931
                        },
                        {
                          "pair_code": "btc-gbp",
                          "pair_trade_count": 1086,
                          "pair_volume_usd": 814435.0060372388,
                          "pair_contribution": 0.013218698606942646
                        }
                    ]
                },
              /* ... */
            ]
        },
        /* ... */
    ]  
}

price

Trading activity

Average price in usd. null when no trades are reported.

0.1699233217119519

total_volume_usd

Trading activity

Total volume in usd traded in the interval. 0 when no trades are reported.

30508181.43789653

total_volume_asset

Trading activity

Total volume in number of assets traded in the interval. 0 when no trades are reported.

179540872.49784896

total_trade_count

Trading activity

The total amount of trades reported during the interval. 0 when no trades are reported.

159684

total_off_chain_volume_usd

Trading activity

Total off-chain volume in usd traded in the interval. 0 when no trades are reported.

30038710.382665947

total_off_chain_volume_asset

Trading activity

Total off-chain volume in number of assets traded in the interval. 0 when no trades are reported.

176778031.87949985

total_off_chain_trade_count

Trading activity

The total amount of trades reported off-chain during the interval. 0 when no trades are reported.

159115

trades_data

Trading activity

List of volume in usd, volume in number of assets and total amount of trades by centralized exchange.

[{"exchange": "binc", "volume_usd": 27539301.29722444, "volume_asset": 162068991, "trade_count": 125188}, ...]

total_on_chain_volume_usd

Trading activity

Total on-chain volume in usd traded in the interval. 0 when no trades are reported.

1036710779.1918713

total_on_chain_volume_asset

Trading activity

Total on-chain volume in number of assets traded in the interval. 0 when no trades are reported.

1036710779.1918713

total_on_chain_trade_count

Trading activity

The total amount of trades reported on-chain during the interval. 0 when no trades are reported.

20513

trades_data

Trading activity

List of volume in usd, volume in number of assets and total amount of trades by decentralized exchange.

[{'exchange': 'blc2', 'volume_usd': 673716.6525764248, 'volume_asset': 674153.2032810001, 'trade_count': 129}, ...]

market_depth

Liquidity information

Dictionary from 0.1% to 10% market depth. Base asset aggregation only.

blockchain

Token information

Blockchain name.

ethereum

token_address

Token information

Token address.

0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48

number_of_holders

Token information

Total amount of holders.

1622286

main_holders

Token information

List of addesses holding at least 1% of the total supply and the amounts of tokens.

[{'address': '0x0a59649758aa4d66e25f08dd01271e891fe52199', 'amount': 3262712000, 'percentage': 7.91745}, ...]

total_supply

Token information

Blockchain total supply.

0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48

Yes

The desired asset code. See

agix

start_time

Yes

Starting time in ISO 8601 (inclusive).

2023-01-25T00:00:00.000Z

end_time

Yes

Ending time in ISO 8601 (exclusive).

2023-01-26T00:00:00.000Z

interval

Yes

The interval parameter is suffixed with h or d to specify hours or days, respectively. Any arbitrary value between one second and one day can be used, as long as it sums up to a maximum of 1 day. The suffixes are h (hour) and d (day). Default: 1h.

1h

sources

No

boolean. If true, returns trading information and market depths detailed by exchanges as well as main holders. Default: false

page_size

No

See Pagination Minimum: 1 Maximum: 100

Default: 10

100

timestamp

Trading activity

Timestamp at which the interval begins.

2023-01-25T00:00:00.000Z

curl --compressed -H 'Accept: application/json' -H 'X-Api-Key: <client-api-key>' \
'https://us.market-api.kaiko.io/v2/data/analytics.v2/asset_metrics?interval=1d&asset=agix&start_time=2023-01-25T00:00:00.000Z&end_time=2023-01-26T00:00:00.000Z&page_size=100&sources=true'
import http.client
import json

# Enter your Kaiko API Key
api_key = "KAIKO_API_KEY"
api_host = "us.market-api.kaiko.io"
api_base_endpoint = "/v2/data/analytics.v2/asset_metrics"
# Start of mandatory parameter configuration
mandatory_params = {
    "asset": "agix",
    "start_time": "2024-08-27T13:13:53.441Z",
    "end_time" : "2024-09-27T13:27:53.441Z",
    "interval" : "1d",
}
# End of mandatory parameter configuration
# Start of optional parameter configuration
optional_params = {
    "sources": "false",
}
# End of optional parameter configuration
conn = http.client.HTTPSConnection(api_host)
headers = {
    "X-Api-Key": api_key,
    "Accept": "application/json"
}

all_params = {**mandatory_params, **optional_params}

url_params = []
for param, value in all_params.items():
    url_params.append(f"{param}={value}")
url_params = '&'.join(url_params)

endpoint_with_params = f"{api_base_endpoint}?{url_params}"

# Pagination for next pages
all_data = []
next_url = endpoint_with_params
while next_url:
    conn.request("GET", next_url, headers=headers)
    response = conn.getresponse()
    data = json.loads(response.read().decode("utf-8"))
    all_data.extend(data.get("data", []))
    print(f"Fetched {len(data.get('data', []))} datapoints. Total: {len(all_data)}")
    next_url = data.get("next_url", "").replace("https://us.market-api.kaiko.io", "")
    if not next_url:
        break
conn.close()
print(f" datapoints fetched: {(all_data)}")
{
    "data": [
        {
            "timestamp": "2023-01-25T00:00:00.000Z",
            "price": 0.1699233217119519,
            "total_volume_usd": 30508181.43789653,
            "total_volume_asset": 179540872.49784896,
            "total_trade_count": 159684,
            "off_chain_liquidity_data": {
                "total_off_chain_volume_usd": 30038710.382665947,
                "total_off_chain_volume_asset": 176778031.87949985,
                "total_off_chain_trade_count": 159115,
                "trade_data": [
                    {
                        "exchange": "binc",
                        "volume_usd": 27539301.29722444,
                        "volume_asset": 162068991,
                        "trade_count": 125188
                    },
                    /* ... */
                ],
                "buy_market_depths": [
                    {
                        "exchange": "binc",
                        "volume_assets": {
                            /* ... */
                        },
                        "volume_usds": {
                            /* ... */
                        }
                    }, 
                    /* ... */
                ],
                "sell_market_depths": [
                    {
                        "exchange": "binc",
                        "volume_assets": {
                           /* ... */
                        },
                        "volume_usds": {
                           /* ... */
                        }
                    }, 
                    /* ... */
                ],
                "total_buy_market_depth": {
                    "volume_assets": {
                       /* ... */
                    },
                    "volume_usds": {
                       /* ... */
                    }
                },
                "total_sell_market_depth": {
                    "volume_assets": {
                       /* ... */
                    },
                    "volume_usds": {
                       /* ... */
                    }
                }
            },
            "on_chain_liquidity_data": {
                "total_on_chain_volume_usd": 2762840.6183491,
                "total_on_chain_volume_asset": 2762840.6183491,
                "total_on_chain_trade_count": 569,
                "trades_data": [
                    {
                        "exchange": "usp2",
                        "volume_usd": 327680.4492221988,
                        "volume_asset": 1928401.8575017697,
                        "trade_count": 448
                    },
                    /* ... */
                ],
                "token_information": [
                    {
                        "blockchain": "ethereum",
                        "token_address": "0x5B7533812759B45C2B44C19e320ba2cD2681b542",
                        "nb_of_holders": 38231,
                        "main_holders": [
                            {
                                "address": "0xf977814e90da44bfa03b6295a0616a897441acec",
                                "amount": 250774980,
                                "percentage": 22.61839
                            },
                            {
                                "address": "0x13e1367a455c45aa736d7ff2c5656ba2bd05ad46",
                                "amount": 112149660,
                                "percentage": 10.11522
                            }, 
                            /* ... */
                        ],
                        "total_supply": 1108721700
                    }
                ]
            }
        }
    ]
}

Fields

For any field in the "token information" category, we only cover ERC-20 tokens. Only 50 tokens have been backfilled, but we can add more on demand.

Request examples

Response example

This data is included in the following Kaiko packages:

usdc

start_time

No

Starting time in ISO 8601 (inclusive).

2023-01-25T00:00:00.000Z

end_time

No

Ending time in ISO 8601 (exclusive).

2023-01-26T00:00:00.000Z

page_size

No

See Minimum: 1 Maximum: 30

Default: 10

30

Field
Category
Description
Example

timestamp

Trading activity

Timestamp at which the interval begins.

2026-06-18T00:00:00Z

curl --compressed -H 'Accept: application/json' -H 'X-Api-Key: <client-api-key>' \
'https://us.market-api.kaiko.io/v2/data/analytics.v2/stablecoin_metrics?asset=usdc&sort=desc'
import http.client
import json

# Enter your Kaiko API Key
api_key = "KAIKO_API_KEY"
api_host = "us.market-api.kaiko.io"
api_base_endpoint = "/v2/data/analytics.v2/stablecoin_metrics"
# Start of mandatory parameter configuration
mandatory_params = {
    "asset": "usdc",
}
# End of mandatory parameter configuration
# Start of optional parameter configuration
optional_params = {
    #"start_time": "2024-08-27T13:13:53.441Z",
    #"end_time" : "2024-09-27T13:27:53.441Z",
    #"interval" : "1d",
    "sort":"desc",
}
# End of optional parameter configuration
conn = http.client.HTTPSConnection(api_host)
headers = {
    "X-Api-Key": api_key,
    "Accept": "application/json"
}

all_params = {**mandatory_params, **optional_params}

url_params = []
for param, value in all_params.items():
    url_params.append(f"{param}={value}")
url_params = '&'.join(url_params)

endpoint_with_params = f"{api_base_endpoint}?{url_params}"

# Pagination for next pages
all_data = []
next_url = endpoint_with_params
while next_url:
    conn.request("GET", next_url, headers=headers)
    response = conn.getresponse()
    data = json.loads(response.read().decode("utf-8"))
    all_data.extend(data.get("data", []))
    print(f"Fetched {len(data.get('data', []))} datapoints. Total: {len(all_data)}")
    next_url = data.get("next_url", "").replace("https://us.market-api.kaiko.io", "")
    if not next_url:
        break
conn.close()
print(f" datapoints fetched: {(all_data)}")
https://us.market-api.kaiko.io/v2/data/analytics.v2/stablecoin_metrics

asset

Yes

This data is included in the following Kaiko packages:

  • Kaiko Market Explorer [Assets & Exchanges]

What is this endpoint for?

Endpoint

Parameters

The desired stablecoin asset code. See

{
    "result": "success",
    "time": "2026-06-18T08:06:26Z",
    "timestamp": 1781769986999,
    "query":
    {
        "asset": "usdc",
        "end_time": "0001-01-01T00:00:00Z",
        "interval": "1d",
        "page_size": "10",
        "request_time": "2026-06-18T08:06:26.05808401Z",
        "sort": "desc",
        "start_time": "0001-01-01T00:00:00Z"
    },
    "data":
    [
        {
            "timestamp": "2026-06-18T00:00:00Z",
            "interval": "1d",
            "asset": "usdc",
            "price": 0.9997000899730081,
            "total_volume_usd": 796218091.3924453,
            "total_trade_count": 2000097,
            "cex_volume_usd": 694548754.6376011,
            "cex_trade_count": 1910473,
            "dex_volume_usd": 101669336.75484413,
            "dex_trade_count": 89624,
            "supply_circulating": 70051396209.43329,
            "market_cap": 70030387093.3053,
            "supply_change": -317149147.036026,
            "avg_weighted_defi_lending_yield": 0.030345222539145098,
            "avg_weighted_defi_borrowing_rate": 0.03869062376513863,
            "total_defi_deposited": 2321449893.228165,
            "total_defi_borrowed": 2030740561.2581594,
            "aggregated_buy_market_depth_asset": {
              "bid_volume_0_1": 410009275.917108,
              "bid_volume_0_2": 446428495.09170324,
              "bid_volume_0_5": 470849445.02862155,
              "bid_volume_1": 510576781.129591,
              "bid_volume_2": 549239689.7563232,
              "bid_volume_5": 549239689.7563232,
              "bid_volume_10": 629913837.648892
            },
            "aggregated_buy_market_depth_usd": {
              "bid_volume_0_1": 409964211.9019009,
              "bid_volume_0_2": 446379428.24938184,
              "bid_volume_0_5": 470797694.08590573,
              "bid_volume_1": 510520663.765471,
              "bid_volume_2": 549179322.9617518,
              "bid_volume_5": 599292340.4341673,
              "bid_volume_10": 629844603.9792498
            },
            "aggregated_sell_market_depth_asset": {
              "ask_volume_0_1": 311924899.9123604,
              "ask_volume_0_2": 327273471.225558,
              "ask_volume_0_5": 354299107.9406383,
              "ask_volume_1": 386901697.77497196,
              "ask_volume_2": 407012117.6172724,
              "ask_volume_5": 447660372.5945285,
              "ask_volume_10": 470660113.3308416
            },
            "aggregated_sell_market_depth_usd": {
              "ask_volume_0_1": 311890616.3259667,
              "ask_volume_0_2": 327237500.6815961,
              "ask_volume_0_5": 354260167.01582044,
              "ask_volume_1": 386859173.5077997,
              "ask_volume_2": 406967383.0189715,
              "ask_volume_5": 447611170.35686433,
              "ask_volume_10": 470608383.197524
            }
        },
        /* ALL RESULTS HERE */
    ],
    "continuation_token": "xxx",
    "next_url": "https://us.market-api.kaiko.io/v2/data/analytics.v2/stablecoin_metrics?continuation_token=xxx",
    "links":
    {
        "next": "/v2/data/analytics.v2/stablecoin_metrics?asset=usdc&end_time=2026-06-09T00%3A00%3A00Z&sort=desc"
    },
    "access":
    {
        "access_range":
        {
            "start_timestamp": 1073001600000,
            "end_timestamp": 1861830000000
        },
        "data_range":
        {
            "start_timestamp": "None",
            "end_timestamp": 1861830000000
        }
    }
}

Fields

Request examples

Response example

interval

Informations

The aggregation interval.

1d

asset

Informations

The specified asset.

usdc

price

Trading activity

Average price in usd. null when no trades are reported.

0.9997000899730081

total_volume_usd

Trading activity

Total volume in usd traded in the interval. 0 when no trades are reported.

796218091.3924453

total_trade_count

Trading activity

The total amount of trades reported during the interval. 0 when no trades are reported.

2000097

cex_volume_usd

Trading activity

Total off-chain volume in usd traded in the interval. 0 when no trades are reported.

694548754.6376011

cex_trade_count

Trading activity

The total amount of trades reported off-chain during the interval. 0 when no trades are reported.

1910473

dex_volume_usd

Trading activity

Total on-chain volume in usd traded in the interval. 0 when no trades are reported.

101669336.75484413

dex_trade_count

Trading activity

The total amount of trades reported on-chain during the interval. 0 when no trades are reported.

89624

supply_circulating

Supply

Blockchain total supply.

70051396209.43329

market_cap

Supply

The market cap of the stablecoin across all chains.

70030387093.3053

supply_change

Supply

The change in supply since the last interval.

-317149147.036026

avg_weighted_defi_lending_yield

DeFi lending

Average of all lending yields across DeFi lending protocols, weighted by deposited liquidity.

0.030345222539145098

avg_weighted_defi_borrowing_rate

DeFi lending

Average of all borrowing rate across DeFi lending protocols, weighted by deposited liquidity.

0.03869062376513863

total_defi_deposited

DeFi lending

Total deposited liquidity across DeFi lending protocols.

2321449893.228165

total_defi_borrowed

DeFi lending

Total borrowed liquidity across DeFi lending protocols.

2030740561.2581594

aggregated_buy_market_depth_asset

Liquidity information

Dictionary from 0.1% to 10% market depth.

See example response below.

aggregated_buy_market_depth_usd

Liquidity information

Dictionary from 0.1% to 10% market depth.

See example response below.

aggregated_sell_market_depth_asset

Liquidity information

Dictionary from 0.1% to 10% market depth.

See example response below.

aggregated_sell_market_depth_usd

Liquidity information

Dictionary from 0.1% to 10% market depth.

See example response below.

Pagination
guide