Only this pageAll pages
Powered by GitBook
1 of 68

Knowledge Hub

Getting Started

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

What's new?

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

EXPLORE OUR DATA

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

COVERAGE

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

2024

Kaiko Examples

Learn more about what you can do with Kaiko data and how to make successful system requests in our use-case micro-guides.

These are just a few examples of how Kaiko data can help you achieve your strategic goals. If you need help with a use case not currently featured, please reach out to our Support Team.

2025

Data dictionary

A comprehensive breakdown of Kaiko's data and endpoints

Kaiko Market Surveyor

Ensure market integrity with automated monitoring and alerts. Detect potential market manipulation, with a user-friendly dashboard.

Coming soon.

July 2024

Our Latest Updates

Kaiko data through BigQuery is now available in real-time

2024-07-19

We’ve made improvements to how you integrate our data by enabling real-time access to BigQuery, so you can now access our insights when and where you need them most.

This means you can conduct ongoing real-time analysis directly in the BigQuery platform, eliminating the need for support from your development team in making individual API calls. BigQuery also brings the power of data visualization to Kaiko data.

This update applies to:

You can learn more about how to receive Kaiko data through BigQuery or check out the full range of products available through BigQuery in our data dictionary.

Identify high-potential assets before they're listed on CEXs

Track the most popular assets on leading DEXs such as Uniswap to uncover high-potential early stage tokens not yet listed on centralized exchanges.

How to build the request

With the Market Metrics , you can use the following parameters to source the specific information you're looking for:

Paramater
Value

Gauge market sentiment with Implied Volatility

Evaluate the market outlook for various dates using our solution. IV provides one figure that accounts for options contracts with various strikes and expiries, enabling a more accurate view of the overall market sentiment. For example, if an IV curve is steep to the left, this suggests the prevailing market sentiment sees prices falling.

How to build the request

With the Implied Volatility endpoint, you can use the following parameters. This example calculates just one expiry, but you can also run a script locally to request and combine expiries like the chart above. Contact our operations team for support with this.

May 2025

2025-05-08

Mapping Update

  • Asset code "MYX" is now assigned to MYX Finance. MYX Network has been re-assigned to use code "MYXN"

2025-05-15

Mapping Update

  • Instruments for ebtc.finance (0x661c70333aa1850ccdbae82776bb436a0fcfeefb) have been updated to use Asset Code "EBTCF"

2025-05-16

Mapping Update

  • Asset code "A" is now assigned to Vaulta. Instruments referring to Alpha Token have been remapped to use the asset code "ALPHAT".

  • Asset code "BOLD" is now assigned to the V2 Liquity BOLD Token (0x6440f144b7e50d6a8439336510312d2f54beb01d). Instruments referring to the Legacy Token (0xb01dd87b29d187f3e3a4bf6cdaebfb97f3d9ab98) have been remapped to use the asset code "BOLDV1".

Analytics Solutions

A comprehensive breakdown of Kaiko's Analytics endpoints.

June 2024

2024-06-27

  • Corrected instrument mapping for the following Perpetual-Futures on Bybit V2. These were originally assigned the quote asset USDT in error:

    • WIF-USDC

    • WLD-USDC

    • TON-USDC

2024-06-24

  • Updated documentation for implied volatilities smile and surface.

Kaiko Fair Market Value

Accurately value your digital assets to meet fair value standards and regulatory requirements.

March 2024

2024-03-15

  • Added documentation for trades v3.

  • Added blockchain parameter for instruments reference data.

Data Feeds

A comprehensive breakdown our Data Feeds.

here
Analytics Solutions
Data Feeds
Data Feeds

February 2025

2025-02-27

Mapping Update

  • All Clover Finance instruments listed under the base asset code of "CLOVER" will be remapped to use the code "CLV". Please use "CLV" to access any clover finance instruments.

2025-02-12

Mapping Update

  • The asset code "LAYER" has been assigned to Solayer. Unilayer, has been re-assigned to use the asset code "UNILAYER".

2025-02-21

Mapping Update

  • The asset code "AIC" has been assigned to AI Companions. ASCSIGN INC has been re-assigned to use the asset code "ASCSIGN".

Level 1 & Level 2 Data

Monitoring Solutions

Kaiko Market Explorer

April 2025

2025-04-14

Mapping Update

  • Bybit Link perpetual future listed under code "LINK-USDT" has been corrected to "LINK-USDC"

exchange

usp3

start_time

2024-04-05T00:00:00.000Z

end_time

2024-04-13T00:00:00.000Z

interval

1d

page_size

100

sort

asc

Here's an example of an HTTP string request using the values above:

https://us.market-api.kaiko.io/v2/data/analytics.v2/exchange_metrics?exchange=usp3&start_time=2024-04-05T00:00:00.000Z&end_time=2024-04-13T00:00:00.000Z&interval=1d&page_size=100&sort=asc

When you receive your response, search for the following fields to find the data you need:

  • timestamp

  • asset_code

  • asset_total_volume_usd

See how assets exclusively available on DEXs like USDE (Ethena's stablecoin) and WSTETH (a liquid staking token), have impressive trading volumes, even surpassing popular assets like LINK.
Paramater
Value

base

btc

quote

usd

exchange

drbt

value_time

2024-09-25T10:20:09.224Z

expiry

2024-06-28T00:00:00.000Z

deltas

0.05

You can find specific asset codes from our instruments explorer or reference data.

Example request

Here's an example of an HTTP string request using the values above.

When you receive your response, search for the following fields to find the data you need:

  • implied_volatilities_strike

  • implied_volatilities_implied_volatility

Here we see an IV smile across all expiries which means there is a high probability of price moves in either direction. There is a slight skew to the left on the shortest expiry (orange), suggesting higher demand on the short side.

Analyze supply distribution to determine asset-risk

Identify the number of addresses that hold at least 1% of the asset's total supply to effectively measure its popularity and the strength of its price discovery process.

How to build the request

With the Market Metrics Asset endpoint, you can use the following parameters to source the specific information you're looking for:

Paramater
Value

asset

crv

start_time

You can find specific asset codes from our or .

Here's an example of an HTTP string request using the values above:

When you receive your response, search for the following fields to find the data you need:

  • main_holders

  • number_of_holders

  • total_supply

For a more in-depth analysis of all wallets holding a particular asset, you can utilize .

June 2025

2025-06-16

Mapping Update

  • Asset code "HOME" is now assigned to Defi.app. OtterHome has been re-assigned to use code "OTTERHOME"

Expanded DEX & L&B coverage now live!

We’ve significantly expanded our decentralized exchange (DEX) and liquidity & borrowing (L&B) coverage across several Kaiko products. You can now access data for the following platforms:

  • Raydium: AMM, CLLM

  • Meteora: CLLM, DLLM

  • Orca: CLLM

  • Camelot

This enhanced coverage reflects out ongoing commitment to offer the latest and most comprehensive DeFi data. Check out the full coverage details here:

If you'd like to add any of these platforms to your Kaiko subscription, contact your Account Manager, or email .

Total Value Locked

Data details

Channel
Historical data
Live?
Granularity
Asset coverage
Docs link

Cefi spot markets

Our coverage for centralized spot markets.

You can explore all exchanges, assets, and get codes for them using our Instrument Explorer. Alternatively, if you want to obtain the data in a more programmatic way, use our .

Oanda FX conversion

Convert your price to one of over 70 FOREX pairs with IFRs-Compliant rates for tax and compliance purposes.

  • Historical data: Since July 22, backfill on request

  • Live data: Yes

  • Granularity: Time periods between 1-minute and 1-day

  • Asset Coverage: > 70 pairs including:

    aud-cad, aud-chf, aud-hkd, aud-jpy, aud-nzd, aud-sgd, aud-usd, cad-chf, cad-hkd, cad-jpy, cad-sgd, chf-hkd, chf-jpy, chf-zar, eur-aud, eur-cad, eur-chf, eur-czk, eur-dkk, eur-gbp, eur-hkd, eur-huf, eur-jpy, eur-nok, eur-nzd, eur-pln, eur-sek, eur-sgd, eur-try, eur-usd, eur-zar, gbp-aud, gbp-cad, gbp-chf, gbp-hkd, gbp-jpy, gbp-nzd, gbp-pln, gbp-sgd, gbp-usd, gbp-zar, hkd-jpy, nzd-cad, nzd-chf, nzd-hkd, nzd-jpy, nzd-sgd, sgd-chf, sgd-jpy, try-jpy, usd-cad, usd-chf, usd-cnh, usd-czk, usd-dkk, usd-hkd, usd-huf, usd-inr, usd-jpy, usd-mxn, usd-nok, usd-pln, usd-sek, usd-sgd, usd-thb, usd-try, usd-zar, zar-jpy

Defi lending and borrowing protocols

You can explore all exchanges, assets, and codes, and obtain the data in a programmatic way using our .

Compare price slippage between exchanges

Price slippage measures how liquid a market is by measuring the gap between the expected and actual price of a marker order. When markets drop and there are large sell-offs, slippage often increases and it becomes harder to buy or sell at your desired price. This varies by exchange, trading pair, and time of day. Using Kaiko's data, we can measure potential BTC slippage across exchanges for different trade sizes. This provides valuable insight for market traders looking to minimize losses.

How to build the request

Use (slippage) with the following parameters to replicate this chart.

Generate a liquidity-based asset ranking

Identify an asset's liquidity, put it into a ranking and then compare it with the market cap to evaluate its true value. Go beyond simple market capitalization to generate more accurate token value estimates.

The graph above shows the market depth for FFT, and highlights how there was a significant drop in liquidity - even though it was in the top 20 for market cap - prior to its collapse.

How to build the request

With the Market Metrics Asset endpoint, you can use the following parameters to source the specific information you're looking for:

Identify wash trading and volume quality

Evaluate an asset's volume-to-liquidity ratio. If the USD volume substantially exceeds the depth of the order books (a high volume-to-depth ratio), it suggests that the genuine market demand isn't accurately represented by the current trading volume, hinting at possible wash trading.

The liquidity-volume-ratio is significantly higher on Bitforex.

How to build the request

With the Market Metrics Asset endpoint, you can use the following parameters to source the specific information you're looking for:

Kaiko Blockchain Monitoring

Meet AML compliance requirements with KYC, KYT, and source of wealth checks, plus crypto network analysis of token supply, decentralization, and mining dynamics.

Data details

Channel
Historical data
Live?
Granularity
Coverage
Docs link

Compare market depth between exchanges

Market depth is a measure of how well a market can handle large orders without impacting asset prices. A "deep" market has enough volume on both sides - bids (buy orders) and asks (sell orders) - to handle large orders while keeping prices stable. Market depth varies between exchanges and over time, so traders often monitor it across different platforms to determine the best market on which to trade.

How to build the request

Use (assets) with the following parameters to replicate this chart.

Paramater

About the Developer Hub

Welcome to the Kaiko Developer Hub.

This hub is your go-to place for everything Kaiko. It's broken down into 3 core sections:

Knowledge hub

September 2025

2025-09-26

Mapping Update

We've identified some mapping discrepancies around instruments with the asset code NEIRO. This appears to originate from different exchanges using this same code to refer to at least 3 distinct assets.

The mapping in our reference data will be updated as outlined below:

NEIROCTO : First NEIRO on ETH 1NEIRO : NEIRO ETH NEIRO

July 2025

2025-07-14

Mapping Update

  • Instruments listed below are update to use asset code 'PUMPFUN'

Kaiko Blockchain Monitoring

supports Bitcoin, Ethereum and Solana* blockchains, with comprehensive coverage for each network, including:

  • All native coin transfers

  • All token transfers (e.g., ERC-20, where applicable)

  • Staking deposits and withdrawals

Assets and Exchanges

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

Data details

Channel
Historical data
Live?
Granularity
Exchange coverage
Asset coverage

Status

To see the status of all Kaiko endpoints, visit .

Supply and Market Cap

Market Cap and Supply is available as part of our packages.

Coverage available for Market Cap and Supply

aave, aero, aster, bch, bgb, bnb, bonk, btc, cake, crv, dai, doge, ena, ens, ethfi, fdusd, fet, fil, floki, flr, grt, gt, imx, jup, kas, ldo, leo, link, ltc, mnt, myx, nexo, okb, ondo, op, paxg, pendle, pepe, pump, pyusd, ray, render, shib, sky, spx, trump, uni, usd1, usdc, usde, usdt, virtual, wif, wld, wlfi, xaut, xrp

Instrument Explorer

The Kaiko Instrument explorer offers the same information as our various reference data endpoints, but in a user-friendly interface. .

Kaiko Best Execution

Get a market-representative execution benchmark that’s ideal for reporting and demonstrating execution efficiency to clients.

  • Historical data: No

  • Live data: Yes

  • Granularity: Every second

Defi spot markets

You can explore all exchanges, assets, and get codes for them using our . Alternatively, if you want to obtain the data in a more programmatic way, use our .

Benchmarks

A list of our published Reference Rates

You can also get a list of our published Benchmarks via API using the reference data .

https://us.market-api.kaiko.io/v2/data/analytics.v2/implied_volatility_smile?base=btc&quote=usd&value_time=2024-09-09T14:00:00.000Z&expiry=2024-10-25T00:00:00.000Z&exchanges=drbt&strikes=30000,40000,50000,60000,70000,80000,90000,100000
: NEIRO

2025-09-23

Mapping Update

  • Instruments listed below are update to use the base asset code ONOMY

    • CoinEx spot nom-btc becomes onomy-btc

    • Bitfinex spot nom-usd becomes onomy-usd & nom-usdt becomes

    • KuCoin spot nom-usdt

    • MEXC spot nom-usdt

Bybit Spot bbsp & Bitget Spot bgsp: Instrument code 'pumpfun-usdt' will refer to Pump.fun for all ongoing data

Exchange coverage: Price calculated using the top 10 exchanges on the Kaiko Exchange Ranking.

  • Asset coverage: Any traded traded pair on the given top 10 exchanges.

  • Limitations: Pricing is for specific trading pairs. If the pair doesn't belong to one of our vetted Exchanges (Top 10), the “unvetted” parameter needs to be set to “true” to get a price.

  • Methodology: 10s. Aggregation Period MidPrice + VWAP. Download here.

  • Go to docs

    2023-01-01T00:00:00.000Z

    end_time

    2023-01-04T00:00:00.000Z

    interval

    1d

    instruments explorer
    reference data
    https://us.market-api.kaiko.io/v2/data/analytics.v2/asset_metrics?start_time=2023-01-01T00:00:00.000Z&end_time=2023-01-04T00:00:00.000Z&asset=crv
    Kaiko Wallet Data

    Arbitrum

  • Pancakeswap

  • Morpho

  • Decentralized spot exchanges
    Lending and borrowing protocols
    [email protected]
    Go to docs

    Gas fees

    We provide historical data back to each chain's inception alongside real-time updates. We continuously expand our coverage, and can support new blockchains quickly. * Solana blockchain includes 30-days rolling history as part of any standard package. Custom packages offering longer rolling histories back to inception are also available.

    Kaiko Blockchain Monitoring
    status.kaiko.com
    Market Explorer
    Go to the explorer

    March 2025

    Kaiko Blockchain Monitoring - Solana Support

    Kaiko Blockchain Monitoring now supports Solana. Solana has emerged as a crucial platform for stablecoin growth and DeFi app development, and this enhancement reflects our commitment to supporting the networks most valuable to our clients. Kaiko Blockchain Monitoring provides real-time insights across all supported blockchains, with full historical coverage back to each chain’s inception. You can learn more about Kaiko Blockchain Monitoring here.

    Paramater
    Value

    exchange

    cbse ... and then stmp itbi krkn

    okcn

    instrument_class

    spot

    intrument

    btc-usd

    Here's an example of a cURL string request using the values above:

    When you receive your response, search for the following fields to find the data you need:

    • timestamp

    • ask_slippage

    • bid_slippage

    Order Book Snapshots are available through the API with a 1-month rolling window. While this means you can't recreate the example shown above, the instant live data meets most trading and analysis needs.

    The chart abode shows how price slippage increased on Itbit between 5th, and 7th August for BTC-USD, suggesting liquidity troubles.
    Paramater
    Value

    asset

    FTT

    start_time

    2022-11-05T00:00:00.000Z

    end_time

    2022-11-28T00:00:00.000Z

    interval

    1d

    sources

    true

    You can find specific asset codes from our instruments explorer or reference data.

    NOTE: To calculate the gap between market depth, you'll need access to market cap data.

    Here's an example of an HTTP string request using the values above:

    https://us.market-api.kaiko.io/v2/data/analytics.v2/asset_metrics?start_time=2022-11-05T00:00:00.000Z&end_time=2022-11-28T00:00:00.000Z&asset=fft&interval=1d

    When you receive your response, search for the following fields to find the data you need:

    • timestamp

    • buy_market_depths

    • sell_market_depths

    Paramater
    Value

    asset

    ltc

    start_time

    2023-12-28T00:00:00.000

    end_time

    2024-01-28T00:00:00.000Z

    interval

    1d

    sources

    true

    You can find specific asset codes from our instruments explorer or reference data.

    Here's an example of an HTTP string request using the values above:

    https://us.market-api.kaiko.io/v2/data/analytics.v2/asset_metrics?start_time=2023-12-28T00:00:00.000Z&end_time=2024-01-28T00:00:00.000Z&asset=ltc&sources=true&interval=1d

    When you receive your response, search for the following fields to find the data you need:

    • total_off_chain_volume_usd

    • buy_market_depths - bid_volume_1

    • sell_market_depths - ask_volume_1

    Stream

    -

    -

    -

    -

    -

    REST API

    Since Genesis

    Yes

    Event-level (sub transaction)

    AWS, Azure, Google Cloud Platform

    Since Genesis

    New CSV once a day

    Event-level (sub transaction)

    Value

    asset

    btc

    start_time

    2022-11-05T00:00:00.000Z

    end_time

    2022-11-28T00:00:00.000Z

    interval

    1d

    sources

    true

    Here's an example of a cURL string request using the values above:

    When you receive your response, search for the following fields to find the data you need:

    • timestamp

    • buy_market_depths:

      • exchange

      • volume_usds: {bid_volume_0_1}

    • sell_market_depths:

      • exchange

      • volume_usds: {ask_volume_0_1}

    This chart shows the 1% market depth for all trading pairs with BTC as the base asset. It shows the USD value of all bids (bid_volume_1) and asks (ask_volume_1) within 1% of the mid-price.
    Your go-to place for information on Kaiko products, coverage, updates, and inspiration on how you can leverage our solutions. We'll be working on bringing more content over the coming months, so keep checking back.

    Knowledge hub

    Kaiko Data

    Everything you need to start consuming Kaiko data across all our delivery channels:

    Kaiko Indices

    Everything you need to get started with Kaiko Indices.

    Stay in the know

    If you'd like to be alerted when we make changes to our products, sign-up to our mailing list here.

    Docs link

    Stream

    -

    -

    -

    -

    -

    REST API

    DEXs: Since Genesis CEXs: Since 2010

    No. T+1 ₁

    1h, 1d

    Note: for the "token information" category, we only cover ERC-20 tokens. Only 50 tokens have been backfilled, but we can add more on demand.

    All cefi spot and defi spot instruments available on covered exchanges.

    BigQuery

    -

    ₁ Data is aggregated once a time period closes. This means you need to wait for the current period to end before accessing the latest dataset.

    For instance, if it's currently 18:07, you'll need to wait until 19:00 for that hour's data to become available.

    For instance, if it's currently 18:07, you'll need to wait until 19:00 for that hour's data to become available.

    Please note, if your request spans multiple hours, data will be returned up to the hour of request, excluding any activity that has occurred in the minutes that have passed since the last full hour. The same principle applies to requests spanning multiple days.

    REST API

    Yes, since inception

    No

    1d

    https://docs.kaiko.com/coverage/total-value-locked-tvl

    instrument explorer

    November 2024

    Mapping Update

    • The asset code "HYPE" has been assigned to Hyperliquid. Supreme Finance has been re-assigned to use the asset code "HYPE2"

    Blockchain Monitoring Now Available via REST API

    We're excited to announce that our Blockchain Monitoring solution is now accessible through REST API. Wallet Data allows you to:

    • Access complete transaction histories across all supported blockchains

    • View real-time wallet balances

    • Track historical balance changes for the source of wealth checks

    • Query detailed transaction data

    Whether you need to monitor a single wallet or multiple addresses, our API delivers the data in a standardized format for seamless integration into your applications. Get started by exploring the documentation below.

    New Reference APIs

    We've launched two new reference APIs to help you quickly find our coverage:

    Reference Rates

    This endpoint retrieves a complete list of our published Reference Rates. Our rules-based and independent rates aim to increase pricing transparency by providing a reliable and accurate benchmark.

    Protocols

    This endpoint retrieves a complete list of the defi protocols supported by Kaiko data. This can help you identify which exchanges are defi when working with our Market Data.

    Meet Kaiko On-Chain Delivery

    As demand for complex data in smart contracts increases, we’re really pleased to introduce our new on-chain delivery channel. The new capability brings our trusted market data directly to the blockchain for the first time, providing reliable digital asset insights to power any on-chain contract.

    To demonstrate its power, we’ve deployed Kaiko Cross Prices on-chain with free hourly price updates.

    Read our to try it for yourself.

    Kaiko Portfolio & Risk Management

    Data descriptions

    • Custom portfolio valuation - build completely customizable single-asset or multi-asset price feeds for NAV calculations

    • Value at risk calculation - Calculate value at risk, computed by a proprietary and thoroughly backtested methodology

    Data details

    Data/channel
    Historical data
    Live?
    Granularity
    Exchange coverage
    Asset coverage
    Docs link

    Our delivery methods

    Kaiko services

    Global private networks and terminals

    We also offer fast, reliable, and secure connections through GPNs and terminals. Those we cover include:

    • BT Radianz

    • Connexus

    • Bloomberg

    • B-PIPE

    For more information, contact [email protected].

    About Kaiko

    An introduction to Kaiko and our products.

    What is Kaiko?

    Kaiko is the global independent leader in digital assets market data, analytics, indices, and monitoring for institutional investors, financial services firms, and regulators.

    Kaiko provides the foundational data infrastructure bridging traditional finance and on-chain capital markets through regulatory-compliant and auditable data. For over 10 years, we've delivered the trusted, transparent, and actionable financial data that institutions need to navigate both centralized and decentralized crypto markets.

    Our solutions

    We provide data solutions across four main pillars:

    Data Feeds

    Market data feeds for front and mid-office operations, business intelligence, and risk management.

    Analytics

    Proprietary data analytics solutions for risk analysis, fair value pricing for marking, and derivatives listings.

    Monitoring

    Market-level and blockchain solutions for surveillance, AML/CFT compliance, and research.

    Kaiko Indices

    Kaiko Indices offers institutional-grade benchmarks and indices, setting the standard for reliability and transparency in the digital asset market. As a regulated Benchmark Administrator under the EU BMR framework and compliant with IOSCO principles, we empower exchanges, asset managers, and financial institutions with trusted data solutions that support robust settlement and risk management practices.

    Tour the data

    Depending on the solution, you can consume our data by Rest API, streaming service, or via cloud service providers. Have a look at our to see which solution are available by which channel, as well as specific information on the data's granularity, historical availability.

    Capture alpha before major events impact the market

    Being able to react quickly to major hacks or market events before most others can help market participants execute trades and orders more effectively.

    Take the Bybit hack as an example: a security breach occurred, but the market was slow to react. It wasn’t until hours later, when Bybit’s CEO made an official announcement, that a full market response took place. However, some participants spotted the early signs and acted before the news became public. Their trading activity left a visible footprint in trading data, creating a window of opportunity for others to recognize these early warning signs and react accordingly to capture the alpha. By doing so, they position themselves ahead of the broader market, rather than reacting after the widespread panic set in.

    To secure the best trading conditions, market participants must monitor data in real-time and act quickly. Reacting early reduces the impact of their trades, helping them stay ahead before market depth deteriorates and a large-scale sell-off takes hold.

    By leveraging via Kaiko Stream, participants gain access to real-time, tick-level trade data the moment transactions occur. This allows them to identify unusual market movements—such as an unexplained sell-off followed by a sharp recovery—and react swiftly to minimize losses and seize opportunities before the broader market.

    Track asset volume on exchanges

    Track the volume of any asset trading on a centralized or decentralized exchange. Quickly identify the top trending tokens and spot instances where volumes differ from market expectations.

    How to build the request

    With the Market Metrics , you can use the following parameters to source the specific information you're looking for:

    Paramater
    Value

    Kaiko Indices

    Kaiko Indices offers crypto benchmarks built on enterprise-grade data with 24/7 infrastructure and support.

    Data descriptions

    • Single asset reference rates - Single-asset benchmarks, backed by expert quant research and 24/7 support.

    curl -X GET "https://us.market-api.kaiko.io/v2/data/order_book_snapshots.v1/exchanges/cbse/spot/btc-usd/ob_aggregations/slippage?slippage=100000&interval=1h" -H "accept: application/json" -H "X-Api-Key: YOUR_API_KEY"
    curl -X GET "https://us.market-api.kaiko.io/v2/data/analytics.v2/asset_metrics?asset=btc&start_time=2022-11-05T00:00:00.000Z&end_time=2022-11-28T00:00:00.000Z&interval=1d&sources=true" -H "accept: application/json" -H "X-Api-Key: YOUR_API_KEY"
    Deutsche Borse
  • IRESS

  • REST API

    Go to docs

    Stream

    Go to docs

    Cloud Delivery

    Go to docs

    On-Chain

    Go to docs

    data dictionary

    Total Value Locked (TVL)

    Total Value Locked is part of our Market Explorer packages.

    Coverage available for TVL

    aave, abracadabra-money, acala, across, aerodrome, agora, alongside, angle, ankr, anzen, aperture, apeswap, apollo, apollox, archblock, astar, avantprotocol, axelarnetwork, balancer, bancor, beethovenx, benqi-lsd, bifrostio, bitgo, blackhole, blackrock, blockchain-capital, bmx, bnsol, botto, bufferfinance, camelot, capapp, cbeth, centrifuge, circle, coinshift, compound, comtech, curve, dolomite, dopex, drift-protocol, dydx, eigenlayer, elixir-protocol, ethena, etherex, etherfi, euler, fathom, fd121limited, fidelity, franklintempleton, frax-finance, fraxlend, fraxstablecoin, friend-tech, gemini, globaldollarnetwork, gmx, hamiltonlane, hegic, holdstation, honeypop, hydradx, impossible-finance, index-cooperative, instadapp, inversefinance, ipor-protocol, jito, jpycoin, jupiter, kamino, katana, kyberswap, layerzero, level-finance, lido-finance, lighter, liquid-collective, liquity, listadao, loopring, lybra, lyra, makerdao, mamo, mantra, maple-finance, marinade, matrixdock, maverick, merkle-trade, metamask, metavault-trade, meteora, midas, monerium, moonwell, morpho, mummy-finance, mux, notional-finance, okutrade, ondo, openedendigital, opyn, orca, originprotocol, pancakeswap, pangolin, paxos, paypal, pendle, perpetual-protocol, pharaoh, pika-protocol, polymarket, premia, primenumbers, prisma, quickswap, radiant-capital, raft, ramses, raydium, reflexer, republicnote, reserve, ribbon-finance, ringsprotocol, ripplelabs, rocket-pool, sanctum, seamless-protocol, securitize, shadowexchange, shoebill-finance, silo, societegenerale, solidlizard, solv-protocol, sonne, spark, spiko, stader, stafi, stakestone, stakewise, superstate, sushiswap, swell, symbiotic, synapse, syncswap, synfutures, tether, thena, theo, thetanuts, thruster, tokemak, tokenlon, tornado-cash, toucan-protocol, tradable, trader-joe, uniswap, usual, vaneck, velodrome, venus, verse, vertex-protocol, vesta-finance, vnx, wisdomtree, worldlibertyfinancial, xdc, zerolend, zkswap, zksync-era-bridge, zyberswap

    Yes

    End of day and intraday pricing

    All cefi spot and defi spot instruments available on covered exchanges.

    Value at risk calculation

    • REST API

    DEXs: Since Genesis CEXs: Since 2010

    Yes

    Intraday updates of daily VaR

    All cefi spot and defi spot instruments available on covered exchanges.

    Custom portfolio valuation

    • REST API

    DEXs: Since Genesis CEXs: Since 2010

    Subscribe to tick-level trades

    To subscribe to real-time trade data for a specific asset, configure your connection to Kaiko Stream as below. In this example, we'll monitor ETH spot trades on all exchanges covered by Kaiko. This data will show every single trade involving ETH. To subscribe to just one venue, see example 2.

    from __future__ import print_function
    import logging
    import os
    
    import grpc
    from google.protobuf.json_format import MessageToJson
    from google.protobuf import duration_pb2
    
    

    Once configured, your received messages will look like this, containing the trade amount, the price at which it was executed, if the trade was a sell or a buy of the asset, and the exchange involved.

    Kaiko Level 1 Data

    exchange

    huob

    start_time

    2024-04-01T00:00:00.000Z

    end_time

    2024-04-11T00:00:00.000Z

    interval

    1d

    page_size

    100

    sort

    asc

    Here's an example of an HTTP string request using the values above:

    https://us.market-api.kaiko.io/v2/data/analytics.v2/exchange_metrics?exchange=huob&start_time=2024-04-01T00:00:00.000Z&end_time=2024-04-11T00:00:00.000Z&interval=1d&page_size=100&sort=asc

    When you receive your response, search for the following fields to find the data you need:

    • timestamp

    • asset_code

    • total_volume_usd

    In the example above, we can see that smaller tokens like SLERF, ENA, and BONE have recorded very large volumes, on some days, significantly higher than that of eth.
    Indices - Calculate value at risk, computed by a proprietary and thoroughly backtested methodology

    Data details

    Data/channel
    Data available
    Historical data
    Live?
    Granularity
    Coverage
    Docs link

    Single asset reference rates

    • Stream

    BigQuery

    Since Genesis

    Live with a ~15-minute delay to account for potential block reorganizations and ensure data accuracy

    Event-level (sub transaction)

    Kaiko Blockchain Monitoring

    Kaiko Blockchain Monitoring
    Kaiko Blockchain Monitoring

    -

    -

    -

    -

    Cefi spot markets
    Defi spot markets

    Kaiko Derivatives Risk Indicators

    Data descriptions

    • Exchange provided metrics - risk information such as greeks and IV in real-time.

    • IV calculation - Calculate volatility on a minute-by-minute basis from options market prices as smiles or surfaces.

    • Token-level liquidation volumes - The volumes of liquidations for derivatives contracts for a given asset, expressed in USD value.

    Data details

    Data/channe
    Historical data
    Live?
    Granularity
    Exchange coverage
    Asset coverage
    Docs link

    Reference Data

    Crypto asset reference data, including identifiers, supply metrics, and derivative specifications.

    Data descriptions

    Basic tier

    • Assets, exchanges, instruments, and associated codes - Reference data including FIGI codes

    Advanced tier

    • Derivatives pricing information - The mark price, index price, and price (last traded price) of a derivative.

    • Derivatives contract information - details of the contracts, including base asset, quote asset, contract size, contract size unit, expiry, strike price, and underlying index.

    Data details

    Data/channel
    Historical data
    Live?
    Granularity
    Coverage
    Docs link

    Supply and Market Cap

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

    Data descriptions

    • Total Supply - The current total number of tokens that were emitted. Includes locked tokens.

    • Circulating Supply - The current number of tokens that are free to circulate. This excludes locked tokens, lost tokens, burnt tokens.

    • Market Capitalization - The circulating_supply * price

    We do not provide the following data: Max Supply - The limit that the number of tokens cannot exceed. Example: 21m for BTC Fully Diluted Value (FDV) - max_supply * price

    Data details

    Channel
    Historical data
    Live?
    Granularity
    Asset coverage
    Docs link

    *Historical data availability aligns to the date of an asset's deployment e.g. if an asset becomes available in January 2026, historical data will be available from this date.

    Level 2 Tick-Level

    Data descriptions

    • All bids and asks - All bids and asks on an exchange's order book.

    • Mints and burns - Detailed information about the tokens that are added (minted) or removed (burned) from a liquidity pool, and the user addresses doing it.

    Emerging Assets

    • State price - For when there isn’t enough liquidity to produce a . Especially useful for DeFi-only assets, state price derives a price by analyzing the real-time state of liquidity pools for the selected asset, inspecting the pools’ reserves, balances, and recent flow to infer a-price consistent with current market conditions.

    Data details

    Data/channel
    from __future__ import print_function
    import logging
    import os
    
    import grpc
    from google.protobuf.json_format import MessageToJson
    from google.protobuf import duration_pb2
    
    from kaikosdk import sdk_pb2_grpc
    from kaikosdk.core import instrument_criteria_pb2, assets_pb2
    from kaikosdk.stream.aggregates_ohlcv_v1 import request_pb2 as pb_ohlcv
    from kaikosdk.stream.aggregates_vwap_v1 import request_pb2 as pb_vwap
    from kaikosdk.stream.market_update_v1 import request_pb2 as pb_market_update
    from kaikosdk.stream.market_update_v1 import commodity_pb2 as pb_commodity
    from kaikosdk.stream.trades_v1 import request_pb2 as pb_trades
    
    def market_update_request(channel: grpc.Channel):
        try:
            with channel:
                stub = sdk_pb2_grpc.StreamMarketUpdateServiceV1Stub(channel)
                responses = stub.Subscribe(pb_market_update.StreamMarketUpdateRequestV1(
                      # start of parameter configuration # 
                    instrument_criteria = instrument_criteria_pb2.InstrumentCriteria(
                        exchange = "binc",
                        instrument_class = "spot",
                        code = "eth-*"
                    ),
                      # end of parameter configuration # 
                    commodities=[pb_commodity.SMUC_TRADE]
                ))
                for response in responses:
                    print("Received message %s" % (MessageToJson(response, including_default_value_fields = True)))
                    # print("Received message %s" % list(map(lambda o: o.string_value, response.data.values)))
        except grpc.RpcError as e:
            print(e.details(), e.code())
            
    def run():
        credentials = grpc.ssl_channel_credentials(root_certificates=None)
        call_credentials = grpc.access_token_call_credentials(os.environ['KAIKO_API_KEY'])
        composite_credentials = grpc.composite_channel_credentials(credentials, call_credentials)
        channel = grpc.secure_channel('gateway-v0-grpc.kaiko.ovh', composite_credentials)
    
        market_update_request(channel)
    
    if __name__ == '__main__':
        logging.basicConfig()
        run()
    Received message {
      "commodity": "SMUC_TRADE",
      "amount": 0.1846,
      "class": "spot",
      "code": "eth-usdc",
      "exchange": "binc",
      "sequenceId": "cuuuc51nce0cg8o1ltk0",
      "id": "80983213",
      "price": 2400.87,
      "tsExchange": {
        "value": "2025-02-25T15:47:32.016Z"
      },
      "tsCollection": {
        "value": "2025-02-25T15:47:32.171124934Z"
      },
      "tsEvent": "2025-02-25T15:47:32.340833187Z",
      "updateType": "TRADE_BUY",
      "additionalProperties": {}
    }
    from kaikosdk import sdk_pb2_grpc
    from kaikosdk.core import instrument_criteria_pb2, assets_pb2
    from kaikosdk.stream.aggregates_ohlcv_v1 import request_pb2 as pb_ohlcv
    from kaikosdk.stream.aggregates_vwap_v1 import request_pb2 as pb_vwap
    from kaikosdk.stream.market_update_v1 import request_pb2 as pb_market_update
    from kaikosdk.stream.market_update_v1 import commodity_pb2 as pb_commodity
    from kaikosdk.stream.trades_v1 import request_pb2 as pb_trades
    def market_update_request(channel: grpc.Channel):
    try:
    with channel:
    stub = sdk_pb2_grpc.StreamMarketUpdateServiceV1Stub(channel)
    responses = stub.Subscribe(pb_market_update.StreamMarketUpdateRequestV1(
    # start of parameter configuration #
    instrument_criteria = instrument_criteria_pb2.InstrumentCriteria(
    exchange = "*",
    instrument_class = "spot",
    code = "eth-*"
    ),
    # end of parameter configuration #
    commodities=[pb_commodity.SMUC_TRADE]
    ))
    for response in responses:
    print("Received message %s" % (MessageToJson(response, including_default_value_fields = True)))
    # print("Received message %s" % list(map(lambda o: o.string_value, response.data.values)))
    except grpc.RpcError as e:
    print(e.details(), e.code())
    def run():
    credentials = grpc.ssl_channel_credentials(root_certificates=None)
    call_credentials = grpc.access_token_call_credentials(os.environ['KAIKO_API_KEY'])
    composite_credentials = grpc.composite_channel_credentials(credentials, call_credentials)
    channel = grpc.secure_channel('gateway-v0-grpc.kaiko.ovh', composite_credentials)
    market_update_request(channel)
    if __name__ == '__main__':
    logging.basicConfig()
    run()
    reference data API
    reference data API

    Yes

    1m, 1h, 4h, 1d

    All traded instruments.

    • REST API

    Since July 2020

    Yes

    1m, 1h, 4h, 1d

    All traded instruments.

    • AWS, Azure, Google Cloud Platform

    Since July 2020

    No

    1m, 1h, 4h, 1d

    All traded instruments.

    IV Calculation

    • REST API

    Since April 2021

    Yes

    1m

    • Deribit: BTC, ETH, SOL, MATIC, XRP

    • OKX: BTC, ETH

    Token-level liquidation volumes

    Since Jan 8th 2025

    Yes

    1h

    All traded instruments.

    Exchange-provided metrics

    • Stream

    No

    Derivatives pricing information

    • Stream

    72 hours on replay

    Yes

    Tick-level

    • REST API

    Since July 2020

    No

    1m - 1d

    • AWS, Azure, Google Cloud Platform

    Since July 2020

    No

    1m, 1h, 4h, 1d

    Derivatives contract information

    • REST API

    Since July 2020

    No

    1m - 1d

    Assets, exchanges, instruments, and associated codes

    • REST API

    n/a

    n/a

    n/a

    Data details

    Data/channel
    Historical data
    Live?
    Granularity
    Exchange coverage
    Asset coverage
    Docs link

    All bids and asks

    • Stream

    Historical data
    Live?
    Granularity
    Docs link
    Methodology

    State price

    Stream

    No

    Yes

    1s non-configurable

    -

    REST API

    24 hours only

    Yes

    1s non-configurable

    Exchange coverage

    Exchange
    Version
    Blockchains

    Aerodrome

    Basic, Slipstream

    Base

    Balancer

    v1

    Ethereum

    Balancer

    v2

    Arbitrum, Avalanche, Base, Ethereum, Polygon

    Camelot

    v3

    Arbitrum

    Only the largest pools contributing 95% of volume over last 7 days.

    Assets coverage

    Total coverage: 105 assets.

    Full list:

    direct or synthetic price

    72 hours available by replay

    Yes

    • Updates every 5 seconds

    • 3 daily fixings/closes in NY, LDN and SG time zones

    Benchmarks

    • REST API

    Since inception

    No

    For historical data only. Includes all publications

    Benchmarks

    Indices

    • Stream

    • Benchmarks - Single asset reference rates

    72 hours available by replay

    Yes

    • Updates every 5 seconds

    • 3 daily fixings/closes in NY, LDN and SG time zones

    Benchmarks

    REST API

    (CSV on demand)

    Since mid-September 2025 for available assets*

    Yes

    Supply 5 min increments for raw data. Aggregated supply 5-minute to 30-day intervals, aggregated from "supply" data.

    aave, aero, aster, bch, bgb, bnb, bonk, btc, cake, crv, dai, doge, ena, ens, ethfi, fdusd, fet, fil, floki, flr, grt, gt, imx, jup, kas, ldo, leo, link, ltc, mnt, myx, nexo, okb, ondo, op, paxg, pendle, pepe, pump, pyusd, ray, render, shib, sky, spx, trump, uni, usd1, usdc, usde, usdt, virtual, wif, wld, wlfi, xaut, xrp

    Cefi spot markets
    Defi spot markets
    Cefi spot markets
    Defi spot markets

    Level 2 Aggregations

    Data descriptions

    • Market depth (snapshot) - The number of orders at each price level either side of the mid price of an order book. The higher the order volume, the deeper and more liquid the market is. Shown as a point-in-time view generated every 30 seconds.

    • Market depth (aggregation) - The number of orders at each price level either side of the mid price of an order book. The higher the order volume, the deeper and more liquid the market is. Shown as an aggregation of all 30-second snapshots from the period requested.

    • Price slippage (snapshot) - The difference between the expected price for a trade and the executed price. High slippage can be a sign of low liquidity on the exchange. Shown as a point-in-time view generated every 30 seconds.

    • Price slippage (aggregation) - The difference between the expected price for a trade and the executed price. High slippage can be a sign of low liquidity on the exchange. Shown as an aggregation of all 30-second snapshots from the period requested.

    • Bid-ask spread (aggregation) - The difference between the best bid and the best ask on an instrument’s order book is an indicator of liquidity.

    • Raw order book snapshot - The raw data on which our Level 2 Aggregations such as market depth , bid/ask spread, and price slippage are built. Details a point-in-time view of the bids and asks on an exchange's order book to 10% depth. Used to build your own custom level 2 aggregations. The snapshot is produced every 30 seconds.

    • Tokens in a liquidity pool - The total total value locked (TVL) in a liquidity pool, as well as the unit of tokens available. A large number suggests the pool can handle large trades while maintaining low slippage.

    • Tokens in a liquidity pool (uniswap only) - The total total value locked (TVL) in a uniswap liquidity pool.

    • Interest rates, borrowed and deposited amounts - Block-by-block supply and times series for supply and borrow interest rates.

    Data details

    Data / channel
    Historical data
    Live?
    Granularity
    Exchange coverage
    Asset coverage
    Docs link

    Level 1 Tick-level

    Data descriptions

    • All trades - The most granular level of trading data, and contains every single trade that occurs on centralized and decentralized exchanges.

    • Best bids and asks (top of book) - shows the best bid and best asks on order book, provided in real-time.

    • Borrows, repayments, liquidations, and withdrawals - All events on a decentralized lending protocol.

    • Derivative liquidation events - All derivative liquidation events for a given instrument on an exchange, including all the details available for the event like price and position (long or short), and unique trade ID.

    Data details

    Data/ channel
    Historical data
    Live?
    Granularity
    Exchange coverage
    Asset coverage
    Docs link
    reference data API
    endpoint
    space
    space
    aleth, ampl, andybsc, anon, apu, ausd, bold, bome, bonksol, br, bsol, busd, cbada, cbbtc, cbdoge, cbeth, cbltc, cbxrp, crvusd, cusd, cusdo, deusd, ebtc, ethx, eul, eura, eurc, ezeth, frax, frxeth, frxusd, fwog, fxs, gho, grail, hait, hsol, hubsol, inf, jupsol, khype, klima, kta, kudai, lisusd, lobtc, lseth, lst, lusd, lvlusd, mag7ssi, meth, michi, miggles, mim, mkr, moobifi, musd, myx, oeth, ohm, ousdt, pufeth, pumpbtc, pyusd, rai, reth, rseth, rsweth, savax, solvbtc, srm, susd, susde, susds, sweth, tbtc, thbill, ueth, unbtc, unibtc, usd0, usd0plus, usd1, usdai, usdav, usde, usdf, usdg, usdhl, usdl, usdplus, usds, usdt0, usdtb, usdx, usdz, usol, usr, vsol, wampl, wbtc, weeth, wif, wsteth, wsthype, zbtc

    No

    At least one snapshot per minute.

    All cefi spot instruments available on covered exchanges.

    Raw order book snapshot

    • AWS, Azure, Google Cloud Platform

    Varies per exchange. Data from 2015.

    No

    At least one snapshot per minute. New CSV once day.

    All cefi spot and derivative instruments available on covered exchanges.

    • BigQuery, Snowflake

    Varies per exchange. Data from 2015.

    No

    At least one snapshot per minute. Data refreshes once a day.

    All cefi spot and derivative instruments available on covered exchanges.

    Tokens in a liquidity pool

    • REST API

    Since genesis

    Yes

    Block-by-block

    All defi spot instruments available on covered exchanges.

    Interest rates, borrowed and deposited amounts

    • REST API

    Since genesis

    Yes

    Tick-level

    All defi spot instruments available on covered exchanges.

    Market depth Bid ask spread Price slippage

    -

    • REST API

    1-month rolling

    Yes

    Tick-level

    All cefi spot instruments available on covered exchanges.

    • REST API

    Since 2010

    Yes

    Tick-level

    All cefi spot instruments available on covered exchanges.

    • AWS, Azure, Google Cloud Platform

    Since 2010

    New CSV once a day

    Tick-level

    All cefi spot instruments available on covered exchanges.

    • Snowflake, BigQuery

    Since 2010

    Data refreshes once a day

    Also available in near real-time

    Tick-level

    All cefi spot instruments available on covered exchanges.

    Best bids and asks

    • Stream

    72 hours on replay

    Yes

    Tick-level

    All cefi spot instruments available on covered exchanges.

    • AWS, Azure, Google Cloud Platform

    Since December 2022

    New CSV once a day

    Tick-level

    All cefi spot instruments available on covered exchanges.

    Borrows, repayments, liquidations, and withdrawals

    • REST API

    Since genesis

    Yes

    Tick-level

    All L&B instruments available on covered exchanges.

    • AWS, Azure, Google Cloud Platform

    Since genesis

    New CSV once a day

    Tick-Level

    All L&B instruments available on covered exchanges.

    Derivative liquidation events

    • REST API

    Since Jan 8th 2025

    Yes

    Tick-level

    All cefi derivative instruments available on covered exchanges.

    All trades

    • Stream

    72 hours on replay

    72 hours on replay

    Yes

    Tick-level

    Cefi spot ticker packs Cefi derivative ticker packs

    All cefi spot and derivative instruments available on covered exchanges.

    • AWS, Azure, Google Cloud Platform

    Since August 2023

    New CSV once a day

    Tick-level

    Cefi spot ticker packs

    All cefi spot instruments available on covered exchanges.

    Mints and burns

    • REST API

    Since genesis

    Yes

    Tick-level

    Defi spot ticker packs

    All defi spot instruments available on covered exchanges.

    • AWS, Azure, Google Cloud Platform

    Since genesis

    New CSV once a day

    Tick-level

    Defi spot ticker packs

    All defi spot instruments available on covered exchanges.

    -

    Curve

    v1, v2

    Arbitrum, Avalanche, Base, Ethereum, Polygon, Optimism

    Etherex

    v3

    Linea

    Hyperswap

    v3

    HyperEVM

    Meteora

    AMM

    Solana

    Orca

    Solana

    Pancakeswap

    v3

    BSC, Ethereum, Linea

    Raydium

    AMM, CLLM

    Solana

    Uniswap

    v2

    Ethereum

    Uniswap

    v3

    Arbitrum, Avalanche, Base, BSC, Bob, Celo, Ethereum, Polygon, Optimism

    Cefi derivative markets
    Cefi derivative markets
    Cefi derivative markets
    Cefi derivative markets
    Cefi derivative markets
    COVERAGE
    Cefi derivative markets
    Cefi derivative markets
    Cefi derivative markets
    Cefi derivative markets

    Level 1 Aggregations

    Data descriptions

    • OHLCV - The open, high, low, and close prices for a given period, alongside the volume traded.

    • VWAP - The average price of an asset over a specific time period, weighted by the volume of trades. VWAP can be used to gauge market sentiment and momentum shifts. VWAP formula: ∑(Price * Volume) / ∑Volume.

    • Trade count - The total number of trades from a given period.

    Data details

    Data / channel
    Historical data
    Live?
    Granularity
    Exchange coverage
    Asset coverage
    Docs link

    Established Assets

    Data descriptions

    • Direct price - Calculates a price for high-liquidity pairs using real-life trades from DeFi and CeFi exchanges.

    • Synthetic price - Suitable when there's insufficient real-life trades to calculate a direct price. Calculates prices by routing through intermediary assets with higher liquidity (e.g., ETH → BTC → JPY instead of ETH → JPY)

    • Principal market price - Calculates a price using by determining a principal market for a trading pair and aggregating the real-life trades from that market.

    Data details

    Data/channel
    Historical data
    Live?
    Granularity
    Exchange coverage
    Asset coverage
    Docs link
    Methodology

    Subscription channel availability

    Subscription name
    Data types
    Available channel(s)
    Data details

    Level 1 & Level 2 Data

    • Level 1 Aggregations

    Trade count

    OHLCV

    VWAP

    Stream, REST API, AWS, Azure, Google Cloud Platform, Snowflake, BigQuery

    Previous updates

    2023-12-12

    Mapping update: Changes implemented for the following Instruments due to Ronin And Romanian Fiat Currencies having an identical ticker.

    • Romanian Leu: ron → ronle .

      • ron is now referring to Ronin.

    2023-12-11

    September 2024

    Python code examples

    We've added Python code examples to all our Rest API documentation pages. This forms part of our ongoing mission to improve your user experience with Kaiko documentation. To see an example, head to any Rest API page and select the "Python" tab in the "Request Examples" section.

    Added CEX and DEX Coverage sections.

    2023-12-04

    • Exchange Metrics - Retrieve off-chain and on-chain metrics that help performing exchange analysis.

    2023-11-23

    • Added documentation for Lending and Borrowing Rates & Liquidity CSV.

    • Renamed product DEX Liquidity Events into Mints and Burns.

    • Renamed product DEX Liquidity Snapshots into Token Reserves.

    2023-11-16

    • Added documentation for Wallet Data CSV files on Bitcoin.

    2023-11-13

    Mapping update: Changes implemented for the following Instruments due to Merit Circle Migration from MC to BEAN Ticker.

    • BEAM: beam → beamprivacy . Name Changed from BEAM to BEAM (Privacy).

      • beam is now referring to BEAM (Merit Circle).

    2023-11-10

    Mapping updates:

    • Asset FLOKIINU has been deprecated as it was a duplicate of existing FLOKI. All instruments are now referencing the asset code FLOKI

    • MBOX-USD (MOBOX) instruments on KuCoin & MEXC which were previously mapped as fiat USD (United States Dollar) have been corrected to USDT (Tether). The new instrument code for these is MBOX-USDT

    • Binance LUNA-BUSD & LUNA2-BUSD perpetual future contract codes are now mapped separately. No ongoing data is present for LUNA-BUSD

    2023-10-26 - Data Quality Update. We identified and resolved an issue that caused duplication in our MEXC trades data. As of 2023-10-26, all new MEXC trades data will be free from such duplication. Please note that due to MEXC's unique data structure, we are unable to retroactively correct the impacted historical data. We recommend users to consider this when using any MEXC trade data prior to 2023-10-26.

    2023-10-26

    • Added 'live' parameter for all on-chain products.

    2023-09-22

    • Added documentation for Wallet Data CSV files on Ethereum.

    • Added field and parameter blockchain for Liquidity Events and Liquidity Snapshots.

    • Added documentation for Blockchain Reference Data.

    2023-09-18

    Reference Data behavior Update - The "trade_end_timestamp" field will only be populated after 7 consecutive days of inactivity. Previously, this field would be populated after 1 day of inactivity.

    2023-07-26

    Mapping update: Change implemented to the code used for DMarket. Code changed to accomodate the actively trading Dream Machine Token.

    • DMarket: DMT → DMK

    • Dream Machine Token: - → DMT

    2023-06-08

    Mapping update: Changes implemented for BitMEX Perpetual Futures contracts. Instrument codes are no longer using "base_asset" - "quote_asset" convention for API codes. To differentiate between different Perpetual Future contract types, these should now be queried using the codes assigned by BitMEX

    E.g. BTC-USD → XBTUSD

    • Added documentation for Robust Pair Price and Cross Price v2.

    2023-06-06

    • Added the Australian Exchange, Independent Reserve's case of taker_side_sell and pulled off the Google Doc page of order book data while updating the contents

    2023-05-31

    • Added documentation for CSV files of the following products: Order Book Snapshots, Derivatives Metrics, OHLCV candles, VWAP, Count-OHLCV-VWAP

    2023-05-17

    Mapping update: Changes implemented for the following Instruments

    • Toncoin: toncoin → ton

    • OKX: LUNA/BTC → OKX: LUNA2/BTC

    2023-05-03

    • Added documentation for Top of Book CSV files

    2023-04-24

    • Added documentation for Lending & Borrowing Rates and Liquidity

    2023-04-11

    Mapping update: Changes implemented for the following Instruments

    • METIS Dao:

      • Gemini: MTS/USD → Gemini: METIS/USD

      • Huobi: MTS/USDT → Huobi: METIS/USDT

    2023-04-06

    Mapping update: Changes implemented for the following Instruments

    • Polytrade: OKEX TRADE/USDT → OKEX POLYTRADE/USDT

    • METIS Dao:

      • OKEX MTS/USDT → OKEX METIS/USDT

      • COINBASE MTS/USDT → COINBASE METIS/USDT

    • GoMining Token: BITTREX GMT/USDT → BITTREX GOMININGTOKEN/USDT

    2023-04-05

    • Implied Volatility Surface - Retrieve calibrated and interpolated implied volatilities from options market prices

    2023-04-04

    • Updated the list of Tick-Level Order Book CSV files.

      • Upbit

      • Huobi Derivatives Market

      • Crypto Facilities

      • Bithumb

      • Binance US

    2023-03-30

    • Asset Metrics - Retrieve off-chain and on-chain metrics that help performing asset analysis.

    2023-03-29

    Mapping update: Changes implemented for the following Assets

    • Republic Protcol: REPUP → REN

    • Everest: ID → EVERID

      • ID is now mapped to Space ID

    • PrimeDAO: PRIME → PRIMEDAO

      • PRIME is now mapped to Prime Echelon

    • Lition: LIT → LITION

      • LIT is now mapped to Litentry

    • AXL is now mapped to Axelar

    2023-03-27

    Mapping update: Changes implemented for the following Assets

    • Facebook : FB → FACEBOOK

      • FB is now mapped to Fenerbahce

    • Orbitcoin : ORB → ORBITCOIN

      • ORB is now mapped to Orbcity

    2023-03-23

    Mapping update: Changes implemented for the following Assets

    • Arbit : ARB → ARBIT

      • ARB is now mapped to Arbitrum

    • SoloCoin : SOLO → SOLOC

      • SOLO is now mapped to Sologenic

    2023-02-21

    Mapping update: Changes implemented for the following Assets

    • OHM : OHM → OHMV1

      • OHM is now mapped to OHM V2

    2023-02-06

    • OKX can now be included in Implied Volatility computations

    2023-02-02

    • Cross Price - Extrapolation can be set to avoid missing values for low liquidity pairs

    2023-01-26

    • Derivative Metrics (Price) - end_time became exclusive

    • Derivative Metrics (Risk) - vega added to the REST API responses

    2023-01-16

    • Binance Options have been added to Derivative Metrics, Trade, and Order Book data

    2023-01-12

    • CSV Files - Tick By Tick Order Book added to the doc

    2022-06-03

    Mapping update: Changes implemented for the following Assets

    • Polkadot : PDOT → DOT

    • Uniswap : UNISWAP → UNI

    • FTX Token : FTXT → FTT

    • LEO Token : LEOT → LEO

    • MCDEX : MCDEX → MCB

    • Mercurial : MERC → MER

    • Oxygen : OXYG → OXY

    • Merit Circle : MRC → MC

    • Mines of Dalarnia : DARA → DAR

    • Cybermiles : CYMI → CMT

    • FairGame : FAIRGAME → FAIR

    • Origin Sport : ORSP → ORS

    2022-05-18

    Mapping Update: FTXUSD deprecation

    • All USD quoted spot instruments trading on FTX (International) are mapped to have fiat USD (United States Dollar) as 'quote_asset'

    2022-04-29

    • Derivatives API update: Derivatives API endpoint split into 3 endpoints, which are reference, risk, and price

    2022-02-17

    Mapping update

    • Bittrex SUSHI/BTC corrected from BTC/SUSHI

    2022-02-15

    Mapping update

    • Pax Dollar (asset) updated to use code USDP & USDP stablecoin: Unit Protocol (asset) updated to use code UUSDP

    2022-01-06

    Mapping update

    • SubGame (asset) code updated to use code SGBM & Songbird (asset) updated to use code SGB

    2021-12-28

    Mapping update

    • BitDAO (asset) code updated to use code BIT

    2021-12-24

    • Quote Asset correction for FTX perpetual-future instruments

    2021-12-20

    • Cross Price (Spot Exchange Rate) endpoint updated to support non-fiat currencies as 'quote_asset'

    2021-12-10

    Mapping update

    • Stox (asset) code changed from STX to STOX & Blockstack (asset) code changed from BSTX to STX

    2021-12-08

    Mapping update

    • Quote Asset correction for Bitfinex Tether quoted instruments

    • Level 1 Tick-Level

    All trades

    Stream, REST API, AWS, Azure, Google Cloud Platform, Snowflake, BigQuery, Private Networks

    Level 1 Tick-level

    • Level 1 Tick-Level

    Best bids/asks (top of book)

    Stream, AWS, Azure, Google Cloud Platform

    Level 1 Tick-level

    • Level 2 Aggregations

    Market depth, bid-ask-spread

    Price slippage

    Tokens in a liquidity pool

    Interest rates, borrowed and deposited amounts)

    REST API

    Level 2 Aggregations

    • Level 2 Aggregations

    Raw order book snapshot

    AWS, Azure, Google Cloud Platform, Snowflake, BigQuery

    Level 2 Aggregations

    • Level 2 Tick-Level

    All bids and asks

    Stream, AWS, Azure, Google Cloud Platform

    Level 2 Tick-Level

    • Level 2 Tick-Level

    Mints and burns

    REST API, AWS, Azure, Google Cloud Platform

    Level 2 Tick-Level

    Reference Data

    • Free tier

    Assets, exchanges, instruments, and associated codes

    REST API

    Reference Data

    • Advanced tier

    Derivatives pricing information

    Stream, REST API

    Reference Data

    • Advanced tier

    Derivatives contract information

    REST API

    Reference Data

    • Premium tier

    Market capitalization and circulating supply

    REST API

    Reference Data

    Kaiko Fair Market Value

    • Standard subscription

    -

    Stream, REST API

    Established Assets

    • Oanda FX add-on

    -

    REST API

    Oanda FX conversion

    Kaiko Best Execution

    • Standard subscription

    -

    Stream

    Kaiko Best Execution

    Kaiko Derivatives Risk Indicators

    • Basic tier

    Exchange-provided metrics

    REST API, AWS, Azure, Google Cloud Platform

    Kaiko Derivatives Risk Indicators

    • Advanced tier

    IV calculation Token-level liquidation volumes

    REST API

    Kaiko Derivatives Risk Indicators

    Kaiko Portfolio & Risk Management

    • Standard subscription

    Custom portfolio valuation

    Value at risk calculation

    REST API

    Kaiko Portfolio & Risk Management

    Kaiko Blockchain Monitoring

    • Standard subscription

    -

    AWS, Azure, Google Cloud Platform, BigQuery

    Kaiko Blockchain Monitoring

    Kaiko Market Explorer

    • Standard subscription

    -

    REST API, BigQuery

    Kaiko Market Explorer

    Kaiko Benchmarks

    • Single-asset

    -

    Stream, REST API

    Kaiko Indices

    • Multi-asset

    -

    Stream

    Kaiko Indices

    Level 1 Aggregations

    Yes

    1s

    All cefi spot, defi spot, and cefi derivative instruments available on covered exchanges.

    • Rest API

    Since 2010

    Yes

    1s - 1d

    All cefi spot, defi spot, and cefi derivative instruments available on covered exchanges.

    • AWS, Azure, Google Cloud Platform

    Since 2010

    New CSV once a day

    1s - 1d

    All cefi spot instruments available on covered exchanges.

    • Snowflake, BigQuery

    Since 2010

    Data refreshes once a day

    Also available in near real-time

    1s - 1d

    All cefi spot instruments available on covered exchanges.

    VWAP

    • Stream

    72 hours on replay

    Yes

    Monthly-level 1s - 1d Yearly-level 1h, 4h, and 1d

    All cefi spot, defi spot, and cefi derivative instruments available on covered exchanges.

    • Rest API

    Since 2010

    Yes

    Monthly-level 1s - 1d Yearly-level 1h, 4h, and 1d

    All cefi spot, defi spot, and cefi derivative instruments available on covered exchanges.

    • AWS, Azure, Google Cloud Platform

    Since 2010

    New CSV once a day

    Monthly-level 1s - 1d Yearly-level 1h, 4h, and 1d

    All cefi spot, defi spot, and cefi derivative instruments available on covered exchanges.

    • Snowflake, BigQuery

    Since 2010

    Data refreshes once a day

    Also available in near real-time

    Monthly-level 1s - 1d Yearly-level 1h, 4h, and 1d

    All cefi spot, defi spot, and cefi derivative instruments available on covered exchanges.

    Trade count

    • REST API

    Since 2010

    Yes

    1s - 1d

    All cefi spot, defi spot, and cefi derivative instruments available on covered exchanges.

    • AWS, Azure, Google Cloud Platform

    Since 2010

    New CSV once a day

    1s - 1d

    All cefi spot instruments available on covered exchanges.

    • Snowflake, BigQuery

    Since 2010

    Data refreshes once a day

    Also available in near real-time

    1s - 1d

    All cefi spot instruments available on covered exchanges.

    OHLCV

    • Stream

    72 hours on replay

    Stream

    No

    Yes

    Publication window: 1s, 5s, 10s, 15s, 30s, 1m Computation window: 1s, 5s, 10s, 15s, 30s, 1m, 5m

    All cefi spot and defi spot instruments available on covered exchanges.

    REST API

    DEXs: Since genesis

    CEXs: Since 2010

    Yes (15 minute lag on DEXs)

    Time periods between 1-second and 1-day

    All cefi spot and defi spot instruments available on covered exchanges.

    Synthetic price

    Stream

    No

    Yes

    Publication window: 1s, 5s, 10s, 15s, 30s, 1m Computation window: 1s, 5s, 10s, 15s, 30s, 1m, 5m

    All cefi spot and defi spot instruments available on covered exchanges.

    REST API

    DEXs: Since genesis

    CEXs: Since 2010

    Yes (15 minute lag on DEXs)

    Time periods between 1-second and 1-day

    All cefi spot and defi spot instruments available on covered exchanges.

    Principal market price

    Since July 2025

    Yes

    Single point in time only

    Top 20 ranked exchanges from , filtered by those offering USD spot pairs.

    All USD spot pairs on covered exchanges.

    -

    Direct price

    Derivatives Risk Indicators Enhancements

    We've made significant improvements to Kaiko Derivatives Risk Indicators. Users can now configure their IV using one of three calculation methods:

    • Deltas

    • Strikes

    • Forward log moneyness

    We've also made several enhancements, allowing finer granularity in your computations.

    Kaiko Derivatives Risk Indicators helps you manage risk in the options market with confidence, calculating the potential volatility of any crypto asset with user-provided criteria. It's made specifically for crypto, backed by our trusted market data. Contact us if you'd like to learn more about it.

    New stream documentation

    We've brought our stream documentation into our new Developer Hub. Take a look here - you'll see we've added specific code examples for each Kaiko data solution and significantly improved discoverability. As always, we welcome your feedback, so please let our operations team know if you have any thoughts.

    As a reminder, Kaiko Stream is the fastest and easiest way to consume Kaiko Data. Once connected to a stream, you'll get constant updates, providing true real-time data. Key benefits:

    ✔ Real-time updates delivered instantly with no need to call an API each time

    ✔ Data on multiple exchanges or instruments simultaneously in one stream

    ✔ gRPC technology for the best data delivery and uptime

    ✔ Customizable calculations, frequencies, and channels

    Cefi spot ticker packs
    Cefi spot ticker packs
    Cefi derivative ticker packs
    Cefi spot ticker packs
    Cefi derivative ticker packs
    Defi spot ticker packs
    Defi spot ticker packs
    Cefi spot ticker packs
    Defi spot ticker packs
    Cefi derivative ticker packs
    Cefi spot ticker packs
    Defi spot ticker packs
    Cefi derivative ticker packs
    Cefi spot ticker packs
    Cefi spot ticker packs
    Cefi spot ticker packs
    Cefi spot ticker packs
    Lending and borrowing protocol ticker packs
    Lending and borrowing protocol ticker packs
    Cefi derivative ticker packs
    Cefi spot ticker packs
    Defi spot ticker packs
    Cefi derivative ticker packs
    Cefi spot ticker packs
    Defi spot ticker packs
    Cefi derivative ticker packs
    Cefi spot ticker packs
    Cefi spot ticker packs
    Cefi spot ticker packs
    Defi spot ticker packs
    Cefi derivative ticker packs
    Cefi spot ticker packs
    Defi spot ticker packs
    Cefi derivative ticker packs
    Cefi spot ticker packs
    Defi spot ticker packs
    Cefi derivative ticker packs
    Cefi spot ticker packs
    Defi spot ticker packs
    Cefi derivative ticker packs
    Cefi spot ticker packs
    Defi spot ticker packs
    Cefi derivative ticker packs
    Cefi spot ticker packs
    Cefi spot ticker packs
    Cefi spot markets
    Defi spot markets
    https://www.kaiko.com/resources/methodologies
    Cefi spot markets
    Defi spot markets
    https://www.kaiko.com/resources/methodologies
    Cefi spot markets
    Defi spot markets
    https://www.kaiko.com/resources/methodologies
    Cefi spot markets
    Defi spot markets
    https://www.kaiko.com/resources/methodologies
    Kaiko Exchange Ranking
    Reference Rates
    Historical prices
    Multi-Asset Indices

    Trace stolen funds across a blockchain

    Tracing blockchain transactions and wallets is critical in the aftermath of a hack, enabling investigators to follow stolen funds, uncover illicit activity, and improve transparency. Kaiko Blockchain Monitoring provides direct, UI-free access to on-chain data, ensuring full control over data extraction and analysis. Unlike proprietary interfaces that can be restrictive, this approach allows for flexible, scalable investigations tailored to evolving threats.

    This guide demonstrates how to:

    • Trace fund movements across Ethereum wallets

    • Aggregate and analyze on-chain flows

    • Conduct scalable investigations without the constraints of a predefined UI

    Request information on a single address or transaction

    To see the balances and transactions for a single Ethereum wallet, use this request example.

    Trace funds through several paths

    To automatically trace the destination of funds, it's wise to use a custom Python script that:

    • Queries multiple wallets in a batch request

    • Automatically requests information on subesquent "hops" or flows

    • Consolidates into a final list of destinations addresses

    This script dynamically traces fund flows across multiple paths, quickly generating a csv with all wallets associated with the hack up to 4 hops. You can re-run the script any time to get an instantly up-to-date picture of the stolen funds and any new associated wallets. You can also add extra steps to trace across as many hops as required.

    User_address
    Level
    Amount_usd
    On-chain
    Kaiko Indices
    user guide

    Level 4

    90055.16267862360

    0x00214cb533e66d062f420125b99fc60b6b3069a0

    Level 3

    239743.47125701400

    0x00214cb533e66d062f420125b99fc60b6b3069a0

    Level 4

    239743.47125701400

    0x0026b786684690772d87a448f9ff909669c83649

    Level 4

    152745.4588658880

    0x002b8edf90443fca65241075709db049187b9603

    Level 4

    327137.64441197500

    0x002fd753417a7348fdd84b4be390e399515fc488

    Level 4

    264196.3332642850

    0x000010036c0190e009a000d0fc3541100a07380a

    Level 4

    165439929.37011100

    0x000949aef11d7b124a3c333e737af450fc70682a

    Level 4

    528853.1734133920

    0x0014462b38e67e6c1f5e0385fbbd298abf182722

    Level 4

    686812.705417298

    curl --compressed -H "Accept: application/json" -H "X-Api-Key: <client-api-key>" \
      "https://eu.market-api.kaiko.io/v2/data/wallet.v1/audit?blockchain=ethereum"
    import pandas as pd 
    import requests
    from tqdm import tqdm
    from concurrent.futures import ThreadPoolExecutor
    import time
    
    list_wallets = ['0xf977814e90da44bfa03b6295a0616a897441acec','0xbe0eb53f46cd790cd13851d5eff43d12404d33e8']
    start_time = '2025-02-27T00:00:00.000Z'
    blockchain = 'ethereum'
    
    # Headers for the API request
    headers_dict = {
        'Accept': 'application/json',
        'X-Api-Key': 'YOUR_API_KEY'
    }
    
    # API URL for fetching Kaiko product Blockchain Monitoring
    URL = 'https://us.market-api.kaiko.io/v2/data/wallet.v1/audit'
    
    def get_data(url, headers, params=None, retries=5, delay=1):
        for attempt in range(retries):
            try:
                response = requests.get(url, headers=headers, params=params)
                response.raise_for_status()  # Raise an exception for HTTP errors
                return response.json()
            except requests.exceptions.RequestException as e:
                print(f"Attempt {attempt + 1} failed: {e}")
                if attempt < retries - 1:
                    time.sleep(delay)
                else:
                    raise
    
    def get_all_events_for_address(address, start_time, blockchain):
        data = pd.DataFrame()
        
        params_dict = {
            'blockchain': blockchain,
            'user_address': address.lower(),
            'start_time': start_time
        }
    
        res = get_data(URL, headers_dict, params_dict)
        try:
            data = pd.concat([data, pd.DataFrame(res['data'])], ignore_index=True)
        except Exception as e:
            print(e)
    
        while 'next_url' in res.keys():
            if res['next_url'] == None:
                break
            try:
                res = get_data(res['next_url'], headers_dict)
                data = pd.concat([data, pd.DataFrame(res['data'])], ignore_index=True)
            except KeyboardInterrupt:
                print("Exit")
                break
            except Exception as e:
                print(e)
                continue
    
        return data
    
    
    def get_all_events_for_addresses(addresses, start_time):
        with ThreadPoolExecutor(max_workers=20) as executor:
            results = list(tqdm(executor.map(lambda addr: get_all_events_for_address(addr, start_time, blockchain), addresses), total=len(addresses)))
        return pd.concat(results, ignore_index=True)
    
    data = get_all_events_for_addresses(addresses=list_wallets, start_time=start_time, blockchain=blockchain)
    
    import pandas as pd
    import requests
    from tqdm import tqdm
    from concurrent.futures import ThreadPoolExecutor
    import time
    
    # Headers for the API request
    KAIKO_HEADERS_DICT = {
        'Accept': 'application/json',
        'X-Api-Key': 'YOUR_API_KEY'
    }
    
    def get_data(url, headers, params=None, retries=10, delay=2):
        """
        Fetches data from the given URL with retry logic.
    
        Parameters:
        url (str): The URL to fetch data from.
        headers (dict): The headers for the request.
        params (dict): The parameters for the request.
        retries (int): The number of retry attempts.
        delay (int): The delay between retry attempts in seconds.
    
        Returns:
        dict: The JSON response from the API.
        """
        for attempt in range(retries):
            try:
                response = requests.get(url, headers=headers, params=params)
                response.raise_for_status()  # Raise an exception for HTTP errors
                return response.json()
            except requests.exceptions.RequestException:
                if attempt < retries - 1:
                    time.sleep(delay)
                else:
                    print('max retries exceeded')
                    raise
    
    
    def get_all_events_for_address(address, start_time='2024-01-01T00:00:00.000Z'):
        """
        Fetches all events for a given address starting from a specified time.
        
        Parameters:
        address (str): The user address to fetch events for.
        start_time (str): The start time for fetching events in ISO 8601 format.
        
        Returns:
        pd.DataFrame: A DataFrame containing all events for the given address.
        """
        URL = 'https://us.market-api.kaiko.io/v2/data/wallet.v1/audit'  
        data = pd.DataFrame()
        params_dict = {
            'blockchain': 'ethereum',
            'user_address': address.lower(),
            'start_time': start_time,
            'page_size':400
        }
        res = get_data(URL, KAIKO_HEADERS_DICT, params_dict)
        try:
            data = pd.concat([data, pd.DataFrame(res['data'])], ignore_index=True)
        except Exception as e:
            print(e)
        count = 0
        while 'next_url' in res.keys():
            count+=1
            if res['next_url'] == None:
                break
            try:
                res = get_data(res['next_url'], KAIKO_HEADERS_DICT)
                data = pd.concat([data, pd.DataFrame(res['data'])], ignore_index=True)
                if (count > 100):
                    print(address, count)
                    break
            except KeyboardInterrupt:
                print("Exit")
                break
            except Exception as e:
                print(e)
                continue
        return data
    
    
    def get_all_events_for_addresses(addresses, start_time='2024-01-01T00:00:00.000Z'):
        """
        Fetches all events for multiple addresses starting from a specified time using multithreading.
        
        Parameters:
        addresses (list): A list of user addresses to fetch events for.
        start_time (str): The start time for fetching events in ISO 8601 format.
        
        Returns:
        pd.DataFrame: A DataFrame containing all events for the given addresses.
        """
        with ThreadPoolExecutor(max_workers=20) as executor:
            results = list(tqdm(executor.map(lambda addr: get_all_events_for_address(addr, start_time), addresses), total=len(addresses)))
        return pd.concat(results, ignore_index=True)
    
    
    def get_all_events_for_addresses_with_time(addresses_and_time):
        """
        Fetches all events for multiple addresses with different start times using multithreading.
        
        Parameters:
        addresses_and_time (list of tuples): A list of tuples where each tuple contains an address and a start time.
        example:
            addresses_and_time = [["0x47666fab8bd0ac7003bce3f5c3585383f09486e2", '2025-01-01T04:00:00.000Z'],
            ["0xaf620e6d32b1c67f3396ef5d2f7d7642dc2e6ce9", '2021-02-21T01:00:00.000Z']]
        
        Returns:
        pd.DataFrame: A DataFrame containing all events for the given addresses and start times.
        """
        with ThreadPoolExecutor(max_workers=20) as executor:
            results = list(tqdm(executor.map(lambda addr: get_all_events_for_address(addr[0], addr[1]), addresses_and_time), total=len(addresses_and_time)))
        return pd.concat(results, ignore_index=True)
    
    def get_all_pools():
        URL = 'https://reference-data-api.kaiko.io/v1/pools'
        data = pd.DataFrame()
        params_dict = {
            'blockchain': 'ethereum'}
        res = get_data(URL, KAIKO_HEADERS_DICT, params_dict)
        try:
            data = pd.concat([data, pd.DataFrame(res['data'])], ignore_index=True)
        except Exception as e:
            print(e)
        return data['address'].tolist()
    
    def get_receiver_addresses_filtered_with_time(events, filter_out):
        """
        Filters and returns a list of receiver addresses with their earliest transaction timestamps,
        excluding specified addresses and keeping only those with a total amount_usd > 100.
    
        Parameters:
        events (pd.DataFrame): DataFrame containing transaction events.
        filter_out (set): A set of addresses to be excluded from the results.
    
        Returns:
        list: A list of tuples where each tuple contains a receiver address and its earliest transaction timestamp.
        """
        outgoing_events = events[events["direction"] == "out"]
        amount_sums = outgoing_events.groupby('receiver_address')['amount_usd'].sum()
        valid_addresses = amount_sums[amount_sums > 10].index
        receiver_addresses_list_with_time = outgoing_events[outgoing_events['receiver_address'].isin(valid_addresses)][["receiver_address", "timestamp"]]
        receiver_addresses_list_with_time['timestamp'] = pd.to_datetime(receiver_addresses_list_with_time['timestamp'], unit='ns').dt.strftime('%Y-%m-%dT%H:%M:%S.%fZ')
        receiver_addresses_list_with_time = receiver_addresses_list_with_time.groupby('receiver_address')['timestamp'].min().reset_index().values.tolist()
        receiver_addresses_list_with_time = [addr for addr in receiver_addresses_list_with_time if addr[0] not in filter_out]
        return receiver_addresses_list_with_time
    
    # ----------------------------
    
    # Addresses to be removed from the results
    addresses_to_remove = [
        "0x0000000000000000000000000000000000000000", # null address
        '', # empty address
        "0x47666fab8bd0ac7003bce3f5c3585383f09486e2", # exploiter
        "0xf89d7b9c864f589bbf53a82105107622b35eaa40", # bybit hot wallet
        "0x1f9090aae28b8a3dceadf281b0f12828e676c326", # block builder
        "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5", # block builder
        "0x4838b106fce9647bdf1e7877bf73ce8b0bad5f97", # block builder
        "0x388c818ca8b9251b393131c08a736a67ccb19297", # Lido execution builder
        "0x7e2a2fa2a064f693f0a55c5639476d913ff12d05", # mev block builder
        "0x6be457e04092b28865e0cba84e3b2cfa0f871e67", # mev block builder
        "0x3bee5122e2a2fbe11287aafb0cb918e22abb5436", # mev block builder
        "0xdadb0d80178819f2319190d340ce9a924f783711", # block builder
        "0xe688b84b23f322a994a53dbf8e15fa82cdb71127", # block fee recipient
        "0xd11d7d2cb0aff72a61df37fd016ee1bd9f180633", # mev block builder
        "0x4675c7e5baafbffbca748158becba61ef3b0a263", # mev block builder
        "0x7adc0e867ebc337e2d20c44db181c067fa08637b", # block builder
        "0x98ed2d46a27afeead62a5ea39d022a33ea4d25c1", # ?
        "0x00000000219ab540356cbb839cbe05303d7705fa", # Beacon chain deposit contract
        "0x0000000000bbf5c5fd284e657f01bd000933c96d", # Paraswap delta v2
        "0x6a000f20005980200259b80c5102003040001068", # Paraswap augustus v6.2
        "0x3fc91a3afd70395cd496c647d5a6cc9d4b2b7fad", # Uniswap universal router
        "0x1231deb6f5749ef6ce6943a275a1d3e7486f4eae", # li.fi diamond (router)
        "0x74de5d4fcbf63e00296fd95d33236b9794016631", # metamask swap
        "0x7d0ccaa3fac1e5a943c5168b6ced828691b46b36", # OKX DEX router
        "0x9008d19f58aabd9ed0d60971565aa8510560ab41", # Cow protocol settlement
        "0xd37bbe5744d730a1d98d8dc97c42f0ca46ad7146", # THORCHAIN router
    ]
    
    # Get all pools on Ethereum in Kaiko's reference data (to be filtered out because they're not receivers from the exploiter)
    all_pools = get_all_pools()
    addresses_to_remove = addresses_to_remove + all_pools
    
    # Level 1: Get all events from the exploiter
    exploiter_address = "0x47666fab8bd0ac7003bce3f5c3585383f09486e2"
    hack_time = '2025-02-21T14:00:00.000Z'
    exploiter_events = get_all_events_for_address(exploiter_address, start_time=hack_time)
    
    # Level 2: Get all events for all addresses that received funds from the exploiter
    receiver_addresses_list_with_time = get_receiver_addresses_filtered_with_time(exploiter_events, addresses_to_remove)
    receiver_addresses_2_events = get_all_events_for_addresses_with_time(receiver_addresses_list_with_time)
    
    # Level 3: Get all events for all addresses that received funds from addresses that received funds from the exploiter
    receiver_addresses_3_list_with_time = get_receiver_addresses_filtered_with_time(receiver_addresses_2_events, addresses_to_remove)
    receiver_addresses_3_events = get_all_events_for_addresses_with_time(receiver_addresses_3_list_with_time)
    
    # Level 4: Get all events for all addresses that received funds from addresses that received funds from the addresses that received funds from the exploiter
    receiver_addresses_4_list_with_time = get_receiver_addresses_filtered_with_time(receiver_addresses_3_events, addresses_to_remove)
    receiver_addresses_4_events = get_all_events_for_addresses_with_time(receiver_addresses_4_list_with_time)
    
    # ----------------------------
    
    # Concat all events dataframe and specify each "level" it is.
    df1 = exploiter_events.copy()
    df2 = receiver_addresses_2_events.copy()
    df3 = receiver_addresses_3_events.copy()
    df4 = receiver_addresses_4_events.copy()
    
    # Add the 'Layer' column
    df1["level"] = "Level 1"
    df2["level"] = "Level 2"
    df3["level"] = "Level 3"
    df4["level"] = "Level 4"
    
    # Concatenate the DataFrames
    all_transfers = pd.concat([df1, df2, df3, df4], ignore_index=True)
    all_transfers.to_csv("all_exploiters_and_receivers_transfers.csv", index=False)
    
    list_addresses = all_transfers[all_transfers["direction"] == "out"].groupby(['user_address', 'level'])['amount_usd'].sum()
    list_addresses.to_csv("list_addresses.csv", index=True)
    ```

    0x001c0cf0aba3614e650d591ef222ccb0f8e3a0ee

    Kaiko Stream
    Cloud Delivery
    Exchange-provided metrics
    Exchange-provided metrics
    Derivatives pricing
    Derivatives price details
    State price
    Bids and asks
    Bids and asks
    Mints and burns
    All trades
    Best bids and asks (top of book)
    https://app.gitbook.com/o/w3tnmhy33x0ccB3jdxr3/s/195pnvvX8d8tAqU43UQY/data-feeds/level-1-tick-level/borrows-repayments-liquidations-and-withdrawals
    All trades
    All trades
    Best bids and asks (top of book)
    Borrows, repayments, liquidations, and withdrawals
    OHLCV
    VWAP
    OHLCV Only
    OHLCV Only
    VWAP Only
    VWAP Only
    Trade Count, OHLCV & VWAP
    Trade Count, OHLCV & VWAP
    Direct price
    Synthetic price
    Blockchain Monitoring
    Blockchain Monitoring
    Raw order book snapshot
    Raw order book snapshot
    Exchange endpoint
    Kaiko Derivatives Risk Indicators
    smile
    Order Book Snapshots
    Market Metrics
    Rest API
    Total Value Locked (TVL)
    Kaiko Blockchain Monitoring
    Kaiko Blockchain Monitoring
    Kaiko Market Explorer
    Custom valuation
    Value at risk calculation
    Supply
    Aggregated Supply
    Exchange-provided metrics
    Implied volatility calculation - smile
    Implied volatility calculation - surface
    Token-level liquidation volumes
    Basic tier
    Derivatives price details
    Derivatives contract details
    State price
    Mints and burns
    Level 2 Aggregations
    Tokens in a liquidity pool
    Tokens in a liquidity pool (Uniswap v3)
    Interest rates, borrowed and deposited amounts
    All trades
    Borrows, repayments, liquidations, and withdrawals
    Derivative liquidation events
    OHLCV only
    VWAP only
    Trade Count, OHLCV, & VWAP
    Direct price
    Synthetic price
    Principal market price
    Exchange endpoint

    Cefi derivative markets