# Information
Source: https://docs.amberdata.io/asset-and-pair-data
# Pair Definition
The Pair Information endpoint delivers reference metadata for spot market trading pairs such as BTC\_USD on a specific exchange. It provides essential details including asset and exchange identifiers, unique Amberdata ARC references, and the historical data availability for pricing and related market data on a pair.
# Pair Details
This endpoint supports pair discovery and mapping workflows by returning standardized identifiers and coverage information. It is especially valuable when onboarding new pairs and confirming data history before querying timeseries endpoints. The response indicates when data for a pair first became available, helping manage expectations around historical completeness.
# Pair API Endpoint
[/price/new-instrument-pair-information](/http/price/new-instrument-pair-information)
***
# Asset Definition
The Asset Information endpoint displays reference metadata for individual spot market assets (e.g., BTC, ETH), including full names, standardized symbols, unique Amberdata ARC identifiers, and per-exchange data availability ranges.
# Asset Details
Ideal for asset cataloging, symbol-to-name resolution and exchange listing verification This endpoint returns one record per supported exchange-asset combination. It enables efficient filtering and validation in applications that need to understand where and how deep the dataset history is for the specified asset.
# Asset API Endpoint
[/price/new-asset-information](/http/price/new-asset-information)
***
# Prices
Source: https://docs.amberdata.io/asset-information
# Pair Definition
The Pair Price endpoint provides current or historical price data for a specified spot trading pair (e.g., BTC\_USDC), including the price in USD, associated timestamp, and volume traded in the base asset. This price is calculated across all exchanges that support the pair, on a volume weighted average price (VWAP).
# Pair Details
This endpoint is designed for retrieving actionable price points for individual spot pairs, making it suitable for real-time monitoring, valuation checks, dashboard displays, or integration into trading/pricing applications. The response includes the normalized pair identifier, USD-denominated price, precise timestamp (typically at a specific interval or latest available), and asset-volume traded. It supports filtering by date range and time interval (minute, hour or day) to retrieve targeted data points.
# API Endpoint
[/price/new-instrument-price](/http/price/new-instrument-price)
***
# Asset Definition
The Asset Price endpoint provides current or historical price data for a specified spot asset (e.g., BTC), including the price in USD, associated timestamp, and volume traded in the asset. This price is calculated across all exchanges that support the asset, on a volume weighted average price (VWAP).
# Asset Details
This endpoint is designed for retrieving actionable price points for individual spot assets, making it suitable for real-time monitoring, valuation checks, dashboard displays, or integration into trading/pricing applications. The response includes the normalized asset identifier, USD-denominated price, precise timestamp (typically at a specific interval or latest available), and asset-volume traded. It supports filtering by date range and time interval (minute, hour or day) to retrieve targeted data points.
# API Endpoint
[/price/new-asset-price](/http/price/new-asset-price)
***
# Availability
Coverage includes major tokens such as BTC, ETH, XRP, SOL, and USDT. Please use the information endpoint to find all coverage and exact trading pairs.
| Exchange | History | Granularity |
| --------------- | ---------- | -------------------------- |
| Binance | 2023-06-01 | 1hr, before 2025 then 1min |
| Binance.us | 2023-06-01 | 1hr, before 2025 then 1min |
| Bitstamp | 2023-06-01 | 1hr, before 2025 then 1min |
| Bybit | 2023-06-01 | 1hr, before 2025 then 1min |
| GDAX (Coinbase) | 2023-06-01 | 1hr, before 2025 then 1min |
| Gemini | 2023-06-01 | 1hr, before 2025 then 1min |
| OKEx (OKX) | 2023-06-01 | 1hr, before 2025 then 1min |
| Poloniex | 2023-06-01 | 1hr, before 2025 then 1min |
| itBit | 2024-03-05 | 1hr, before 2025 then 1min |
| Mercado Bitcoin | 2024-03-25 | 1hr, before 2025 then 1min |
| Bitget | 2024-09-24 | 1hr, before 2025 then 1min |
| Huobi | 2024-09-24 | 1hr, before 2025 then 1min |
| Gate.io | 2025-01-07 | 1min |
| Crypto.com | 2025-02-19 | 1min |
| KuCoin | 2025-02-19 | 1min |
| HashKey | 2025-02-28 | 1min |
| Bullish | 2025-03-19 | 1min |
| Deribit | 2025-03-20 | 1min |
| Coinbase Intl | 2025-04-01 | 1min |
| Upbit | 2025-04-28 | 1min |
| CoinW | 2025-05-15 | 1min |
***
# Frequently Asked Questions
**What is the reason for both an asset and pair price?**
* Depending on the use case, you might want an overall price for an asset like Bitcoin. Or, you might need more specific pair data like SOL\_USD or similar. Our endpoints don't make you choose.
**Do the info endpoints show the depth of the data, ie, how far back it goes?**
* Yes. In the response you'll see a field labeled startDate which makes it easy to see how deep the dataset is.
***
# API Changes & Deprecations
Source: https://docs.amberdata.io/changelog/api-changes
## π¦ API Changes & Deprecations
* **Arkham Spot & Futures Data Discontinued** β February 16, 2026
Read more
* **OKCoin Data No Longer Available (Platform Rebranding to OKX)** β October 1, 2025
Read more
* **Batch Endpoint Migration Notice** β March 6, 2025
Read more
* **Batch Endpoint Behavior Changes** β January 8, 2025
Read more
* **Batch Endpoint Retrieval Limits** β January 6, 2025
Read more
# Fixes
Source: https://docs.amberdata.io/changelog/fixes
## π Fixes & Clarifications
* **BitMEX Volume Mapping Clarification** β February 14, 2025
Read more
# Infrastructure & Improvements
Source: https://docs.amberdata.io/changelog/infrastructure
## βοΈ Infrastructure & Improvements
* **Upcoming Infrastructure Upgrade: Market Data API** β Effective March 6, 2026
Read more
* **Upcoming API Compression Requirement** β Effective July 1, 2025
Read more
* **S3 Path Recommendation** β February 1, 2025
Read more
* **REST Historical Order Book Access Limited to 18 Months** β May 15, 2025
Read more
# Product Updates
Source: https://docs.amberdata.io/changelog/product-updates
## π Product Updates
* **Bullish Options Data** β May 7, 2026
Read More
* **New Parameter: `metricType` for Futures Long/Short Ratio** β March 31, 2026
Read More
* **Tokenized Equity Instruments Now Available!** β February 24, 2026
Read More
* **New Exchange Coverage and Dataset Expansions** β February 13, 2026
Read More
* **Arkham Spot & Futures Data Now Available** β August 29, 2025
Read More
* **BitMart Futures Data Now Available** β July 1, 2025
Read More
* **BitMart Spot Data Now Available** β June 12, 2025
Read More
* **CoinW Spot Data Now Available** β May 27, 2025
Read more
* **Coinbase International Spot & Futures** β April 10, 2025
Read more
* **Bullish Spot Data** β April 4, 2025
Read more
* **Upbit Spot Data** β April 29, 2025
Read more
* **Hyperliquid Futures Data** β April 18, 2025
Read more
* **Deribit Spot Data** β April 4, 2025
Read more
* **New Spot Markets: Bitvavo, Blockchain.com, Phemex, OKCoin** β April 4, 2025
Read more
* **HashKey Exchange Spot Data** β March 13, 2025
Read more
* **Crypto.com Spot Data** β March 7, 2025
Read more
* **KuCoin Spot & Binance Options Data** β March 3, 2025
Read more
* **Gate.io Spot Data** β January 17, 2025
Read more
# DeFi Analytics
Source: https://docs.amberdata.io/cloudsync/cloudsync-blockchain-data-and-defi-analytics
Comprehensive data, including DeFi protocol analytics (covering DEX trading, lending protocols, liquidity events, lending protocol events, stablecoin metrics, and more) across multiple networks, delivered via Amazon S3 for advanced research and DeFi strategy development.
#### DEX Trades
Raw trading data from major decentralized exchanges:
| Sample Files |
| ----------------------------------------------------------------------------------------- |
| [Download](https://amberdata-samples.s3.amazonaws.com/defi/dex/trades/2026-02-15.parquet) |
#### DEX Liquidity Events
Liquidity pool addition and removal events:
| Sample Files |
| -------------------------------------------------------------------------------------------- |
| [Download](https://amberdata-samples.s3.amazonaws.com/defi/dex/liquidity/2026-02-15.parquet) |
### Lending Protocol Data
#### Protocol Events
Raw lending, borrowing, and liquidation events from major DeFi protocols:
| Protocol | Blockchain | Sample Files |
| ----------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| Aave v2 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/ethereum/aave/v2/protocol_lens-02-15-26.parquet) |
| Aave v3 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/ethereum/aave/v3/protocol-events/protocol_lens-02-15-26.parquet) |
| Aave v3 | Arbitrum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/arbitrum/aave/v3/protocol_lens-02-15-26.parquet) |
| Aave v2 | Avalanche | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/avalanche/aave/v2/protocol_lens-02-15-26.parquet) |
| Aave v3 | Avalanche | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/avalanche/aave/v3/protocol_lens-02-15-26.parquet) |
| Aave v3 | Optimism | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/optimism/aave/v3/protocol_lens-02-15-26.parquet) |
| Compound v2 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/ethereum/compound/v2/protocol-events/protocol_lens-02-15-26.parquet) |
| MakerDAO | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/ethereum/makerdao/protocol-events/protocol_lens-02-15-26.parquet) |
#### Daily Asset Metrics
Aggregated daily metrics for individual assets across protocols:
| Protocol | Blockchain | Sample Files |
| ----------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Aave v2 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/asset_daily/blockchain=ethereum-mainnet/aavev2/summary-02-15-26.parquet) |
| Aave v3 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/asset_daily/blockchain=ethereum-mainnet/aavev3/summary-02-15-26.parquet) |
| Compound v2 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/asset_daily/blockchain=ethereum-mainnet/compoundv2/summary-02-15-26.parquet) |
| Compound v3 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/asset_daily/blockchain=ethereum-mainnet/compoundv3/summary-02-15-26.parquet) |
| MakerDAO | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/asset_daily/blockchain=ethereum-mainnet/makerdao/summary-02-15-26.parquet) |
#### Daily Protocol Metrics
Aggregated daily metrics for entire protocols:
| Protocol | Blockchain | Sample Files |
| ----------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Aave v2 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/protocol_daily/blockchain=ethereum-mainnet/aavev2/summary-02-15-26.parquet) |
| Aave v3 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/protocol_daily/blockchain=ethereum-mainnet/aavev3/summary-02-15-26.parquet) |
| Compound v2 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/protocol_daily/blockchain=ethereum-mainnet/compoundv2/summary-02-15-26.parquet) |
| Compound v3 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/protocol_daily/blockchain=ethereum-mainnet/compoundv3/summary-02-15-26.parquet) |
| MakerDAO | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/protocol_daily/blockchain=ethereum-mainnet/makerdao/summary-02-15-26.parquet) |
#### Daily Stablecoin Metrics
Focused metrics on stablecoin usage within lending protocols:
| Protocol | Blockchain | Sample Files |
| ----------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Aave v2 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/stablecoin_daily/blockchain=ethereum-mainnet/protocol=aavev2/summary-02-15-26.parquet) |
| Aave v3 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/stablecoin_daily/blockchain=ethereum-mainnet/protocol=aavev3/summary-02-15-26.parquet) |
| Compound v2 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/stablecoin_daily/blockchain=ethereum-mainnet/protocol=compoundv2/summary-02-15-26.parquet) |
| Compound v3 | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/stablecoin_daily/blockchain=ethereum-mainnet/protocol=compoundv3/summary-02-15-26.parquet) |
| MakerDAO | Ethereum | [Download](https://amberdata-samples.s3.amazonaws.com/defi/lending/metrics/stablecoin_daily/blockchain=ethereum-mainnet/makerdao/summary-02-15-26.parquet) |
## Data Field Descriptions
#### DEX Trade Fields
Comprehensive trading data from decentralized exchanges:
| Field | Description |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| exchange | The name of the DEX (e.g., Uniswap, SushiSwap, PancakeSwap) |
| timestamp | Timestamp when Amberdata received the data |
| timestampNanoseconds | The nanosecond part of the timestamp where applicable |
| isBuy | Indicates the direction of the trade: true means buy the base, sell the quote; false means sell the base, buy the quote |
| price | The actual price at which the asset was traded (including slippage, but not fees) |
| volume | The total amount of that asset that was traded |
| tradeId | The exchange provided id of the trade |
| logIndex | The index of the log within the transaction which included this trade event |
| pairAddress | The address of the trading pair contract |
| amountInBase | The amount of the base asset accepted in the trade |
| amountInQuote | The amount of the quote asset accepted in the trade |
| amountOutBase | The amount of the base asset returned in the trade |
| amountOutQuote | The amount of the quote asset returned in the trade |
| fromAddress | The address which initiated the trade (sender) |
| toAddress | The recipient of the trade (receiver) |
#### DEX Liquidity Fields
Liquidity pool events and changes:
| Field | Description |
| --------------- | --------------------------------------------------------------------------------------------- |
| exchangeName | The name of the DEX |
| pairAddress | The address of the trading pair contract |
| baseAddress | The address of the first underlying asset behind the pair |
| quoteAddress | The address of the second underlying asset behind the pair |
| address | The address of the asset for which this liquidity event is for (either base or quote address) |
| timestamp | The timestamp associated with this record |
| transactionHash | The hash of the transaction which included this liquidity event |
| amount | The new amount of the underlying asset after this liquidity event |
| liquidityPrice | The new price of the underlying asset after this liquidity event |
#### Lending Protocol Fields
**Protocol Events (Aave v2 & v3):**
| Field | Description |
| --------------------- | ---------------------------------------------------------------------------------------------------------- |
| account | The EOA (Externally Owned Account) that triggered this event |
| action | The event that the EOA triggered in the smart contract (deposit, withdraw, borrow, repay, liquidate, etc.) |
| amountNative | The amount of the asset in native units, normalized with the asset's decimals |
| amountUSD | The amount of the asset in US dollars |
| assetId | The smart contract address of the asset |
| assetSymbol | The human readable, abbreviated name of the asset (e.g., ETH, USDC, DAI) |
| blockNumber | The integer value identifying the block |
| borrowRate | The interest rate for borrowing the asset |
| borrowRateMode | Indicates whether the borrowRate is stable or variable |
| liquidatee | The EOA being liquidated because they are under-collateralized |
| liquidator | The EOA that is triggering the liquidation |
| collateralAssetId | The smart contract address of the collateral asset |
| collateralAssetSymbol | The human readable name of the collateral asset |
| principalAssetId | The smart contract address of the borrowed asset |
| principalAssetSymbol | The human readable name of the borrowed asset |
| profitUSD | The amount in US dollars that the liquidator earned from triggering a liquidation |
| timestamp | Indicates the datetime or epoch milliseconds of when the event took place |
| transactionHash | The unique identifier of the transaction |
## Use Cases and Applications
* **DEX Trading Analysis**: Study arbitrage opportunities, slippage patterns, and trading efficiency
* **Liquidity Pool Analysis**: Calculate yield farming returns and impermanent loss patterns
* **Lending Protocol Analysis**: Monitor interest rates, liquidations, and protocol health
* **Protocol Comparison**: Compare efficiency and safety across different DeFi protocols
* **Yield Strategies**: Optimize lending, borrowing, and liquidity provision strategies
* **Risk Assessment**: Monitor lending protocol health and liquidation cascade risks
* **Stablecoin Research**: Analyze peg stability and stablecoin usage across protocols
## Supported Networks and Protocols
* **DEX Protocols**: Uniswap, SushiSwap, PancakeSwap, Balancer, Curve
* **Lending Protocols**: Aave v2/v3, Compound v2/v3, MakerDAO
* **Cross-Chain Coverage**: Multi-chain deployments across Ethereum, Arbitrum, Optimism, Polygon, Avalanche
## Getting Started
```python theme={null}
# Load DEX trade data
dex_trades = pd.read_parquet('dex_trades_sample.parquet')
# Analyze trading volume by exchange
volume_by_exchange = dex_trades.groupby('exchange')['volume'].sum()
print("Trading volume by DEX:")
print(volume_by_exchange)
# Load Aave protocol events
aave_events = pd.read_parquet('aave_protocol_events_sample.parquet')
# Analyze lending vs borrowing activity
activity_by_action = aave_events.groupby('action')['amountUSD'].sum()
print("\nLending protocol activity:")
print(activity_by_action)
```
## Data Quality and Processing
### Data Freshness
* **Real-time Processing**: Near real-time data ingestion and processing
* **Historical Completeness**: Complete historical data from network/protocol genesis
* **Cross-Chain Consistency**: Standardized field formats across all networks
* **Quality Assurance**: Automated validation and error checking
### Technical Specifications
* **File Formats**: Apache Parquet and CSV formats optimized for analytics
* **Compression**: Efficient storage with fast query performance
* **Partitioning**: Organized by date and blockchain/protocol for optimal access patterns
* **Schema Evolution**: Backward-compatible updates as networks and protocols evolve
## Access Information
### Amazon S3 Access
* **Requirements**: AWS credentials for Requester Pays bucket access
* **Setup**: Include `x-amz-request-payer: requester` in all requests
* **Contact**: Your Account Executive for credential provisioning
### Support Resources
* **Technical Documentation**: Comprehensive guides for blockchain and DeFi data
* **Sample Analysis**: Python notebooks with common analysis patterns
* **Integration Support**: Assistance with data pipeline setup and optimization
* **Research Community**: Access to blockchain and DeFi research insights
# Derivatives Analytics
Source: https://docs.amberdata.io/cloudsync/cloudsync-derivatives-analytics
Advanced derivatives analytics data including enhanced options trades with market context, implied volatility surfaces, and comprehensive option chain data delivered via Amazon S3 and Snowflake.
## Derivatives Analytics Datasets (S3)
| Dataset Type | Sample Files |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| Decorated Trades | [Download](https://amberdata-samples.s3.amazonaws.com/derivatives/options/decorated_trade/2026-02-15.bybit.decorated_trade.parquet) |
| Delta Surface Constant | [Download](https://amberdata-samples.s3.amazonaws.com/derivatives/options/delta_surface_constant/2026-02-15.binance.delta_surface_constant.parquet) |
| Delta Surface Floating | [Download](https://amberdata-samples.s3.amazonaws.com/derivatives/options/delta_surface_floating/2026-02-15.deribit.delta_surface_floating.parquet) |
| Level 1 Quote | [Download](https://amberdata-samples.s3.amazonaws.com/derivatives/options/level_1_quote/2026-02-15.okex.level_1_quote.parquet) |
## Snowflake Tables
| Feature Type | Snowflake Table Name |
| --------------------------- | ------------------------------------- |
| Level 1 Pre/Post Trade Data | `DERIVATIVES_DECORATED_TRADE` |
| Delta Surface Constant | `DERIVATIVES_DELTA_SURFACE_CONSTANT` |
| Delta Surface Floating | `DERIVATIVES_DELTA_SURFACE_FLOATING` |
| Gamma Exposure (GEX) | `DERIVATIVES_GAMMA_EXPOSURE_SNAPSHOT` |
| Level 1 Option Chain | `DERIVATIVES_LEVEL_1_QUOTE` |
## Data Field Descriptions
### Decorated Trades
Enhanced trade data with comprehensive pre/post trade market context:
| Field | Description |
| --------------------- | --------------------------------------------------------------------------- |
| tradeId | The id of the trade |
| instrumentNormalized | The name of the instrument in Amberdata format |
| blockTradeId | The id of the block trade |
| currency | The currency |
| delta | The greek delta value of the underlying option |
| gamma | The greek gamma value of the underlying option |
| theta | The greek theta value of the underlying option |
| vega | The greek vega value of the underlying option |
| rho | The greek rho value of the underlying option |
| exchangeTimestamp | The date & time as provided by the exchange |
| expirationTimestamp | The expiration timestamp |
| indexPrice | The index price (spot) |
| instrument | The name of the instrument as provided by exchange |
| isBuySide | Indicates whether the trade was on the buy side (true) or sell side (false) |
| liquidation | True if the trade is the result of a liquidation |
| numberOfLegs | The number of legs in the block trade |
| openInterestChange | The change in open interest |
| postTradeAskIv | The post-trade ask implied volatility |
| postTradeAskPrice | The post-trade ask price |
| postTradeAskVolume | The post-trade ask size |
| postTradeBidIv | The post-trade bid implied volatility |
| postTradeBidPrice | The post-trade bid price |
| postTradeBidVolume | The post-trade bid size |
| postTradeMarkIv | The post-trade mark implied volatility |
| postTradeMarkPrice | The post-trade mark price |
| postTradeMidIv | The post-trade mid implied volatility |
| postTradeMidPrice | The post-trade mid price |
| postTradeOpenInterest | The post-trade open interest |
| preTradeAskIv | The pre-trade ask implied volatility |
| preTradeAskPrice | The pre-trade ask price |
| preTradeAskVolume | The pre-trade ask size |
| preTradeBidIv | The pre-trade bid implied volatility |
| preTradeBidPrice | The pre-trade bid price |
| preTradeBidVolume | The pre-trade bid size |
| preTradeMarkIv | The pre-trade mark implied volatility |
| preTradeMarkPrice | The pre-trade mark price |
| preTradeMidIv | The pre-trade mid implied volatility |
| preTradeMidPrice | The pre-trade mid price |
| preTradeOpenInterest | The pre-trade open interest |
| price | The trade price |
| priceHigh24h | The highest trade price in the past 24 hours |
| priceLow24h | The lowest trade price in the past 24 hours |
| priceUsd | The trade price (notional value) |
| putCall | Whether this record is a put or a call |
| strike | The strike price |
| tickDirection | The direction of the tick |
| tradeAmount | The trade size |
| tradeIv | The trade implied volatility |
| underlyingPrice | The underlying price (for Deribit options: futures price, not spot) |
| volume24h | The 24hr rolling volume |
### Delta Surface Constant
Implied volatility surfaces for fixed, standardized maturities:
| Field | Description |
| ------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| hifiTimestamp | The data timestamp |
| daysToExpiration | Remaining days to expiration (DTE) |
| currency | The currency |
| atm | The "at-the-money" implied volatility, weighted between closest OTM put and call based on strike distance vs underlying price |
| delta50 | The IV for 50 delta (at-the-money) |
| deltaCall05 | The IV for 5 delta call options |
| deltaCall10 | The IV for 10 delta call options |
| deltaCall15 | The IV for 15 delta call options |
| deltaCall20 | The IV for 20 delta call options |
| deltaCall25 | The IV for 25 delta call options |
| deltaCall30 | The IV for 30 delta call options |
| deltaCall35 | The IV for 35 delta call options |
| deltaCall40 | The IV for 40 delta call options |
| deltaCall45 | The IV for 45 delta call options |
| deltaPut05 | The IV for 5 delta put options |
| deltaPut10 | The IV for 10 delta put options |
| deltaPut15 | The IV for 15 delta put options |
| deltaPut20 | The IV for 20 delta put options |
| deltaPut25 | The IV for 25 delta put options |
| deltaPut30 | The IV for 30 delta put options |
| deltaPut35 | The IV for 35 delta put options |
| deltaPut40 | The IV for 40 delta put options |
| deltaPut45 | The IV for 45 delta put options |
| expirationTimestamp | The option expiration date |
| indexPrice | The index price (spot) |
| multiplier | The contract multiplier |
| openInterest | The open interest at the time of this record |
| underlyingPrice | Underlying futures price with the corresponding DTE |
### Delta Surface Floating
Implied volatility surfaces for actual option expiration dates:
| Field | Description |
| ------------------- | ----------------------------------------------------------------------------------------------------------- |
| hifiTimestamp | The data timestamp |
| expirationTimestamp | The option expiration date |
| currency | The currency |
| atm | The "at-the-money" implied volatility, weighted between closest OTM put and call |
| daysToExpiration | Remaining days to expiration (DTE) |
| delta50 | The IV for 50 delta (at-the-money) |
| deltaCall05-45 | The IV for call options at 5-45 delta levels (see Delta Surface Constant for individual field descriptions) |
| deltaPut05-45 | The IV for put options at 5-45 delta levels (see Delta Surface Constant for individual field descriptions) |
| indexPrice | The index price (spot) |
| multiplier | The contract multiplier |
| openInterest | The open interest at the time of this record |
| underlyingPrice | Underlying futures price with the corresponding DTE |
### Level 1 Quote
Real-time comprehensive option chain data with Greeks:
| Field | Description |
| ------------------------ | -------------------------------------------------------------------------------------------------- |
| ask | The ask price |
| askIv | The ask implied volatility |
| askVolume | The ask size |
| bid | The bid price |
| bidIv | The bid implied volatility |
| bidVolume | The bid size |
| currency | The currency |
| delta | The greek delta value of the underlying option |
| gamma | The greek gamma value of the underlying option |
| theta | The greek theta value of the underlying option |
| vega | The greek vega value of the underlying option |
| rho | The greek rho value of the underlying option |
| exchangeTimestamp | The date & time as provided by the exchange |
| expirationTimestamp | The expiration timestamp |
| hifiTimestamp | The date & time of the aggregated record |
| indexPrice | The index price (spot) |
| instrument | The name of the instrument as provided by exchange |
| instrumentNormalized | The name of the instrument in Amberdata format |
| isAtm | Flag indicating if this is the at-the-money option for the given expiration cycle |
| isCarryForward | Whether this record was carried forward from the previous data point (when no quote updates occur) |
| isExchangeProvidedGreeks | Whether the Greeks were provided by the exchange or calculated by Amberdata |
| markIv | The mark implied volatility |
| markPrice | The mark price |
| multiplier | The contract multiplier |
| openInterest | The open interest at the time of this record |
# Market Data
Source: https://docs.amberdata.io/cloudsync/cloudsync-market
Traditional cryptocurrency market data across spot, futures, and options markets delivered via Amazon S3 and Snowflake for comprehensive trading and analytics applications.
## S3
#### Spot Market Data (S3)
| Feature Type | Sample Files |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| OHLCV | [Minutely](https://amberdata-samples.s3.amazonaws.com/market/spot/ohlcv/minutely/2026-02-15.gdax.btc_usd.00.parquet) β’ [Hourly](https://amberdata-samples.s3.amazonaws.com/market/spot/ohlcv/hourly/2026-02-15.gdax.btc_usd.00.parquet) β’ [Daily](https://amberdata-samples.s3.amazonaws.com/market/spot/ohlcv/daily/2026-02-15.gdax.btc_usd.00.parquet) |
| Order Book Snapshots | [Download](https://amberdata-samples.s3.amazonaws.com/market/spot/order-book-snapshots/2026-02-15.gdax.btc_usd.00.parquet) |
| Order Book Events | [Download](https://amberdata-samples.s3.amazonaws.com/market/spot/order-book-updates/2026-02-15.gdax.btc_usd.00.parquet) |
| Tickers | [Download](https://amberdata-samples.s3.amazonaws.com/market/spot/tickers/2026-02-15.kraken.btc_usd.00.parquet) |
| Trades | [Download](https://amberdata-samples.s3.amazonaws.com/market/spot/trades/2026-02-15.gdax.btc_usd.00.parquet) |
#### Futures Market Data (S3)
| Feature Type | Sample Files |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Funding Rates | [Download](https://amberdata-samples.s3.amazonaws.com/market/futures/funding-rates/2026-02-15.binance.BTCUSDT.00.parquet) |
| Insurance Funds | [Download](https://amberdata-samples.s3.amazonaws.com/market/futures/insurance-funds/2026-02-15.okex.BTC-USD.00.parquet) |
| Liquidations | [Download](https://amberdata-samples.s3.amazonaws.com/market/futures/liquidations/2026-02-15.binance.BTCUSDT.00.parquet) |
| Long/Short Ratio | [Minutely](https://amberdata-samples.s3.amazonaws.com/market/futures/long-short-ratio/minutely/2026-02-15.binance.BTCUSDT.00.parquet) β’ [Hourly](https://amberdata-samples.s3.amazonaws.com/market/futures/long-short-ratio/hourly/2026-02-15.binance.BTCUSDT.00.parquet) β’ [Daily](https://amberdata-samples.s3.amazonaws.com/market/futures/long-short-ratio/daily/2026-02-15.binance.BTCUSDT.00.parquet) |
| OHLCV | [Minutely](https://amberdata-samples.s3.amazonaws.com/market/futures/ohlcv/minutely/2026-02-15.binance.BTCUSD_PERP.00.parquet) β’ [Hourly](https://amberdata-samples.s3.amazonaws.com/market/futures/ohlcv/hourly/2026-02-15.binance.BTCUSD_PERP.00.parquet) β’ [Daily](https://amberdata-samples.s3.amazonaws.com/market/futures/ohlcv/daily/2026-02-15.binance.BTCUSD_PERP.00.parquet) |
| Open Interest | [Download](https://amberdata-samples.s3.amazonaws.com/market/futures/open-interest/2026-02-15.deribit.BTC-PERPETUAL.00.parquet) |
| Order Book Snapshots | [Download](https://amberdata-samples.s3.amazonaws.com/market/futures/order-book-snapshots/2026-02-15.deribit.BTC-20FEB26.00.parquet) |
| Order Book Events | [Download](https://amberdata-samples.s3.amazonaws.com/market/futures/order-book-updates/2026-02-15.binance.BTCUSDT.00.parquet) |
| Tickers | [Download](https://amberdata-samples.s3.amazonaws.com/market/futures/tickers/2026-02-15.deribit.BTC-PERPETUAL.00.parquet) |
| Trades | [Download](https://amberdata-samples.s3.amazonaws.com/market/futures/trades/2026-02-15.deribit.BTC-PERPETUAL.00.parquet) |
#### Options Market Data (S3)
| Feature Type | Sample Files |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Liquidations | [Download](https://amberdata-samples.s3.amazonaws.com/market/options/liquidations/2026-02-15.deribit.ETH-16FEB26-2075-P.00.parquet) |
| OHLCV | [Minutely](https://amberdata-samples.s3.amazonaws.com/market/options/ohlcv/minutely/2026-02-15.deribit.BTC-15FEB26-69000-C.00.parquet) β’ [Hourly](https://amberdata-samples.s3.amazonaws.com/market/options/ohlcv/hourly/2026-02-15.deribit.BTC-15FEB26-69000-C.00.parquet) β’ [Daily](https://amberdata-samples.s3.amazonaws.com/market/options/ohlcv/daily/2026-02-15.deribit.BTC-17FEB26-69000-C.00.parquet) |
| Open Interest | [Download](https://amberdata-samples.s3.amazonaws.com/market/options/open-interest/2026-02-15.deribit.BTC-17FEB26-65000-C.00.parquet) |
| Order Book Snapshots | [Download](https://amberdata-samples.s3.amazonaws.com/market/options/order-book-snapshots/2026-02-15.deribit.BTC-18FEB26-72000-C.00.parquet) |
| Order Book Updates | [Download](https://amberdata-samples.s3.amazonaws.com/market/options/order-book-updates/2026-02-15.deribit.BTC-18FEB26-72000-C.00.parquet) |
| Tickers | [Download](https://amberdata-samples.s3.amazonaws.com/market/options/tickers/2026-02-15.deribit.BTC-18FEB26-71000-P.00.parquet) |
| Trades | [Download](https://amberdata-samples.s3.amazonaws.com/market/options/trades/2026-02-15.deribit.BTC-25SEP26-70000-P.00.parquet) |
## Snowflake Tables
All Snowflake tables are versioned. Below are the latest available versions.
#### Spot (Snowflake)
Available in the `MARKET_SPOT` schema.
| Feature Type | Snowflake Table Name |
| -------------------- | ------------------------ |
| OHLCV (daily) | `OHLCV_DAILY_V1` |
| OHLCV (hourly) | `OHLCV_HOURLY_V1` |
| OHLCV (minutely) | `OHLCV_MINUTELY_V1` |
| Order Book Events | `ORDER_BOOK_EVENT_V1` |
| Order Book Snapshots | `ORDER_BOOK_SNAPSHOT_V1` |
| Tickers | `TICKER_V1` |
| Trades | `TRADE_V1` |
#### Futures (Snowflake)
Available in the `MARKET_FUTURES` schema.
| Feature Type | Snowflake Table Name |
| --------------------------- | ---------------------------- |
| Funding Rates | `FUNDING_RATE_V1` |
| Insurance Funds | `INSURANCE_FUND_V1` |
| Liquidations | `LIQUIDATION_V1` |
| Long/Short Ratio (daily) | `LONG_SHORT_RATIO_DAILY_V1` |
| Long/Short Ratio (hourly) | `LONG_SHORT_RATIO_HOURLY_V1` |
| Long/Short Ratio (minutely) | `LONG_SHORT_RATIO_HOURLY_V1` |
| OHLCV (daily) | `OHLCV_DAILY_V1` |
| OHLCV (hourly) | `OHLCV_HOURLY_V1` |
| OHLCV (minutely) | `OHLCV_MINUTELY_V1` |
| Open Interest | `OPEN_INTEREST_V1` |
| Order Book Events | `ORDER_BOOK_EVENT_V1` |
| Order Book Snapshots | `ORDER_BOOK_SNAPSHOT_V1` |
| Tickers | `TICKER_V1` |
| Trades | `TRADE_V1` |
#### Options (Snowflake)
Available in the `MARKET_OPTIONS` schema.
| Feature Type | Snowflake Table Name |
| -------------------- | ------------------------ |
| Liquidations | `LIQUIDATION_V1` |
| OHLCV (daily) | `OHLCV_DAILY_V1` |
| OHLCV (hourly) | `OHLCV_HOURLY_V1` |
| OHLCV (minutely) | `OHLCV_MINUTELY_V1` |
| Open Interest | `OPEN_INTEREST_V1` |
| Order Book Events | `ORDER_BOOK_EVENT_V1` |
| Order Book Snapshots | `ORDER_BOOK_SNAPSHOT_V1` |
| Tickers | `TICKER_V1` |
| Trades | `TRADE_V1` |
## Data Field Descriptions
### Spot Market Fields
#### Order Book Snapshots
| Field | Description |
| ----------------- | --------------------------------------------------------------------------- |
| exchange | The name of the exchange |
| pair | The name of the asset pair |
| exchangeTimestamp | The last bid/ask updated timestamp if provided by the exchange |
| isBid | Indicates if the order is a bid or ask: true for a bid and false for an ask |
| timestamp | The time at which the order book snapshot took place |
| receivedTimestamp | Timestamp when Amberdata received the order book snapshot |
| sequence | The sequence number provided by the exchange (null if not provided) |
| data | The order book data corresponding to the columns fields |
| maxPrice | The maximum price for the asset pair |
| minPrice | The minimum price for the asset pair |
#### Spot Trades
| Field | Description |
| ----------------- | ---------------------------------------------------------------------------- |
| exchange | The name of the exchange |
| pair | The name of the asset pair |
| exchangeTimestamp | The time at which the trade took place |
| tradeId | The exchange provided id of the trade |
| receivedTimestamp | The time Amberdata received the trade data |
| isBuySide | Indicates if the trade is a buy or sell: true for a buy and false for a sell |
| price | The price at which the asset was traded |
| size | The total amount of that asset that was traded |
#### Spot OHLCV
| Field | Description |
| ----------------- | --------------------------------------------------------------------------------------------------- |
| exchange | The name of the exchange |
| pair | The name of the asset pair |
| exchangeTimestamp | The time at which the candle period starts |
| open | The opening price of the trading pair for the specified time period |
| high | The highest price of the trading pair during the specified time period |
| low | The lowest price of the trading pair during the specified time period |
| close | The closing price of the trading pair for the specified time period |
| volume | The total volume of the trading pair traded during the specified time period, in the base currency |
| quotedVolume | The total volume of the trading pair traded during the specified time period, in the quote currency |
| count | The total number of trades executed for the trading pair within the specified time period |
### Futures Market Fields
#### Funding Rates
| Field | Description |
| ----------------- | ------------------------------------------------- |
| exchange | The name of the exchange |
| instrument | The name of the instrument |
| exchangeTimestamp | The time at which the event occurred |
| fundingInterval | The funding interval for which data is available |
| fundingRate | The funding rate for which data is available |
| nextFundingRate | The next funding rate for which data is available |
| nextFundingTime | The next funding time for which data is available |
#### Liquidations
| Field | Description |
| ----------------- | ---------------------------------------------------------- |
| exchange | The name of the exchange |
| instrument | The name of the instrument |
| exchangeTimestamp | The time at which the event occurred |
| timestamp | The time at which the liquidation occurred |
| orderId | The order identifier |
| price | The price of the instrument at the time of the liquidation |
| side | The direction of the trade |
| volume | The volume liquidated |
#### Open Interest
| Field | Description |
| ----------------- | ----------------------------------------- |
| exchange | The name of the exchange |
| instrument | The name of the instrument |
| exchangeTimestamp | The time at which the event occurred |
| type | The type of instrument |
| value | The total outstanding number of contracts |
### Options Market Fields
#### Options Trades
| Field | Description |
| ----------------- | ----------------------------------------------- |
| exchange | The name of the exchange |
| instrument | The name of the instrument |
| exchangeTimestamp | The time at which the event occurred |
| tradeId | The exchange provided id of the trade |
| isBuySide | `true` if the trade is a buy, `false` otherwise |
| price | The price at which the asset was traded |
| size | The total amount of that asset that was traded |
## Use Cases and Applications
### Spot Market Applications
* **Trading Strategy Development**: Backtest strategies using historical spot market data
* **Market Making**: Analyze order book dynamics for algorithmic trading
* **Price Discovery Research**: Study how prices form across different exchanges
* **Arbitrage Detection**: Identify price differences across exchanges and timeframes
* **Liquidity Analysis**: Understand market depth and trading patterns
### Futures Market Applications
* **Funding Rate Analysis**: Study perpetual swap funding patterns and arbitrage opportunities
* **Liquidation Monitoring**: Track large liquidation events and market impact
* **Open Interest Tracking**: Monitor position changes and market sentiment
* **Risk Management**: Calculate exposure and portfolio risk across futures positions
* **Contango/Backwardation Studies**: Analyze futures curve structures
### Options Market Applications
* **Volatility Analysis**: Study implied volatility patterns and surfaces
* **Options Flow Analysis**: Track institutional and retail options activity
* **Risk Management**: Monitor Greeks exposure and hedge portfolios
* **Strategy Backtesting**: Test options strategies with historical data
* **Market Structure Research**: Understand options market efficiency and pricing
### Integration Benefits
* **Multi-Asset Analysis**: Correlate spot, futures, and options data
* **Cross-Exchange Research**: Compare data across multiple exchanges
* **Historical Depth**: Years of tick-level data for robust analysis
* **Real-time Applications**: Fresh data for live trading and monitoring
* **Academic Research**: Clean datasets for empirical finance studies
# CloudSync Overview
Source: https://docs.amberdata.io/cloudsync/cloudsync-overview
Amberdata provides multiple options for accessing large historical datasets to power advanced analytics, research, and trading strategy development.
Our **CloudSync** solutions are designed to overcome the throughput limitations of REST APIs, enabling efficient large-scale data analysis.
## Benefits
### Object Storage Advantages
* **Large Historical Data** β Access large datasets in analytics-ready formats.
* **Research Flexibility** β Run proprietary analyses and test strategies without API rate constraints.
* **Cost Efficiency** β Avoid repeated API calls when retrieving extensive historical data.
* **Pipeline Integration** β Easily connect to existing ETL, ELT, and analytics workflows.
### Cloud Data Warehouse Advantages
* **High-Performance Queries** β Optimized for complex, large-scale analytical workloads.
* **Seamless Data Integration** β Integrate with diverse data sources and workflows.
* **Cloud-Native Scalability** β Scale storage and compute as your data needs grow.
* **Enterprise-Grade Security** β Advanced compliance and security features.
* **User-Friendly SQL Access** β Intuitive querying for analysts and engineers.
* **Built-In Transformation** β Native tools for processing, cleansing, and enriching data.
## Delivery Methods
### Amazon S3 β Parquet
Retrieve large historical datasets from Amazon S3 in Apache Parquet format, optimized for performance and compatibility with analytics tools.
Apache Parquet format offers several key advantages:
* **Columnar Storage** β Stores data by column instead of row, enabling highly efficient compression and encoding.
* **High Performance** β Delivers faster processing for large datasets and complex analytical queries.
* **Efficient Compression** β Achieves better compression ratios than row-based formats like JSON.
* **Analytics-Optimized** β Designed for fast querying and analytical workloads.
* **Seamless Integration** β Fits easily into existing data pipelines and big data ecosystems.
* **Broad Compatibility** β Supported across major data warehousing, analytics, and machine learning platforms.
### Snowflake Data Warehouse
Most datasets are available in Snowflake, providing scalable, cloud-native data warehousing with efficient storage, fast retrieval, and powerful SQL-based analysis.
## Getting Started
### Working with Parquet Files
If you only want to see the available fields, download a sample parquet file and load it as a pandas dataframe:
```python theme={null}
# Import the pandas library
import pandas as pd
# Replace 'your_parquet_file.parquet' with the path to your Parquet file
parquet_file = 'your_parquet_file.parquet'
# Load the Parquet file as a pandas DataFrame
df = pd.read_parquet(parquet_file)
# Display the data types of the DataFrame
print(df.dtypes)
```
To read the actual parquet data:
```python theme={null}
# Import the pandas library
import pandas as pd
# Replace 'your_parquet_file.parquet' with the path to your Parquet file
parquet_file = 'your_parquet_file.parquet'
# Read and display the data
df = pd.read_parquet(parquet_file, engine='pyarrow')
print(df.head())
```
## Access and Provisioning
### Amazon S3 Access
Customers need their own AWS credentials for S3 access provisioning. Contact your Account Executive if you're interested in downloading data via S3.
#### Important Access Requirements
> **Note:** Our S3 data buckets are configured as Requester Pays buckets, meaning your company will be responsible for any Amazon data transfer fees incurred during downloads. To access the data, you must include the following in your request headers:
>
> * **Header**: `x-amz-request-payer: requester`
> * **Parameter**: `--request-payer requester` (for CLI requests)
Ensure this setting is included in all requests to avoid access issues.
### Snowflake Access
Customers need their own Snowflake account for data sharing access. Visit [Snowflake's Marketplace](https://app.snowflake.com/marketplace/providers/GZTSZ75EDX/Amberdata) to access sample files, or [contact us](https://www.amberdata.io/contact-us) for full access.
## Next Steps
Choose the delivery method that best fits your infrastructure and analytical needs:
1. **Amazon S3**: Ideal for downloading and storing large historical datasets for offline analysis
2. **Snowflake**: Perfect for real-time querying and advanced analytics with SQL
Contact your Account Executive or [reach out to us](https://www.amberdata.io/contact-us) to discuss which option best suits your requirements.
# Ethereum Active Validators
Source: https://docs.amberdata.io/data-dictionary/analytics/active-validators
Note: This dataset is updated daily and is available via Databricks, and Snowflake.
***
# Description
This metric indicates the number of active validators on the Ethereum network at a specific point in time. Understanding the number of validators is important for several reasons:
* Network Health and Security: The Ethereum network relies on validators to secure and validate transactions through the Proof of Stake (PoS) consensus mechanism. Knowing the number of active validators helps assess the overall health and security of the network. A higher number of validators typically indicates a more decentralized and secure network, as it becomes more difficult for a single entity or a small group of validators to control the network.
* Decentralization: Decentralization is a fundamental principle of blockchain networks like Ethereum. A higher number of validators implies a more distributed and decentralized network, which is less susceptible to censorship, attacks, or manipulation by a single entity. It helps ensure that the decision-making power is distributed among a larger and diverse set of participants.
* Trust and Transparency: Transparency in the operation of a blockchain network is essential for users and developers. Knowing the number of validators and their behavior provides transparency into the network's operation, allowing participants to have more confidence in the system's integrity and security.
* Validator Economics: For individuals or entities considering becoming validators on the Ethereum network, knowing the number of existing validators is important for assessing the economic incentives and potential rewards for participating in network validation. It helps potential validators make informed decisions about their participation.
***
# Use Cases
\*\*Traders: \*\*Traders can monitor validators as they impact the yield on staking ETH. It is the base from which all liquid staking tokens derive their yield.
\*\*Analysts: \*\*Analysts want to know the number of validators on the Ethereum network to gauge its decentralization and security for their research and investment analysis.
\*\*Researchers:\*\* Researchers find this metric valuable for studying network dynamics, governance, and the implications of validator distribution on blockchain performance and ecosystem stability.
***
# Methodology
Active Validators = sum(validators created) - sum(validators offline)
***
# Frequently Asked Questions
**How often is this chart updated?**
* Daily.
**Does this include any L2 data or just Ethereum?**
* This chart is strictly Ethereum.
***
# Overview
Source: https://docs.amberdata.io/data-dictionary/analytics/bitcoin-price-and-moving-averages
***
# Description
Price is often the primary reference point for analyzing asset performance. By applying technical indicators such as daily and weekly moving averages, it is possible to identify key market dynamics, including support and resistance levels, trend direction, and potential reversal patterns.
Amberdata provides price data and moving average indicators for major assets, including Bitcoin (BTC) and Ethereum (ETH). This includes commonly used indicators such as the **50-day moving average (50DMA)** and the **200-day moving average (200DMA)**.
These indicators are frequently used to identify market signals:
* A **death cross** occurs when the 50DMA falls below the 200DMA, typically interpreted as a bearish signal that may precede a rebound.
* In **uptrending markets**, moving averages often serve as support levels.
* In **downtrending markets**, moving averages may act as resistance, indicating potential ceilings in price action.
***
# Use Case
These moving averages are often short- and mid-term price indicators, commonly used in traditional financial applications.
***
# Methodology
Price and moving averages are calculated by taking the average price over the last *n* days.
***
***
# Bitcoin Yardstick
Source: https://docs.amberdata.io/data-dictionary/analytics/bitcoin-yardstick
***
# Description
The Bitcoin Yardstick is a metric for Bitcoin that attempts to measure the P/E ratio, which typically assesses the value of a company's profits to its earnings to understand how valuable a company's stock is. For Bitcoin, that is the perceived value of the network over the value of energy used to maintain it.
There are three notable conditions:
**Cheap**: Yardstick \< -1Ο under the mean
**Risky**: Yardstick > +2Ο above the Mean
**Expensive**: Yardstick > 3Ο above the mean
***
# Use Case
The **Bitcoin Yardstick** is a long-term valuation metric that helps identify periods of potential price disparity relative to historical norms. It is designed to support investment strategies focused on cyclical market behavior and to contextualize price movements in relation to major historical events.
The metric enables users to observe patterns such as:
* **Overvaluation** during bull markets, when Bitcoin tends to appear "expensive."
* **Undervaluation** during bear markets, when Bitcoin historically trades at relative discounts.
* Extreme undervaluation conditions, such as those observed during major market disruptions (e.g., Bitcoin reaching its lowest relative value during the FTX bankruptcy in 2022).
The Bitcoin Yardstick can be used to inform macro-level positioning by correlating historical price trends with market cycles and significant events.
***
# Methdology
Bitcoin Yardstick = Market cap / Hashrate, normalized by a 2-year rolling Z-score
***
***
# Balance Buckets: Number of Addresses
Source: https://docs.amberdata.io/data-dictionary/analytics/btc-balance-bucket-number-of-addresses
***
# Description
The Number of Addresses balance bucket provides an aggregation of the number of addresses and the total number of tokens held by addresses with various balances, ranging from small fractions to over 10,000 BTC or ETH.
Coverage includes ETH and BTC.
***
# Use Case
\*\*Traders: \*\*Traders utilize the breakdown of addresses by balance to gauge network trends. Changes in the number of addresses within each bucket shift from liquid to illiquid balances, and variations in profitable addresses can guide buying and selling strategies.
\*\*Analysts: \*\*Analysts leverage these metrics for enhancing portfolio analysis, focusing on profitability and wallet distribution to make informed recommendations.
\*\*Researchers: \*\*Researchers employ this data to identify market trends and patterns in network behavior, aiding in comprehensive market studies.
***
# Methodology
The Number of Addresses Balance Bucket categorizes address balances into different groups, indicating the number of addresses and the total balance within each group:
1. If the amount is exactly 0, it's classified as '0 ETH/BTC'.
2. For amounts less than 0.000001, we round it to '0.000001 ETH/BTC'.
3. Amounts falling below 0.00001 but above the previous category are noted as '0.00001 ETH/BTC'.
4. This pattern continues upwards, with each category capturing progressively larger amounts: '0.0001', '0.001', '0.01', '0.1', '1', '10', '100', '1000', and '10000'.
5. Any amount 10,000 or above is classified into the '10000+' category.
***
***
# Balance Buckets: Supply Held
Source: https://docs.amberdata.io/data-dictionary/analytics/btc-balance-buckets-supply-held
***
# Description
The Supply Held metric compiles an aggregation of the total amount of an asset contained within various categorized buckets' specific ranges.
Coverage includes ETH and BTC.
***
# Use Cases
**Traders** can use distribution data to make better buy or sell decisions by tracking shifts in holdings.
**Analysts** can improve portfolio strategies with insights from balance trends.
**Researchers** can identify market trends by analyzing how an asset is distributed across wallets.
***
# Methodology
The Supply Held metric categories ETH/BTC amounts into specific buckets:
1. If the amount is exactly 0, it's classified as '0 ETH/BTC'.
2. For amounts less than 0.000001, we round it to '0.000001 ETH/BTC'.
3. Amounts falling below 0.00001 but above the previous category are noted as '0.00001 ETH/BTC'.
4. This pattern continues upwards, with each category capturing progressively larger amounts: '0.0001', '0.001', '0.01', '0.1', '1', '10', '100', '1000', and '10000'.
5. Any amount 10,000 or above is classified into the '10000+' category.
***
***
# ETF Holdings/Flow (BTC & ETH)
Source: https://docs.amberdata.io/data-dictionary/analytics/btc-etf-flows
Note: These datasets are available via REST API, Databricks, and Snowflake.
***
# Description
**BTC and ETH ETF Flows** track the net movement of assets into and out of wallets associated with exchange-traded funds (ETFs). These wallets represent ETF issuer holdings and are monitored to reflect investor sentiment and fund positioning.
ETF wallets are **not always publicly disclosed** by issuers. As a result, wallet attribution is based on tracking and tagging performed by trusted on-chain analysts and researchers. While not 100% definitive, these wallet sets are curated with a high level of confidence.
* A **net increase** in ETF wallet holdings generally reflects **bullish market sentiment**, indicating a rise in investor demand.
* A **net decrease** suggests **bearish sentiment** or profit-taking activity.
Tracking ETF flows also reveals competitive dynamics across issuers by highlighting relative changes in market share among different ETF products.
***
# Use Case
\*\*Traders: \*\*ETF flow data offers insights into short-term market sentiment and potential price movement. By analyzing net inflows or outflows, traders can better time market entries or exits and respond to changes in institutional investment behavior.
\*\*Researchers: \*\*ETF flows serve as a proxy for institutional interest in BTC and ETH. Researchers use this data to study macro-level adoption trends, the integration of crypto into traditional finance, and investor responses to major regulatory or economic events.
\*\*Analysts: \*\*Market analysts leverage ETF flow data to assess conviction in Bitcoin and Ethereum as investable assets. These insights inform investment strategy, asset allocation, and risk assessment. ETF flows also help analysts construct narratives around capital rotation, institutional behavior, and market health.
***
# Methodology
* **Wallet Attribution**\
A curated set of ETF-associated wallets is compiled using public tagging efforts by on-chain analysts. Sources include wallet lists from contributors such as *Hildobby* on [Dune](https://dune.com/queries/3378085) and entity attribution platforms like [Arkham](https://platform.arkhamintelligence.com/signup). (Note: wallet addresses are sourced from Dune, but Duneβs aggregated metrics are not used.)
* **Balance Tracking**\
Amberdataβs blockchain infrastructure is used to calculate the historical balances of the identified wallets. These balances are tracked over time to compute **inflows**, **outflows**, and **net position changes** in BTC and ETH across ETF issuers.
* **Asset Flow Calculation**\
Changes in wallet balances are analyzed on a regular interval (e.g., daily) to produce time series data on net flows, enabling both short-term monitoring and long-term trend analysis.
***
# Overview
Source: https://docs.amberdata.io/data-dictionary/analytics/btc-hodl-wave
***
# Description
The BTC HODL Wave leverages on-chain data to categorize Bitcoin holdings by their age, ranging from less than one day to over five years. This visualization provides insights into investor behavior by illustrating shifts in holding durationsβlonger holding periods often reflect bullish sentiment, while shorter holding periods may indicate bearish tendencies.
Historically, patterns within the HODL Wave have correlated with key market cycles and major price movements. For example, an increase in the proportion of long-held Bitcoin frequently precedes market peaks. This metric serves as a valuable tool for investors and analysts seeking to understand market dynamics and inform strategic decision-making.
The BTC HODL Wave is updated on a **monthly** basis to reflect the latest holding period distributions.
***
# Use Case
**Traders** often leverage the Hodl Wave to pinpoint short-term trading opportunities by monitoring shifts in holding patterns.
**Analysts** utilize the Hodl Wave to gauge broader market sentiment and its potential impact on Bitcoin's price stability and future movements.
**Researchers** interested in cryptocurrency market economics and behavior utilize the Hodl Wave to study accumulation, distribution, and retention patterns among Bitcoin holders.
***
# Methodology
The Bitcoin HODL Wave methodology involves a detailed analysis of transaction outputs and inputs across the blockchain:
1. **Transaction and UTXO Analysis**\
All Bitcoin transactions and their corresponding Unspent Transaction Outputs (UTXOs) are examined.
2. **Input-Output Matching**\
Transactions are cross-referenced by matching outputs with inputs to identify spent outputs, i.e., those outputs that have subsequently been used as inputs in later transactions.
3. **Age Calculation**\
For each spent output, the elapsed time between when the output was created and when it was spent is calculated.
4. **Age Bucket Categorization**\
These time intervals are grouped into predefined age buckets representing different holding periods, enabling the visualization of how long coins have been held before being moved.
***
***
# Daily Address Activity
Source: https://docs.amberdata.io/data-dictionary/analytics/daily-address-activity
***
# Description
The Daily Address Activity metric measures network engagement by categorizing unique blockchain addresses as either active or passive. Active addresses are those generating outputs, while passive addresses are those involved as inputs. This distinction provides important insights into the health and transactional dynamics of the network by capturing the daily participation of addresses.
This metric currently covers Ethereum (ETH) and Bitcoin (BTC) networks.
***
# Use Case
**Traders** can interpret changes in active address counts as potential market signalsβan increase in active addresses may indicate buying pressure, while a decrease can suggest selling activity.
\*\*Analysts \*\*leverage these metrics to construct risk models and assess network robustness.
**Researchers** utilize this data to analyze correlations between address activity (new and existing) and other phenomena such as ordinal transactions or ETF interest.
***
# Methodology
**Passive Addresses / Inputs:**
* **Daily Inputs:** Records of addresses acting as transaction inputs, tracked by date.
* **Passive Addresses:** Count of unique addresses with inputs per day.
* **New Inputs:** Count of distinct addresses appearing as inputs for the first time on a given day.
**Active Addresses / Outputs:**
* **Daily Outputs:** Records of addresses acting as transaction outputs, tracked by date.
* **Active Addresses:** Count of unique addresses with outputs per day.
* **New Outputs:** Count of distinct addresses appearing as outputs for the first time on a given day.
**All Addresses:**
* The total set of addresses participating in transactions as either inputs or outputs on a given day.
***
***
# Daily New Addresses
Source: https://docs.amberdata.io/data-dictionary/analytics/daily-new-addresses
***
# Description
The Daily New Addresses metric quantifies the number of blockchain addresses created within a specified timeframe, identified by their first recorded input or output transaction. This metric provides insight into the rate of new address creation, serving as an indicator of potential user adoption or shifts in network activity.
Coverage includes Ethereum (ETH) and Bitcoin (BTC) networks.
***
# Use Case
**Traders** monitor changes in new address creation as potential market signals; increases may suggest heightened buying interest, while decreases might indicate reduced market participation.
**Analysts** incorporate these metrics into risk assessments and models evaluating network health.
**Researchers** examine correlations between new addresses and other metricsβsuch as ordinal transactions or ETF interestβto understand broader market dynamics and behavioral patterns.
***
# Methodology
**New Addresses (Inputs and Outputs):**
* Data is derived from a combined list of daily input and output addresses, each associated with its transaction date.
* **All Addresses:** The count of distinct addresses appearing as inputs or outputs per day.
* **New Addresses:** The earliest day on which an address appears as either an input or output transaction.
* **30-Day Moving Average (DMA):** A 30-day moving average calculated over the daily count of new addresses.
* **365-Day Moving Average (DMA):** A 365-day moving average calculated over the daily count of new addresses.
***
***
# Altcoin ATM hourly
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/altcoin-atm-hourly
# Definition
This endpoint returns the "At-The-Money" volatility profile for a specified altcoin pair. The payload will include various daysToExpiraton so users can see the term-structure.
***
# Details
The endpoint has hourly granularity. Amberdata uses a proprietary model to determined the "modelATM", the model uses various realized volatility weightings and dynamically adjusts the weightings to incorporate term-structure "Contango" and "Backwardation" dynamics.
This "modelATM" is meant to represent theoretical implied volatility.
***
# API Endpoints
[/Altcoin ATM hourly](/http/analytics/derivatives/altcoin-atm-hourly)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------- | ----------------------- | ----------- |
| All Exchanges | 2023-06-01 | Hourly |
***
***
# Futures Basis
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/apr-basis
# Definition
The Basis Analysis involves calculating the difference between spot prices and underlying futures prices using quote data. This difference is converted into percentage terms and annualized to provide insights into the basis over time. Amberdata has two distinct endpoints for this data: Constant Maturity and Live Term Structure.
***
# Details
Using the **APR Basis Constant Maturities** endpoint, users can calculate the basis by analyzing the difference between spot prices and futures prices, converting this into percentage terms, and annualizing it. This endpoint focuses on constant maturity basis calculations by interpolating between expirations around a target "days-to-expiration" (DTE). For example, if the target DTE is 90 days, the basis is determined by identifying nearby expiration points, such as 70-day and 123-day, and linearly interpolating to estimate the 90-day basis. This approach helps users understand the cost of carry over fixed time horizons.
The **APR Basis Live Term Structures** endpoint provides real-time analysis of the basis by continuously updating the difference between spot and futures prices. This live data allows users to assess the current market conditions and basis fluctuations as they happen, offering a dynamic view of the pricing structure. This real-time perspective is crucial for traders looking to make timely decisions based on the latest market information.
***
# API Endpoints
[/Apr-Basis Constant Maturity](/http/analytics/derivatives/apr-basis-constant-maturity)
[/Apr-Basis Live Term Structure](/http/analytics/derivatives/apr-basis-live-term-structure)
***
# Availability
| Exchanges | Start Date (YYYY-MM) | Granularity |
| ---------------------------------------------------------- | -------------------- | --------------------------------------- |
| Binance, Bitmex, Bybit, Deribit, OKEx (OKX), Kraken, Huobi | 2022-08 | Constant Term: 15 min, Live Term: 5 min |
***
# Frequently Asked Questions
**How do these endpoints help traders understand futures pricing?**
* These endpoints provide valuable insights into futures pricing. The APR-Basis Constant Maturity endpoint shows how the basis changes for a fixed time period, making it easier to compare different contracts. The APR-Basis Live Term Structure endpoint offers real-time updates on the basis, helping traders see current market conditions. Together, they help traders analyze and compare futures prices effectively.
***
# Bid Ask Spread
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/bid-ask
# Description
Bid-Ask Spread measures the difference between the best bid and best ask prices for a particular instrument. It returns both:
* The absolute spread (in quote currency)
* The spread as a percentage of the mid-price
This dual representation allows for cross-instrument and cross-exchange comparison of liquidity conditions.
***
# Details
This metric provides a view of market tightness and liquidity fragmentation. By analyzing how wide or narrow the spread is, traders can quickly identify:
* The most liquid exchange for a given asset
* Which instruments offer the best execution conditions
The percentage spread is especially useful when comparing instruments with different quote currencies (e.g., BTC-USDT vs. BTC-USD vs. BTC-EUR), as it normalizes price scale effects.
***
# API Endpoint
[/derivatives-analytics-bid-ask-spread](/http/analytics/derivatives/bid-ask-spread)
***
# Availability
We cover all instruments on major exchanges like Binance, Deribit, OKX (Okex) and more.
Please use the information endpoint to find all coverage and exact instruments.
| Exchange | History | Depth Order Count |
| :---------- | :-------------------------- | :---------------- |
| Arkham | 2025-08-10 (end 2026-02-16) | Full |
| Binance | 2024-01-01 | 1000 |
| Bitmex | 2024-01-01 | Full |
| Bybit | 2024-01-01 | 500 |
| Deribit | 2024-01-01 | Full |
| Hyperliquid | 2025-03-19 | 20 |
| Kraken | 2024-01-01 | Full |
| Okex (OKX) | 2024-01-01 | 2000 |
***
# Frequently Asked Questions
**How is the absolute spread calculated?**
* `spread = bestAskPrice β bestBidPrice`
* This is returned in the quote currency of the instrument.
**What does spreadPercent represent?**
* Itβs the absolute spread divided by the mid-price:
* `spreadPercent = (spread / midPrice) Γ 100`
* This normalizes spread data across different pairs.
# Block Volumes
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/block-volumes
# Definition
tforms but settled on Deribit. The Block Volumes endpoint specifically uses
**Block Volumes** refer to the aggregated total volume of options trades on Deribit that were negotiated on third-party pla times and sales data tagged with third-party "Block Trade IDs", indicating that these trades were facilitated by platforms such as Paradigm and Greeks Live before being executed on Deribit. This endpoint provides a consolidated view of the volume traded through these block trades for each option instrument.
***
# Details
Data fields include:
* **Exchange**: The exchange where the trade is settled
* **Currency**: The underlying asset of the option
* **Expiration Timestamp**: The expiration date and time of the option
* **Strike**: The strike price of the option contract
* **Put**/**Call**: The type of option, either a Put (P) or a Call (C)
* **Contract Volume**: The number of contracts traded in the block trade
***
# API Endpoints
[/Block Volumes](/http/analytics/derivatives/block-volumes)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| -------- | ----------------------- | ----------- |
| Deribit | 2019-04-01 | Tick-Level |
***
# Frequently Asked Questions
**What are Block Volumes, and how do they differ from regularly traded volumes on Deribit?**
* Block Volumes represent trades negotiated on third-party platforms but settled on Deribit, often involving larger trade sizes. In contrast, regularly traded volumes on Deribit reflect trades executed directly through the exchange's order book.
***
# Correlation, Beta and Realized Volatility
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/correlation-beta
# Definition
Correlation is a statistical measure that describes the strength and direction of a relationship between two variables. It is expressed on a scale from -1 to +1, where: +1 indicates a perfect positive correlation (both variables move in the same direction), -1 indicates a perfect negative correlation (one variable moves in the opposite direction to the other), 0 indicates no linear relationship between the variables.
Crypto beta (Ξ²) is a measure that evaluates the relative volatility of a specific cryptocurrency asset compared to a broader market benchmark, such as a cryptocurrency index or another reference asset. Our data provides insights into how a particular crypto asset's price movements correlate with those of the benchmark.
Realized volatility is a measure of the actual price fluctuations of a cryptocurrency asset over a specified period, based on historical data. It quantifies how much the price of the asset has changed over a set number of past trading days. This measure is calculated using high and low prices, often employing methods like the Parkinson method, which is known for its effectiveness in capturing volatility by considering the range of price movements. In the context of the Amberdata API, realized volatility provides valuable insights into the historical volatility of crypto assets, helping investors and analysts understand past market behavior and assess potential risk and stability.
***
# Details
For correlation, Amberdata shows the 30, 90, and 180-day rolling correlation between the first pair and second pair.
For beta, Amberdata shows the 30, 90, and 180-day rolling beta between the first pair and second pair, in units of the first pair.
For realized volatility, Amberdata shows the 30, 90, and 180-day Parkinson realized volatility for the first pair parameter.
***
# API Endpoints
[/Correlation, Beta, and Realized Volatility](/http/analytics/derivatives/correlation-beta-and-realized-volatility)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| --------------- | ----------------------- | ----------- |
| Binance | 2025-01-23 | Daily |
| GDAX (Coinbase) | 2016-01-01 | Daily |
***
# Frequently Asked Questions
**How can these measures help me understand and manage investment risk?**
* Correlation helps investors understand the relationship between different investments, allowing them to spread out risk more effectively. Beta provides insights into how risky an investment is compared to the overall market, helping investors gauge potential volatility and returns. Realized volatility shows how much an investment's price has actually changed in the past, offering a practical view of market behavior. Together, these measures give investors a clearer picture of market dynamics, enabling smarter decisions to manage risk.
***
# Decorated Trades
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/decorated-trades
# Definition
**Decorated Trades** provides a comprehensive view of option trades by including detailed data such as pre-trade and post-trade Best Bid and Offer (BBO) information. This endpoint enables users to analyze the traded prices, sizes, and implied volatilities, as well as compare these with the best bid and best ask prices and sizes. It also incorporates underlying futures prices, cash/spot market prices at the time of the trade, and the pre and post-trade open interest along with its impact. This enriched data set allows Amberdata to develop 30 proprietary heuristics to evaluate each trade from the taker's perspective, assuming dealers are passive counterparties.
In contrast, Undecorated Trades consist of raw times and sales data that are not integrated with Level 1 quote data due to the unavailability of such data at the time of the trade.
***
# Details
The following data fields are available for detailed analysis of options trades for ETFs and crypto-related equities:
* **Exchange Information**: The platform or exchange where the trade occurred.
* **Timestamps**: Precise time of the trade.
* **Trade ID**: A unique identifier for each trade.
* **Instrument Details**: Information about the traded option, including strike price, expiration, and type (call/put).
* **Trade Characteristics**: Traded price, size, and implied volatility.
* **24-Hour Metrics**: Volume and price changes over the past 24 hours.
* **Pre-Trade BBO Data**: Best bid and offer prices and sizes before the trade.
* **Post-Trade BBO Data**: Best bid and offer prices and sizes after the trade.
* **Option Greeks**: Delta, Gamma, Theta, Vega, and Rho values associated with the traded option.
* **Open Interest**: The number of outstanding contracts before and after the trade, along with the trade's impact on open interest.
* **Directional Indicators**: Metrics indicating whether the trade was buyer- or seller-initiated.
***
# API Endpoints
[/Decorated Trades](/http/analytics/derivatives/decorated-trades)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------------------- | ----------------------- | ----------- |
| Binance | 2025-03-07 | Tick-level |
| Deribit | 2021-09-01 | Tick-level |
| Bybit, Lyra, Thalex, OKEx (OKX) | 2024-06-01 | Tick-level |
***
# Frequently Asked Questions
**How do Decorated Trades differ from Undecorated Trades?**
* Decorated Trades include enriched data with pre-trade and post-trade BBOs, traded prices, sizes, implied volatilities, and additional metrics such as underlying futures prices and open interest impacts. Undecorated Trades provides raw times and sales data without this integrated quote data.
***
# Delta Surface Constant and Floating
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/delta-surfaces-constant-and-floating
# Definition
Delta Surfaces represent a three-dimensional visualization of the implied volatility surface across fixed delta points. The "Delta Surfaces" endpoints display the interpolated delta values for implied volatility (using the exchange "marks"). These surfaces are crucial for understanding how an option's implied volatility changes with respect to different delta anchors.
Amberdata offers two types of delta surface endpoints:
1. **Constant Maturity Delta Surface**: Displays the surface for fixed time horizons, regardless of actual option expiration dates.
2. **Floating Delta Surface**: Displays the surface for actual expiration dates.
***
# Details
For a given target delta value, such as β25, the inside and outside delta points closest to the target are identified. For example, if β28 and β22 are the nearest deltas around the target β25, the mark implied volatilities at these deltas are converted into variances, which are then linearly interpolated. The resulting interpolated variance is subsequently converted back into implied volatility.
When targeting a constant maturity, the same interpolation process is applied across different maturities to achieve a specific βdays-to-expirationβ (DTE) value.
In order to calculate a target delta or DTE, both an inside and outside point must be available. If an outside point does not exist, the target value is returned as null. For example, if the smallest delta available on an options chain is β7, and there is no delta less than β5 to serve as the outside point, the target β5 value cannot be calculated and thus returns null.
***
# API Endpoints
[/Delta Surfaces Constant](/http/analytics/derivatives/delta-surfaces-constant)
[/Delta Surfaces Floating](/http/analytics/derivatives/delta-surfaces-floating)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------- | ------------------------ | ----------- |
| Binance | 2025-03-07 | Minutely |
| Deribit | 2019-04-01 to 2021-09-01 | Hourly |
| Deribit | 2021-09-01 | Minutely |
| Bybit, Lyra, Thalex | 2024-06-01 | Minutely |
| OKEx (OKX) | 2021-12-16 to 2024-05-01 | Daily |
| OKEx (OKX) | 2024-05-01 | Minutely |
***
# Frequently Asked Questions
**What's the difference between floating and constant maturity delta surfaces?**
* Floating delta surfaces use actual option expiration dates, while constant maturity surfaces use fixed time horizons (e.g., 30, 60, 90 days). Constant maturity surfaces allow for easier comparison across different time periods.
**How can I use delta surfaces in my trading or risk management strategy?**
* Delta surfaces can be used to identify relative value opportunities, manage portfolio risk, design option strategies with specific delta exposures, and improve pricing models. They provide a comprehensive view of how options with different strikes and expirations are being valued by the mark.
***
# Deribit VS Model Hourly
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/deribit-vs-model-hourly
# Definition
This endpoint compares the model "At-The-Money" volatility versus the implied volatility found on Deribit, in order to validate our proprietary "modelAtm". The payload will include various daysToExpiraton so users can see the term-structure.
***
# Details
Our model uses dynamic weighting of the realized volatility term-structure in order to mimic mean-reversion typically found in the implied volatility markets. Therefore the "modelAtm" is a representation of implied volatility.
***
# API Endpoints
[/Deribit VS Altcoin Model hourly](/http/analytics/derivatives/deribit-vs-model-hourly)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------ | ----------------------- | ----------- |
| Deribit (BTC, ETH) | 2023-06-01 | Hourly |
| Deribit (SOL) | 2023-06-01 | Hourly |
***
***
# Funding Realized/Accumulated
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/fundingrealized
# Definition
Funding Realized/Accumulated refers to the payments made between traders holding long and short positions in perpetual futures contracts. These payments help keep the contract price in line with the spot market price. By looking at these funding payments, traders can understand the cost of maintaining their positions over time.
***
# Details
This endpoint captures the total funding payments exchanged between long and short positions in perpetual futures contracts over a specific period. This metric includes realized funding, which is the actual amount paid or received during each funding interval, and accumulated funding, which aggregates these payments over time. This data is crucial for evaluating the financial impact of funding rates on open positions, helping traders make informed decisions about managing their trades and understanding the cost dynamics of holding perpetual contracts.
***
# API Endpoints
[/Funding Realized/Accumulated](/http/analytics/derivatives/funding-realized-accumulated#funding-realized-accumulated)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------- | ----------------------- | ----------- |
| All Exchanges | 2022-01-01 | 8-hours |
***
# Frequently Asked Questions
**How does the funding rate impact my trading strategy in perpetual futures?**
* This question is common because understanding the funding rate is crucial for managing the costs associated with holding positions in perpetual futures. The funding rate determines periodic payments between long and short positions, impacting profitability. Traders need to consider whether they will pay or receive funding fees, as these can affect their overall returns. By analyzing funding rates, traders can adjust their strategies to optimize for costs and potential gains, ensuring they align with market conditions.
***
# Gamma
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/gamma-normalized-snapshots
# Definition
The Gamma Normalized in USD chart depicts the impact of GEX in terms of million dollars notional in the underlying asset for a 1% move in spot prices. This reflects the sum of the total outstanding gamma exposure across dealers.
Gamma Snapshots (GEX) calculates the gamma exposure of Market Makers (MMs) and the number of underlying contracts they must trade to maintain a delta-hedged book.
***
# Details
* **Gamma Normalized in USD:**
* Displays the total impact of GEX in terms of notional USD for a 1% move in spot prices.
* Represents the cumulative gamma exposure across all dealers.
* **Gamma Snapshots (GEX):**
* GEX calculates the gamma exposure of Market Makers and their required number of underlying contracts to stay delta-hedged.
* Uses the DIRECTION algorithm, which employs over 30 heuristics to estimate the trade direction of initiators/aggressors and identify likely Market Makers.
* Tracks trades at a millisecond level to compute and maintain a database of gamma exposure.
* Aggregates GEX values by multiplying with the gamma value of specific expirations and summarizes at the strike level.
***
# API Endpoints
[/Gamma Normalized in USD](/http/analytics/derivatives/gamma-normalized-in-usd)
[/Gamma Snapshots (GEX)](/http/analytics/derivatives/gamma-snapshots-gex)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------------------------------- | ----------------------- | ----------- |
| Deribit | 2019-08-23 | Daily |
| Bybit Lyra Thalex OKeX (OKX) | 2024-06-01 | Daily |
***
# Frequently Asked Questions
**What does the "Gamma Normalized in USD" chart represent?**
* It shows the total impact of GEX in million dollars notional for a 1% move in spot prices, summarizing the total outstanding gamma exposure across dealers.
**What is the role of the DIRECTION algorithm in Gamma Snapshots (GEX)?**
* The DIRECTION algorithm estimates the correct trade direction and identifies Market Makers by analyzing order book data, which is then used to compute and maintain gamma exposure.
**More information**
[https://x.com/genesisvol/status/1555632200694960128](https://x.com/genesisvol/status/1555632200694960128)
***
# Implied vs Realized
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/implied-realized
# Definition
The Implied vs Realized Volatility features provide a comparison between the implied volatility and realized volatility of a crypto asset's underlying index price or spot value. This is a **Binance and Deribit-only** endpoint and is exclusive to the crypto derivatives exchanges.
The endpoint calculates the close-to-close realized volatility using hourly data for both 7-day and 30-day realized volatility calculations. It then returns the at-the-money (ATM) implied volatility for select constant maturities: 7-DTE (days-to-expiration), 30-DTE, 60-DTE, 90-DTE, and 180-DTE.
***
# Details
1. Realized Volatility Calculation:
* The endpoint uses the underlying index or spot price to calculate the close-to-close realized volatility on an hourly basis.
* Both 7-day and 30-day realized volatility metrics are provided.
* Realized volatility represents the actual historical volatility observed in the market.
2. Implied Volatility Data:
* The endpoint returns the at-the-money (ATM) implied volatility for specific constant maturities.
* These constant maturities include 7-DTE, 30-DTE, 60-DTE, 90-DTE, and 180-DTE.
* Implied volatility is the market's expectation of future volatility, as reflected in option prices.
The user can then compare the realized volatility and implied volatility of the market to determine the relative value of options.
***
# API Endpoints
[/Implied vs Realized](/http/analytics/derivatives/implied-vs-realized)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| -------- | ----------------------- | ----------- |
| Binance | 2025-03-08 | Minutely |
| Deribit | 2019-04-01 | Minutely |
***
***
# Instruments Most Traded
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/instruments-most-traded
# Definition
The Instruments Most Traded endpoint aggregates total trading volume by option instruments across selected exchanges and currency types. It provides insights into which instruments are the most frequently traded, offering a snapshot of trading activity.
***
# Details
The endpoint includes the following data fields:
* **Exchange**: The exchange where the trading data was collected.
* **Currency**: The currency type involved in the trading activity.
* **Instrument**: The specific option instrument being traded.
* **Contract Volume:** The total volume of contracts traded for the instrument.
***
# API Endpoints
[/Instruments Most Traded](/http/analytics/derivatives/instruments-most-traded)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------------------- | ----------------------- | --------------------- |
| Binance | 2025-03-07 | Tick-Level Aggregated |
| Deribit | 2019-04-01 | Tick-Level Aggregated |
| Bybit, Lyra, Thalex, OKEx (OKX) | 2024-06-01 | Tick-Level Aggregated |
***
# Frequently Asked Questions
**What does the total contract volume indicate?**
* The total contract volume shows how many contracts of a specific option instrument have been traded. It helps to understand the trading activity for that instrument.
***
# Level 1 Quotes
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/level-1-quotes
# Definition
Level 1 Quotes refer to the best bid and ask prices and sizes for a given financial instrument at a particular point in time. In the context of options, Level 1 Quotes provide the most competitive prices at which an option can be bought or sold. The Level 1 Quotes endpoint displays the first observation of these option prices for every timestamp. This endpoint returns the "Level 1" option chain with associated volatilities, Greeks, and underlying prices. This is the core underlying options data for many analytics.
***
# Details
Level 1 Quotes are essential for traders and investors to gauge the current market for an option. They represent the most basic and crucial information about an option's pricing and liquidity.
Data fields include:
* **Bid price**: The highest price a buyer is willing to pay for the option
* **Ask price:** The lowest price a seller is willing to accept for the option
* **Bid size**: The number of contracts available at the bid price
* **Ask size**: The number of contracts available at the ask price
* **Option prices**: The current market prices for the option
* **Implied volatilities**: A measure of the market's expectation of future volatility
* **Exchange "marks"**: The prices set by the exchange, often used as a reference
* **24h volume**: The total number of contracts traded in the last 24 hours
* **Open interest**: The total number of outstanding contracts
* **Associated Greeks**: Delta, Gamma, Theta, Vega, and Rho, derived from the option "marks"
***
# API Endpoints
[/Level 1 Quotes](/http/analytics/derivatives/level-1-quotes)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------- | ------------------------ | ----------- |
| Binance | 2025-03-07 | Minutely |
| Deribit | 2019-04-01 to 2021-09-01 | Hourly |
| Deribit | 2021-09-01 | Minutely |
| Bybit, Lyra, Thalex | 2024-06-01 | Minutely |
| OKEx (OKX) | 2021-12-16 to 2024-05-01 | Daily |
| OKEx (OKX) | 2024-05-01 | Minutely |
***
# Frequently Asked Questions
**How do Level 1 quotes for crypto options differ from those for traditional equity options?**
* The core concept is the same, but crypto options markets may be more volatile and less liquid than traditional equity options markets. This can lead to wider bid-ask spreads and more frequent price updates in Level 1 quotes for crypto options.
***
# Moneyness Surfaces Constant and Floating
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/moneyness-surfaces-constant-and-floating
# Definition
Moneyness Surfaces provide a structured view of implied volatility relative to an option's moneyness, rather than its absolute strike price. This approach normalizes volatility analysis, making it easier to compare different expirations and market conditions.
Amberdata offers two types of moneyness surface endpoints:
* **Constant Moneyness Surface**: Displays implied volatility across fixed moneyness levels for constant days-to-expiration horizons, allowing for consistent historical analysis.
* **Floating Moneyness Surface**: Displays implied volatility across fixed moneyness levels for active expirations.
These surfaces help traders and analysts better understand volatility skews, risk exposure, and market dynamics in a standardized format.
***
# Details
Moneyness measures the relative position of an optionβs strike price compared to its underlying asset price. Here, lognormal moneyness is computed using the corresponding futures price and a reference point, providing a consistent framework across expirations.
The dataset uses SVI calibration to ensure smooth and arbitrage-free volatility surfaces, which can be applied to risk modeling, option pricing, and quantitative research.
***
# API Endpoints
[/Moneyness Surfaces Floating](/http/analytics/derivatives/moneyness-surfaces-floating)
[/Moneyness Surfaces Constant](/http/analytics/derivatives/moneyness-surfaces-constant)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------ | ----------------------- | ----------- |
| Deribit (BTC, ETH) | 2019-04-01 | Hourly |
***
# Frequently Asked Questions
**How is lognormal moneyness calculated in this dataset?**
* Lognormal moneyness is determined using the natural logarithm of the moneyness price divided by the futures price at a given reference point. This standardization helps normalize volatility structures across different expirations and market conditions.
**Why is this dataset only available for BTC and ETH on Deribit?**
* Currently, Deribit is the primary exchange offering deep liquidity and a robust options market for BTC and ETH. The SVI calibration process relies on high-quality data, which is best suited to markets with significant trading activity and available derivatives.
***
# Open Interest
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/open-interest-add
# Definition
Open interest in the context of futures and perpetual contracts refers to the total number of outstanding contracts that have not yet been settled. It is a key indicator of market activity and liquidity, reflecting the level of participation in the market. High open interest suggests strong engagement from traders and can indicate the strength or weakness of price trends. By monitoring open interest, traders and analysts can gain insights into market sentiment and potential future price movements, helping them make informed trading and investment decisions.
***
# Details
This endpoint returns the total asset open interest for both futures and perpetuals across the various exchanges. The open interest is returned in raw coin amounts and millions of dollars.
Data fields include:
* Timestamp: This represents the timestamp
* Exchange: The represents the exchange
* Coin: This is the total open interest in coin units
* USD: This is the total open interest in millions of USD units
***
# API Endpoints
[/Open Interest](/http/analytics/derivatives/open-interest)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------- | ----------------------- | ----------- |
| All Exchanges | 2022-08-01 | Hourly |
***
# Frequently Asked Questions
**How does open interest help traders understand market trends and sentiment in crypto futures?**
* Open interest shows the total number of unsettled futures contracts, indicating market activity. When open interest rises, it suggests new money is entering the market, supporting the current trend. If it falls, it might mean the trend is weakening. By watching open interest, traders can better understand market sentiment and decide when to enter or exit trades.
***
# Overview
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/options-overview
# Definition
Our Options endpoints provide comprehensive data and insights into the options market. From volatility and risk metrics to open interest and volume metrics, trade details, and options scanner data, these endpoints offer a granular view of the market. They allow users to analyze different aspects of the options market, including trading activity, market sentiment, trading strategies, and much more.
***
# Details
Understanding the options market requires a wide range of data points and metrics. Our Options endpoints offer a wide variety of data, allowing users to gain a comprehensive understanding of the market.
The Volatility endpoints provide insights into market volatility and calibrated volatility surfaces. They allow users to understand the implied volatility skew, portfolio scenarios, and the continuous implied volatility.
The Open Interest and Volume Metrics endpoints provide insights into the open positions held by traders and trading volumes. They cover global open interest, put-call ratios, volume turnover, and notional values.
The Trades Metrics endpoints provide granular details about trading activities. They allow users to access data on historical trades, the order book, gamma exposure through proprietary volume direction, and different trading strategies.
Lastly, the Options Scanner endpoints provide in-depth insights into option trading activities. They offer data about the net volumes of trades over selected periods, the cumulative net positioning of traders, and block trades.
Note: Trial API keys only support 1 year of data history.
***
# Option Yields
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/options-yields
# Definition
The Option Yields endpoint calculates the yields for two common option strategies: Covered Call and Cash Secured Put.
**Covered Call**: This strategy involves selling a call option while being long on the underlying asset. The yield is calculated based on the difference between the proceeds from selling the call and the cost of acquiring the underlying asset.
**Cash Secured Put**: This strategy involves selling a put option while holding enough cash to cover the potential purchase of the underlying asset. The yield is based on the difference between the proceeds from selling the put and the cash balance maintained.
***
# Details
The Option Yields endpoint calculates yields for two options strategies:
**Covered Call:**
* **Absolute Yield** is calculated by dividing the proceeds from selling the call option by the initial position in the underlying asset.
* **Annualized Yield** is obtained by multiplying the Absolute Yield by the factor representing the number of minutes in a year (525,600) divided by the minutes left until the option expires.
**Cash Secured Put:**
* **Absolute Yield** is determined by dividing the proceeds from selling the put option by the initial cash position.
* **Annualized Yield** is calculated by multiplying the Absolute Yield by the factor representing the number of minutes in a year (525,600) divided by the minutes remaining until the option expires.
***
# API Endpoints
[/Options Yields](/http/analytics/derivatives/options-yields)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------------------- | ----------------------- | ----------- |
| Binance | 2025-03-07 | Hourly |
| Deribit | 2019-04-01 | Hourly |
| Bybit, Lyra, Thalex, OKEx (OKX) | 2024-06-01 | Hourly |
***
# Frequently Asked Questions
**How is the Absolute Yield for a Covered Call strategy calculated?**
* The Absolute Yield is calculated by dividing the proceeds from selling the call option by the initial position in the underlying asset.
**What is the purpose of calculating the Annualized Yield for a Covered Call?**
* The Annualized Yield provides an annualized rate of return based on the Absolute Yield, adjusted for the time remaining until the optionβs expiration.
**How is the Absolute Yield for a Cash Secured Put strategy determined?**
* The Absolute Yield is determined by dividing the proceeds from selling the put option by the initial cash position.
**Why is the Annualized Yield important for a Cash Secured Put strategy?**
* The Annualized Yield shows the return on the cash-secured put option on an annual basis, accounting for the time remaining until expiration.
**What factors are needed to calculate Annualized Yields?**
* To calculate Annualized Yields, you need the Absolute Yield and the number of minutes left until the option expires.
***
# Order Book Depth
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/order-book-depth
# Description
Order Book Depth shows how much liquidity is available at varying distances from the best-bid/best-ask price, measured in basis points (bps). This provides a snapshot of market robustness and order book structure.
***
# Details
This metric analyzes both bid and ask side liquidity within configurable percentage ranges from the best-bid/best-ask price. By aggregating depth across tranches like 10bps, 50bps, or 100bps, it becomes easier to identify where meaningful liquidity resides.
Liquidity concentration (e.g., most bids sitting within 20bps) can help assess potential slippage and execution quality, especially during large trades or volatility spikes.
***
# API Endpoint
[/derivatives-analytics-order-book-depth](/http/analytics/derivatives/depth)
***
# Availability
We cover all instruments on major exchanges like Binance, Deribit, OKX (Okex) and more.
Please use the information endpoint to find all coverage and exact instruments.
| Exchange | History | Depth Order Count |
| :---------- | :-------------------------- | :---------------- |
| Arkham | 2025-08-10 (end 2026-02-16) | Full |
| Binance | 2024-01-01 | 1000 |
| Bitmex | 2024-01-01 | Full |
| Bybit | 2024-01-01 | 500 |
| Deribit | 2024-01-01 | Full |
| Hyperliquid | 2025-03-19 | 20 |
| Kraken | 2024-01-01 | Full |
| Okex (OKX) | 2024-01-01 | 2000 |
***
# Frequently Asked Questions
**What are basis points in this context?**
* One basis point is 0.01%. So 100bps means 1% away from the best-bid/best-ask price. The endpoint tracks liquidity depth at various bps levels.
**Why is this useful during volatile periods?**
* Order book depth gives a more complete view of where liquidity sits, allowing traders to anticipate price impact or dislocation.
**What unit is the liquidity expressed in?**
* Depth at the different basis point levels is expressed in the unit of a particular exchange/instrument.
***
# Order Book Pressure
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/order-book-pressure
# Definition
Order Book Pressure is a market sentiment metric that quantifies the imbalance between buy-side and sell-side liquidity. Itβs calculated as: \`Order\_Book\_Pressure = (bid depth β ask depth)\`\`
A positive value suggests stronger demand (buying pressure), while a negative value implies stronger supply (selling pressure).
***
# Details
Order Book Pressure helps traders and analysts gauge the aggressiveness of bids versus offers (asks) in real time. This metric is especially useful during volatile market events, offering insight into short-term sentiment and potential directional bias.
The calculation uses visible volume in the order book at a given moment, not executed trades. It reflects intent to trade, which can be a leading indicator of market moves.
***
# API Endpoint
[/derivatives-analytics-order-book-pressure](/http/analytics/derivatives/depth-pressure)
***
# Availability
We cover all instruments on major exchanges like Binance, Deribit, OKX (Okex) and more.
Please use the information endpoint to find all coverage and exact instruments.
| Exchange | History | Depth Order Count |
| :---------- | :-------------------------- | :---------------- |
| Arkham | 2025-08-10 (end 2026-02-16) | Full |
| Binance | 2024-01-01 | 1000 |
| Bitmex | 2024-01-01 | Full |
| Bybit | 2024-01-01 | 500 |
| Deribit | 2024-01-01 | Full |
| Hyperliquid | 2025-03-19 | 20 |
| Kraken | 2024-01-01 | Full |
| Okex (OKX) | 2024-01-01 | 2000 |
***
# Frequently Asked Questions
**How often is this data updated?**
* Data is sampled at regular intervals (e.g., 1-minute), depending on the query.
**Can I use this to predict price movements?**
* While not predictive on its own, persistent pressure in one direction often precedes price continuation or reversal, especially when confirmed by other indicators.
# Put Call Trades Distribution
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/put-calls-trades-distribution
# Definition
The Put Call Trades Distribution endpoint aggregates the total volume by option instruments for selected exchanges and currency types. It provides insights into the distribution of trades between put and call options. The data includes option premiums, representing the total sum of premiums paid for options, and contract counts, which reflect the raw number of contracts traded. Notional volumes are also included, representing the total underlying volumes, calculated based on the optionβs underlying asset. For example, a 1 BTC option would represent a notional value equivalent to the current BTC price, regardless of the option's moneyness.
***
# Details
The Put Call Trades Distribution endpoint provides the following data fields:
* Contracts Bought:
* Call options: Total number of call contracts bought.
* Put options: Total number of put contracts bought
* Contracts Sold:
* Call options: Total number of call contracts sold.
* Put options: Total number of put contracts sold.
* Premiums Bought:
* Call options: Total premium paid for call contracts bought.
* Put options: Total premium paid for put contracts bought.
* Premiums Sold:
* Call options: Total premium received for call contracts sold.
* Put options: Total premium received for put contracts sold.
* Exchange Direction:
* Provides the adjusted totals for contracts and premiums bought and sold, based on exchange direction.
***
# API Endpoints
[/Put Call Trades Distribution](/http/analytics/derivatives/put-call-trades-distribution)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------------------- | ----------------------- | --------------------- |
| Binance | 2025-03-07 | Tick-Level Aggregated |
| Deribit | 2019-04-01 | Tick-Level Aggregated |
| Bybit, Lyra, Thalex, OKEx (OKX) | 2024-06-01 | Tick-Level Aggregated |
***
# Frequently Asked Questions
**What is the significance of notional volumes in the Put-Call Trades Distribution data?**
* Notional volumes provide a representation of the total value of the underlying asset in option trades, giving a clearer picture of the marketβs size and the relative importance of different trades, beyond just the number of contracts traded.
***
# Seasonality: Volatility Day of Week / Month of Year
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/seasonality
# Definition
The **Realized Volatility Seasonality** metric provides insights into the average realized volatility of a cryptocurrency over a specified historical date range, grouped by either **day of the week** or **month of the year**. This metric enables the identification of seasonal patterns in market volatility and highlights how volatility fluctuates over time based on recurring temporal factors.
Such seasonality-based analysis is valuable for assessing market behavior trends and for informing strategic trading decisions, portfolio management, and risk modeling.
***
# Details
Two endpoints are available:
* **Volatility by Day of the Week**
* **Volatility by Month of the Year**
Each aggregates historical realized volatility observations by time period to compute the average volatility corresponding to each day or month.
***
# API Endpoints
[/Seasonality: Volatility Day of Week](/http/analytics/derivatives/seasonality:-volatility-day-of-week)
[/Seasonality: Volatility Month of the Year](/http/analytics/derivatives/seasonality:-volatility-month-of-the-year)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| -------- | ----------------------- | ----------------- |
| Binance | 2024-07-25 | Daily and Monthly |
| GDAX | 2016-01-01 | Daily and Monthly |
***
# Frequently Asked Questions
**How does grouping realized volatility by day or month support market analysis?**
* Aggregating volatility by day of the week or month of the year enables detection of consistent seasonal trends. These insights can be used to identify predictable patterns in market behavior, offering a statistical basis for timing strategies and volatility-adjusted portfolio decisions.
***
# Term Structure Constant and Floating
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/term-structure
# Definition
The "Term Structure" endpoints display the at-the-money (ATM) implied volatility for both active maturities (floating) and constant maturities. In addition to the ATM term structure implied volatility, these endpoints also include the forward volatility calculation.
***
# Details
**Floating Term Structure:**
* Displays the ATM implied volatility for active option maturities, i.e., the actual expiration dates of the options.
* This reflects the current market's view of volatility across different time horizons.
* Floating term structure allows for analysis of the shape and slope of the volatility curve based on market conditions.
The calculation for forward volatility, or the differential IV between any two expiration cycles, is as follows:`Forward IV = β[ (ΞΈΒ²T - ΟΒ²t) / (T -t)]`
ΞΈΒ² = Longer-dated option variance
ΟΒ² = Shorter dated option variance
T = time until expiration of the longer-dated option
t = time until expiration of the shorter-dated option
Using forward IV, a trader can gauge the most expensive portion of the term structure.
**Constant Maturity Term Structure:**
* Displays the ATM implied volatility for constant time-to-expiration (DTE) values, such as 30 days, 60 days, 90 days, etc.
* This allows for a more standardized comparison of volatility across different periods, as the maturities are fixed.
* Constant maturity term structure can be useful for analyzing the overall term structure and identifying potential mispricing opportunities.
***
# API Endpoints
[/Term Structures Constant](/http/analytics/derivatives/term-structures-constant)
[/Term Structures Floating](/http/analytics/derivatives/term-structures-floating)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------------------- | ----------------------- | ----------- |
| Binance | 2025-03-08 | Minutely |
| Deribit | 2019-04-01 | Minutely |
| Lyra, Thalex, OKEx (OKX), Bybit | 2024-05-01 | Minutely |
***
***
# Term Structure Richness - Deribit Only
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/term-structure-richness
# Definition
The βTerm Structure Richnessβ endpoint is the relative level of the Contango or Backwardation shape. The metric represents the difference between the implied volatility of two options with the same delta, but different expiration dates. It also provides insight into the relative expensiveness or cheapness of options at different maturities within the volatility term structure.
***
# Details
The term structure richness calculation is as follows:
`Term Structure Richness = Average ATM IV Ratio of [7dte/30dte, 7dte/60dte, 7dte/90dte, 7dte/180dte, 30dte/60dte, 30dte/90dte, 30dte/180dte, 60dte/90dte, 60dte/180dte, 90dte/180dte]`
The term structure richness metric can be interpreted as:
1. Les than 1.00 Value: "Contango" The longer-dated option is relatively more expensive (or "richer") compared to the shorter-dated option.
2. More than 1.00 Value: "Backwardation" The shorter-dated option is relatively more expensive (or "richer") compared to the longer-dated option.
3. 1.00 Value: The term structure is flat.
For example, a reading of 1.00 would be a perfectly flat term structure - as measured by our method - while readings below/above represent Contango/Backwardation respectively. Using the term structure levels enables us to quantify how extended the term structure pricing currently is at any point in time.
The calculation uses a weighted average of the 7-dte, 30-dte, 60-dte, 90-dte, and 180-dte at-the-money volatilities.
***
# API Endpoints
[/Term Structure Richness](/http/analytics/derivatives/term-structures-richness)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| -------- | ----------------------- | ------------- |
| Deribit | 2019-04-01 | Hourly, Daily |
***
***
# Top Trades
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/top-trades
# Definition
This feature provides detailed information on the most significant trades, including both on-screen and blocked trades. In addition to standard trade data, the endpoint offers proprietary insights that enhance the ability to analyze market flow.
Key features include the\*\*Amberdata Direction \*\* metric, which identifies the true initiator of a trade, and the **Delta Hedge** indicator, which highlights block trades that contain a futures leg. Pre-trade and post-trade order book data are also included to offer a comprehensive view of market conditions around the trade.
***
# Details
* **Amberdata Direction:** A proprietary metric developed to accurately gauge the true initiator of a trade, offering deeper insight into market sentiment.
* **Delta Hedge**: Identifies block trades that include a futures leg, providing valuable information on hedging strategies.
* **Pre and Post Order Book Data**: Columns displaying order book conditions before and after the trade, enabling analysis of market impact and price movement.
***
# API Endpoints
[/Top Trades](/http/analytics/derivatives/top-trades)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------------------- | ----------------------- | ----------- |
| Binance | 2025-03-07 | Tick-level |
| Deribit | 2019-04-01 | Tick-level |
| Bybit, Lyra, Thalex, OKEx (OKX) | 2024-06-01 | Tick-level |
***
# Frequently Asked Questions
**What makes the "Top Trades" endpoint unique?**
* This endpoint includes proprietary metrics such as "Amberdata Direction," which identifies the true trade initiator, and the "Delta Hedge" highlight for block trades containing futures legs. These features provide a deeper understanding of market flow beyond standard trade data.
***
# Decorated Trades
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/tradfi/decorated-trades
# Definition
The **Decorated Trades** feature provides a comprehensive view of options trades for ETFs and crypto-related equities, enriched with detailed data that goes beyond raw trade information. It includes pre-trade and post-trade Best Bid and Offer (BBO) data, enabling users to analyze trades in the context of market conditions at the time. This endpoint captures traded prices, sizes, and implied volatilities, comparing them with the best bid and ask prices and sizes. Additionally, it incorporates underlying index or spot prices at the time of the trade, pre-trade and post-trade open interest, and the impact of the trade on open interest levels. The enriched data set supports the development of proprietary heuristics to evaluate each trade from the takerβs perspective, assuming that dealers act as passive counterparties.
In contrast, **Undecorated Trades** are raw trade data that lack integration with Level 1 quote data due to the unavailability of such information at the time of the trade. This distinction highlights the added value of decorated trade data for in-depth analysis.
***
# Details
The \*\*Decorated Trades \*\*endpoint provides the following data fields for a detailed analysis of options trades for ETFs and crypto-related equities:
* **Exchange Information**: The platform or exchange where the trade occurred.
* **Timestamps**: Precise time of the trade.
* **Trade ID**: A unique identifier for each trade.
* **Instrument Details**: Information about the traded option, including strike price, expiration, and type (call/put).
* **Trade Characteristics**: Traded price, size, and implied volatility.
* **24-Hour Metrics**: Volume and price changes over the past 24 hours.
* **Pre-Trade BBO Data**: Best bid and offer prices and sizes before the trade.
* **Post-Trade BBO Data**: Best bid and offer prices and sizes after the trade.
* **Option Greeks**: Delta, Gamma, Theta, Vega, and Rho values associated with the traded option.
* **Open Interest**: The number of outstanding contracts before and after the trade, along with the trade's impact on open interest.
* **Directional Indicators**: Metrics indicating whether the trade was buyer- or seller-initiated.
# API Endpoints
[/TradFi Decorated Trades](/http/analytics/derivatives/tradfi-decorated-trades)
***
# Availability
| Coverage | Start Date | Granularity |
| ---------------------------------------------------------------------------- | ---------- | ----------- |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2024-11-01 | 5 min |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2021-12-01 | Daily |
***
# Frequently Asked Questions
***
# TradFi Delta Surfaces Constant and Floating
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/tradfi/delta-surfaces-constant-and-floating
# Definition
Delta Surfaces provide a three-dimensional visualization of delta values for ETFs and crypto-related equities options, mapped across various strike prices and expiration dates. These surfaces highlight how an optionβs deltaβits sensitivity to changes in the price of the underlying ETF or equityβvaries with respect to the assetβs price and time to expiration. The data is calculated using interpolated implied volatility derived from exchange reference prices ("marks"), offering valuable insights into delta dynamics.
Two types of delta surfaces are available:
* **Constant Maturity Delta Surface**: Displays delta values for fixed time horizons, allowing standardized analysis regardless of actual expiration dates.
* **Floating Delta Surface**: Represents delta values corresponding to the actual expiration dates of the options.
***
# Details
For a target delta value, such as β25, the process involves identifying the nearest inside and outside deltas around the target. For instance, if β28 and β22 are the closest values, the mark implied volatility is converted into variance, linearly interpolated, and then reconverted into volatility to achieve the desired target value.
* Constant Maturity Analysis: This approach performs the same calculations across maturities to align with a specified constant "days-to-expiration" (DTE) value, ensuring consistency in time horizon comparisons.
* Target Delta or DTE Requirements: To calculate a target delta or DTE value, both an inside and an outside data point must be available. If no outside point exists, the target value is returned as null.
For example, if the smallest delta value in a given options chain is β7 and no value smaller than β5 exists, the target β5 value cannot be calculated and is therefore returned as null.
# API Endpoints
[/TradFi Delta Surfaces Constant](/http/analytics/derivatives/tradfi-delta-surfaces-constant)
[/TradFi Delta Surfaces Floating](/http/analytics/derivatives/tradfi-delta-surfaces-floating)
***
# Availability
| Coverage | Start Date | Granularity |
| ------------------------------------------------------------------------------------------------------------------- | ---------- | ----------- |
| BITB, BITO, BITQ, BITX, BTC, COIN, CRCL, EETH, ETH, ETHU, GME, IBIT, MARA, MSTR, MSTU, MSTY, SATO, SBET, BMNR, ETHA | 2024-11-01 | 5 min |
| BITB, BITO, BITQ, BITX, BTC, COIN, CRCL, EETH, ETH, ETHU, GME, IBIT, MARA, MSTR, MSTU, MSTY, SATO, SBET, BMNR, ETHA | 2021-12-01 | Daily |
***
# TradFi Implied vs Realized
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/tradfi/implied-vs-realized
# Definition
The **Implied vs Realized Volatility** endpoint provides a comparison between the implied volatility and realized volatility of ETFs or crypto-related equities, focusing on the underlying index price or spot value. This analysis is vital for understanding the divergence between market expectations (implied volatility) and historical price movements (realized volatility).
The endpoint calculates close-to-close realized volatility using intraday data, typically for 7-day and 30-day periods. It also returns at-the-money (ATM) implied volatility for select constant maturities, such as 7, 30, 60, 90, and 180 days to expiration (DTE), offering insights across various time horizons.
***
# Details
Realized Volatility Calculation:
* This feature calculates close-to-close realized volatility using the underlying index or spot price for ETFs and crypto-related equities.
* Metrics for 7-day and 30-day realized volatility are provided, capturing short-term historical price fluctuations.
* Realized volatility represents the actual historical volatility observed in the market, offering insights into past price behavior.
Implied Volatility Data:
* The endpoint returns at-the-money (ATM) implied volatility for specified constant maturities, providing a forward-looking perspective on expected market movement.
* Constant maturities include 7, 30, 60, 90, and 180 days to expiration (DTE).
* Implied volatility reflects the market's expectations for future price fluctuations, derived from option prices.
# API Endpoints
[/TradFi Implied (vs) Realized](/http/analytics/derivatives/tradfi-implied-vs-realized)
***
# Availability
| Coverage | Start Date | Granularity |
| ---------------------------------------------------------------------------- | ---------- | ----------- |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2024-11-01 | 5 min |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2021-12-01 | Daily |
***
# Instruments Most Traded
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/tradfi/instruments-most-traded
# Definition
The "Instruments Most Traded" endpoint aggregates total trading volume by option instruments associated with ETFs and crypto-related equities. It provides a clear snapshot of trading activity, highlighting which instruments are the most frequently traded. This data offers valuable insights into market trends, liquidity, and investor interest, helping traders and analysts focus on the most actively traded options.
# Details
The "Instruments Most Traded" endpoint provides the following data fields to analyze trading activity for ETFs and crypto-related equities:
* Exchange: The platform or exchange where the trading activity occurred.
* Currency: The currency type associated with the trading activity.
* Instrument: The specific option instrument being traded.
* Contract Volume: The total number of contracts traded for the specified instrument.
# API Endpoints
[/TradFi Instruments Most Traded](/http/analytics/derivatives/tradfi-instruments-most-traded)
# Availability
| Coverage | Start Date | Granularity |
| :------------------------------------------------------------------------------------------------------------------ | :--------- | :---------- |
| BITB, BITO, BITQ, BITX, BTC, COIN, CRCL, EETH, ETH, ETHU, GME, IBIT, MARA, MSTR, MSTU, MSTY, SATO, SBET, BMNR, ETHA | 2024-11-01 | 5 min |
| BITB, BITO, BITQ, BITX, BTC, COIN, CRCL, EETH, ETH, ETHU, GME, IBIT, MARA, MSTR, MSTU, MSTY, SATO, SBET, BMNR, ETHA | 2021-12-01 | Daily |
# Frequently Asked Questions
***
# Level 1 Quotes
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/tradfi/level-1-quotes
# Definition
Level 1 Quotes represent the best bid and ask prices and sizes for a given financial instrument, such as ETFs or crypto-related equities, at a specific point in time. These quotes provide the most competitive prices at which an asset can be bought or sold. The Level 1 Quotes data includes the initial observation of these prices for every timestamp. Additionally, it may encompass associated metrics such as implied volatilities, greeks, and relevant underlying asset prices, forming the foundational data for a wide range of market analytics and trading strategies.
# Details
Level 1 Quotes provide critical market data for traders and investors, offering insights into the pricing and liquidity of financial instruments such as ETFs or crypto-related equities.
# API Endpoints
[/TradFi Level 1 Quotes](/http/analytics/derivatives/tradfi-level-1-quotes)
# Availability
| Coverage | Start Date | Granularity |
| :------------------------------------------------------------------------------------------------------------------ | :--------- | :---------- |
| BITB, BITO, BITQ, BITX, BTC, COIN, CRCL, EETH, ETH, ETHU, GME, IBIT, MARA, MSTR, MSTU, MSTY, SATO, SBET, BMNR, ETHA | 2024-11-01 | 5 min |
| BITB, BITO, BITQ, BITX, BTC, COIN, CRCL, EETH, ETH, ETHU, GME, IBIT, MARA, MSTR, MSTU, MSTY, SATO, SBET, BMNR, ETHA | 2021-12-01 | Daily |
***
# Frequently Asked Questions
# Options Yields
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/tradfi/options-yields
# Definition
The "Options Yields" endpoint calculates yields for two widely-used options strategies designed for ETFs and crypto-related equities: the Covered Call and the Cash Secured Put. These strategies offer a way to generate income while managing exposure to the underlying asset.
* **Covered Call**: This strategy involves selling a call option while holding the underlying asset. The yield is calculated by comparing the proceeds from selling the call to the cost basis of the underlying asset. This approach allows investors to enhance returns when expecting minimal price movement in the underlying asset.
* **Cash Secured Put**: This strategy entails selling a put option while maintaining sufficient cash to purchase the underlying asset if the option is exercised. The yield is determined by the premium received from selling the put relative to the cash set aside, providing a potential income stream while preparing for a favorable entry into the underlying asset.
***
# Details
**Covered Call:**
* **Absolute Yield:** Calculated by dividing the proceeds from selling the call option by the initial investment in the underlying ETF or equity.
* **Annualized Yield**: Derived by multiplying the Absolute Yield by a factor representing the number of minutes in a year (525,600) divided by the minutes remaining until the option expires.
**Cash Secured Put:**
* **Absolute Yield**: Determined by dividing the proceeds from selling the put option by the initial cash balance reserved to secure the position.
* **Annualized Yield**: Calculated by multiplying the Absolute Yield by a factor representing the number of minutes in a year (525,600) divided by the minutes left until the option
# API Endpoints
[/TradFi Option Yields](/http/analytics/derivatives/tradfi-options-yields)
***
# Availability
| Coverage | Start Date | Granularity |
| ---------------------------------------------------------------------------- | ---------- | ----------- |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2024-11-01 | 5 min |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2021-12-01 | Daily |
***
***
# Term Structure Constant
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/tradfi/term-structure-constant
# Definition
The **Term Structure Constant** endpoint displays the at-the-money (ATM) implied volatility for fixed, standardized maturities, regardless of the actual expiration dates of the options for ETFs and crypto-related equities. This standardization allows for consistent comparisons across different assets and time horizons.
***
# Details
* Displays at-the-money (ATM) implied volatility for fixed, standardized time-to-expiration (DTE) values, such as 30 days, 60 days, 90 days, and more.
* Enables standardized comparisons of volatility across different time horizons, as the maturities remain constant regardless of actual expiration dates.
* Useful for analyzing the overall term structure of implied volatility and identifying potential mispricing or arbitrage opportunities in ETFs and crypto-related equities options markets.
# API Endpoints
[/TradFi Term Structures Constant](/http/analytics/derivatives/tradfi-term-structures-constant)
***
# Availability
| Coverage | Start Date | Granularity |
| ---------------------------------------------------------------------------- | ---------- | ----------- |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2024-11-01 | 5 min |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2021-12-01 | Daily |
***
# Realized Volatility (Close-to-Close)
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/tradfi/tradfi-realized-vol
# Definition
Realized volatility is a measure of the actual price fluctuations of a financial asset, such as ETFs or crypto-related equities, over a specified period based on historical data. It quantifies the degree to which the asset's price has changed over a set number of past trading sessions. This metric is commonly calculated using closing prices, with variations that may include methods like the Parkinson method, which captures volatility by considering the range of price movements. For ETFs and equities, realized volatility offers critical insights into historical market behavior, enabling portfolio managers and analysts to evaluate past price stability and assess potential risk in their investment strategies.
***
# Details
For realized volatility, the data includes 30-day, 90-day, and 180-day Parkinson realized volatility metrics calculated for the primary ETF or crypto-related equity specified in the query.
***
# API Endpoints
[/markets/derivatives/analytics/realized-volatility/tradfi](/http/analytics/derivatives/tradfi-realized-volatility-close-to-close)
***
# Availability
| Coverage | Start Date | Granularity |
| ---------------------------------------------------------------------------- | ---------- | ----------- |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2024-11-01 | 5 min |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2021-12-01 | Daily |
***
# TradFi Volatility Cones
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/tradfi/volatility-cones
# Definition
Volatility Cones provide a visualization of the percentile distribution of realized volatility for a specific ETF or crypto-related equity across multiple measurement windows, relative to a selected end date. This tool enables investors and analysts to examine how historical volatility has evolved over different time frames and evaluate potential future volatility ranges. By analyzing these cones, users can identify patterns and trends in volatility behavior, supporting more informed risk management strategies and enhancing decision-making in portfolio construction and trading activities.
***
# Details
This endpoint provides a detailed percentile distribution of realized volatility for a specified asset, such as an ETF or crypto-related equity. The distribution spans multiple measurement windows, enabling comprehensive analysis of volatility trends over various time frames. Results include metrics such as the minimum, maximum, and median realized volatility, offering insights into the range and central tendency of historical volatility
***
# API Endpoints
[/markets/derivatives/analytics/realized-volatility/cones/tradfi](/http/analytics/derivatives/tradfi-volatility-cones)
***
# Availability
| Coverage | Start Date | Granularity |
| ---------------------------------------------------------------------------- | ---------- | ----------- |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2024-11-01 | 5 min |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2021-12-01 | Daily |
# TradFi Volatility Metrics
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/tradfi/volatility-metrics
# Definition
The **Volatility Metrics** endpoint provides a 24-hour snapshot of key changes in the options volatility surface for ETFs and crypto-related equities between two specified timestamps. This data enables traders and analysts to quickly assess significant shifts in the options market landscape, such as changes in implied volatility levels or structural movements in the volatility surface, facilitating timely decision-making and strategy adjustments.
***
# Details
The \*\*Volatility Metrics \*\*endpoint provides key data points capturing changes in the options volatility surface for ETFs and crypto-related equities, including:
* **Underlying Price Change:** The difference in the price of the underlying ETF or equity between the two specified timestamps.
* **At-the-Money (ATM) Volatility Change**: The change in the implied volatility of at-the-money options, reflecting shifts in market expectations for future price movements.
* **Risk-Reversal Change**: The change in the volatility difference between out-of-the-money (OTM) call options and OTM put options with the same delta, offering insights into market sentiment and skew.
* **Butterfly Value Change**: The change in the implied volatility of a butterfly strategy involving a long ATM option, short two OTM options with the same delta, and long two OTM options with a higher delta, capturing shifts in volatility smile dynamics.
***
# API Endpoints
[/TradFi Volatility Metrics (24 hr)](/http/analytics/derivatives/tradfi-volatility-metrics-24-hr)
***
# Availability
| Coverage | Start Date | Granularity |
| ---------------------------------------------------------------------------- | ---------- | ----------- |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2024-11-01 | 5 min |
| BITX, BITO, COIN, EETH, ETHU, MARA, MSTR, MSTU, SATO, IBIT, SBET, BMNR, ETHA | 2021-12-01 | Daily |
***
# Volatility Cones
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/volatility-cones
# Definition
Volatility Cones provide a visualization of the percentile distribution of realized volatility for a specific spot trading pair across multiple measurement windows, relative to a selected end date. This data allows investors and analysts to observe how historical volatility has varied over different time frames and assess the potential range of future volatility. By analyzing these cones, users can identify patterns and trends in volatility behavior, which can inform risk management strategies and enhance decision-making in trading and portfolio management.
***
# Details
Using this Amberdata endpoint for derivatives realized volatility cones provides a detailed percentile distribution of realized volatility for a specific spot trading pair, such as BTC/USD on the GDAX exchange. This distribution is available across multiple measurement windows, allowing for a comprehensive analysis of volatility trends over different time frames.
For example, a query result could show the 180-day realized volatility is approximately 57.86%, with a minimum of 39.12% and a maximum of 112.16%. The 50th percentile (median) volatility for this period is 69.90%, indicating that half of the observed volatility values fall below this level. Again, this is an example of what the data can show.
***
# API Endpoints
[/Volatility Cones](/http/analytics/derivatives/volatility-cones)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| -------- | ----------------------- | ----------- |
| Binance | 2024-07-25 | Daily |
| GDAX | 2016-01-01 | Daily |
***
# Frequently Asked Questions
**How can volatility cone data from Amberdata be used to understand the historical behavior of a cryptocurrency's price movements over different time frames?**
* Volatility cones provide insights into the historical distribution of realized volatility for a specific trading pair across multiple measurement windows. By examining these cones through the Amberdata endpoint response, users can gain a deeper understanding of how a cryptocurrency's price volatility has evolved, helping them to identify patterns and trends that may influence future market behavior.
***
# Volatility Index and Volatility Index Decorated
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/volatility-index
# Definition
The "Volatility Index" is a VIX-like implied volatility index calculation maintained by Deribit for the Bitcoin (BTC) and Ethereum (ETH) cryptocurrency markets. It serves as a benchmark for the market's expectation of 30-day volatility in the underlying asset.
[](https://youtu.be/4LMvh-ZhrL8)
***
# Details
The Volatility Index is designed to reflect a 30-day constant expiration, similar to the CBOE Volatility Index (VIX) for traditional equity markets. The index is calculated based on the weighted average of out-of-the-money (OTM) BTC or ETH option prices, capturing the market's consensus on near-term future volatility.
The weighting scheme and other details of the calculation can be found here: [https://insights.deribit.com/exchange-updates/dvol-deribit-volatility-index-vix-index-for-comparison/](https://insights.deribit.com/exchange-updates/dvol-deribit-volatility-index-vix-index-for-comparison/)
In addition to the standard Volatility Index, we also provide a "Volatility Index Decorated" endpoint. This version of the index incorporates additional metadata to enhance the analysis and interpretation of the volatility index.
***
# API Endpoints
[/Volatility Index](/http/analytics/derivatives/volatility-index)
[/Volatility Index Decorated](/http/analytics/derivatives/volatility-index-decorated)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| -------- | ----------------------- | ----------- |
| Deribit | 2021-05-01 | Minutely |
***
***
# Volatility Metrics
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/volatility-metrics
# Definition
The "Volatility Metrics" endpoint provides users with a quick 24-hour snapshot of the key changes in the options volatility surface between two given timestamps. This allows for a quick assessment of the important shifts in the options market landscape.
***
# Details
Volatility Metrics returns several important metrics that capture the changes in the options volatility surface, including:
**Underlying Price Change:**
* The change in the price of the underlying asset (e.g., BTC, ETH) between the two timestamps.
**At-the-Money (ATM) Volatility Change:**
* The change in the implied volatility of the at-the-money options.
**Risk-Reversal Change:**
* The change in the volatility difference between out-of-the-money (OTM) call options and OTM put options with the same delta.
**Butterfly Value Change:**
* The change in the implied volatility of an options strategy that involves a long position in the ATM option, a short position in two OTM options (one call, one put) with the same delta, and a long position in two OTM options (one call, one put) with a higher delta.
***
# API Endpoints
[/Volatility Metrics](/http/analytics/derivatives/volatility-metrics-24-hr)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------- | ------------------------ | ----------- |
| Binance | 2025-03-07 | Minutely |
| Deribit | 2019-04-01 to 2021-09-01 | Hourly |
| Deribit | 2021-09-01 | Minutely |
| Bybit, Lyra, Thalex | 2024-06-01 | Minutely |
| OKEx (OKX) | 2021-12-16 to 2024-05-01 | Daily |
| OKEx (OKX) | 2024-05-01 | Minutely |
***
***
# Volatility Ratio
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/volatility-ratio
# Definition
The **Monthly versus Daily Volatility Ratio** is a measure that compares the realized volatility of a cryptocurrency asset over a monthly period to its daily realized volatility. This ratio helps investors assess how volatility changes when observed over longer versus shorter time frames. By utilizing this data, users can access precise calculations of this ratio, offering valuable insights into the asset's volatility patterns and risk characteristics.
This metric is particularly useful for understanding the stability of an asset's price movements and making informed decisions in portfolio management and risk assessment.
***
# Details
This endpoint returns the relationship/comparison of Parkinson realized volatility calculation using one monthly calculation versus 30 daily calculations. The reason these calculations might differ is due to mean-reversion, intra-month volatility, and trending markets.
***
# API Endpoints
[/Monthly versus Daily Volatility Ratio](/http/analytics/derivatives/monthly-versus-daily-volatility-ratio)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| --------------- | ----------------------- | ----------- |
| Binance | 2024-09-01 | Daily |
| GDAX (Coinbase) | 2016-01-01 | Daily |
***
# Frequently Asked Questions
**How can the Monthly versus Daily Volatility Ratio from Amberdata help investors assess the stability of a cryptocurrency's price movements over different time frames?**
* Investors and analysts use this metric to understand how volatility scales when comparing daily to monthly periods. By leveraging this Amberdata endpoint, users can gain insights into whether a cryptocurrency's volatility is consistent or varies significantly across these time frames, aiding in risk assessment and strategic decision-making for portfolio management.
***
# Volume Aggregates
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/volume-aggregates
# Definition
The Volume Aggregates endpoint provides the total traded options volume for a selected exchange and underlying currency. The volume data is divided into two categories: on-screen exchange volume and 3rd party **block trades** from platforms such as Paradigm, GreeksLive, etc.
***
# Details
The Volume Aggregates endpoint provides the following data fields:
* **Exchange**: The trading platform where the data was collected (e.g., Deribit).
* **Currency**: The currency of the underlying asset (e.g., BTC).
* **Timestamp**: The date and time of the data snapshot.
* **Contract Volume On-Screen**: The total volume of contracts traded directly on the exchange's order book.
* **Contract Volume Blocked**: The total volume of contracts traded through 3rd party platforms (block trades).
* **Premium Volume On-Screen**: The total premium amount for contracts traded on-screen.
* **Premium Volume Blocked**: The total premium amount for contracts traded through block trades.
* **Notional Volume On-Screen**: The total notional value of contracts traded on-screen.
* **Notional Volume Blocked**: The total notional value of contracts traded through block trades.
***
# API Endpoints
[/Volume Aggregates](/http/analytics/derivatives/volume-aggregates)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------------------------- | ----------------------- | ----------------------- |
| Binance | 2025-03-07 | Daily, Hourly, Minutely |
| Deribit | 2019-04-01 | Daily, Hourly, Minutely |
| Bybit, Lyra, Thalex, OKEx (OKX) | 2024-06-01 | Daily, Hourly, Minutely |
***
# Frequently Asked Questions
**What is included in "Contract Volume On-Screen" and "Contract Volume Blocked"?**
* \_Contract Volume On-Screen \_includes trades executed directly on the exchange, while \_Contract Volume Blocked \_covers trades executed through 3rd party platforms.
**How are "Premium Volume On-Screen" and "Premium Volume Blocked" different?**
* *Premium Volume On-Screen* is the total premium for contracts traded on the exchange, and *Premium Volume Blocked* is for contracts traded through block trades.
**What does "Notional Volume" represent?**
* *Notional Volume* refers to the total value of the contracts traded, both on-screen and through block trades.
***
# Trading Volumes
Source: https://docs.amberdata.io/data-dictionary/analytics/derivatives/volumes-add
# Definition
Volume provides an overview of the trading activity for futures and perpetual contracts of a cryptocurrency over the past day. It shows how much has been traded in both USD and the cryptocurrency itself, helping traders understand the level of market activity and liquidity.
***
# Details
The Rolling 24-Hour Volume measures the total trading volume for futures and perpetual contracts of an underlying asset within the last 24 hours. This data is presented in millions of USD and in units of the underlying cryptocurrency. By analyzing this metric, traders and analysts can assess market activity and liquidity, gaining insights into trading intensity and potential market dynamics.
***
# API Endpoints
[/Volumes](/http/analytics/derivatives/volumes)
***
# Availability
| Exchange | Start Date (YYYY-MM-DD) | Granularity |
| ------------- | ----------------------- | ----------- |
| All Exchanges | 2022-08-01 | Hourly |
***
# Frequently Asked Questions
**How does trading volume impact the liquidity and price movements in futures and perpetual markets?**
* Generally speaking, trading volume is a crucial indicator of market activity and liquidity. High trading volume in futures and perpetual markets typically signals strong interest and participation, which can lead to more stable prices and easier execution of trades. Conversely, low volume might indicate less liquidity, potentially resulting in larger price swings and increased slippage. Understanding the relationship between volume and market dynamics helps traders make informed decisions about entering or exiting positions.
***
# DeFi Lending
Source: https://docs.amberdata.io/data-dictionary/analytics/lending-market-insights
Datasets are available via REST API, Databricks, and Snowflake.
***
# Description
The DeFi Lending metrics are split between stablecoins, protocols, and networks. This dashboard on Amberdata Intelligence is restricted to three months of historical data and includes visualizations spanning across Avalanche, Arbitrum, Ethereum, Optimism, and Polygon in addition to all lending activity across Aave v2, Aave v3, Compound v2, Compound v3, and MakerDAO.
***
# Use Case
**Traders** can use this data to gain a perspective on potential collateral risks and high flow of funds into or out of DeFi Lending protocols and monitor the activity of specific protocols on multiple networks.
**Researchers** can use these visualizations to gain a thorough understanding of the impacts of DeFi Lending on token prices and evaluate how market cycles impact borrowing activity or liquidations.
**Analysts** can use these datasets for a variety of purposes, including:
* Monitoring deposit and withdrawal volumes for an indication of additional liquidity risks or support
* Evaluating borrow and repayment volumes for indications of wider liquidity or a large flow of funds across protocols and networks.
***
# Methodology
These dashboards utilize Amberdataβs DeFi Data endpoints: [Metrics](/docs/blockchain/lending-metrics) and [Stablecoin Metrics](/docs/blockchain/lending-stablecoin-metrics).
***
# Liquid Staking
Source: https://docs.amberdata.io/data-dictionary/analytics/liquid-staking
***
# Description
**Ethereum Liquid Staking Token Dashboard** highlights Ethereum-based liquid staking tokens and their associated yields and supply. Coverage includes:
* **Rocket Pool**: rETH
* **Lido**: stETH
* **Coinbase**: cbETH
* **Binance**: wbETH
* **Swell**: swETH
* **Ankr**: ankrETH
* **LiquidCollective**: lsETH.
***
# Use Cases
\*\*Traders: \*\*APY on liquid staking tokens is a key indicator for traders, as it impacts the profitability of short-term trading strategies. A high APY may signal an opportunity to buy and hold the token to benefit from staking rewards alongside potential price appreciation. Conversely, a declining APY might encourage traders to sell to avoid diminishing returns. Generally, higher yields also imply increased risk.
\*\*Researchers: \*\*Blockchain researchers study the economic incentives and behavioral trends within staking ecosystems. APY serves as a vital data point, reflecting how attractive staking mechanisms are to users. By analyzing APY trends, researchers can assess the health, stability, and investor confidence of staking protocols, providing insights into adoption dynamics and protocol success.
\*\*Analysts: \*\*Analysts use APY metrics to gauge the robustness of staking systems. A stable or rising APY often signals a healthy protocol and may inform positive investment recommendations. Additionally, analysts compare staking token APYs against traditional financial instruments and other crypto assets to shape portfolio and client investment strategies.
***
# Methodology
**APY Calculation**\
Each liquid staking token (LST) protocol emits events that provide exchange rate data linking the LST to its underlying ETH peg. The APY is calculated by comparing the exchange rate ratio from yesterday to the current ratio and annualizing the yield using the formula:
`APY= \left(\frac{\text{current_ratio}}{\text{yesterday_ratio}} - 1\right) \times 365 \times 100`
To smooth short-term fluctuations, a rolling average APY over 7-day and 30-day windows is calculated:
`RollingΒ APY=AVG(apr)Β OVERΒ (ORDERΒ BYΒ dateΒ ASCΒ ROWSΒ BETWEENΒ 6Β PRECEDINGΒ ANDΒ CURRENTΒ ROW)`
***
### Relevant Contract Events for LST APY Calculation
| Token | Event Name | Event Signature (Topic 0) |
| :------ | :---------------------- | :----------------------------------------------------------------- |
| rETH | balance\_updated | 0x7bbbb137fdad433d6168b1c75c714c72b8abe8d07460f0c0b433063e7bf1f394 |
| ankrETH | ratio\_updated | 0xb779c97cee7508e970bdead8c3ef0bd16f8c63dbba28fe88f7c7a56722fc564d |
| cbETH | exchange\_rate\_updated | 0x0b4e9390054347e2a16d95fd8376311b0d2deedecba526e9742bcaa40b059f0b |
| lsETH | rewards\_earned | 0x3d1669e813a9845c288f0e1f642a4343a451103b87886d12de37e63b39bbd942 |
| stETH | token\_rebase | 0xff08c3ef606d198e316ef5b822193c489965899eb4e3c248cea1a4626c3eda50 |
| swETH | token\_reprice | 0xf0e4379b3fd6b436bf73f47761c746a33d02bbd47835cbd8050b130fb2c6db2e |
| wbETH | exchange\_rate\_updated | 0x0b4e9390054347e2a16d95fd8376311b0d2deedecba526e9742bcaa40b059f0b |
# Re-Staking: EigenLayer
Source: https://docs.amberdata.io/data-dictionary/analytics/liquid-staking-copy
***
# Description
EigenLayer is a protocol that has introduced **re-staking**, which allows users to use the security of Ethereum to secure other networks. This is done by bonding LST to the EigenLayer contract to secure other protocols. In exchange for re-staking, re-stakers will receive protocol fees and rewards for providing this security.
***
# Use Case
\*\*Traders: \*\*Re-staking Ethereum allows traders the ability to retain liquidity while at the same time speculating on this entire new crypto primitive. Re-staking Ethereum aligns with their strategic approach of harnessing various investment tools to optimize profit potential, reinforcing their position in the ever-evolving digital asset landscape.
\*\*Researchers: \*\*Researchers can analyze the economic incentives driving participants to engage in re-staking, exploring its potential impact on Ethereum's ecosystem dynamics and long-term sustainability. Additionally, they use this data to understand the incentive structure, potential benefits, and risks of the entire re-staking ecosystem.
**Analysts:** It is important for analysts to understand staking rewards, slashing conditions, and network participation rates to gauge the potential returns and associated risks of engaging in re-staking activities. Furthermore, analysts monitor Ethereum's on-chain metrics and network health indicators to identify emerging trends and potential opportunities for optimizing staking strategies.
***
# Methodology
* **TVL:** Total Value Locked (TVL) for the protocol is calculated by summing all deposits and withdrawals into EigenLayer and multiplying the net token amounts by their respective market prices. TVL is reported both in native token quantities and USD value.
* **Amount Staked (LST / Native ETH):** The daily total of Liquid Staking Tokens (LST) and native ETH deposited into EigenLayer contracts is calculated, along with the cumulative daily balance over time.
* **Daily Depositors:** The count of unique wallet addresses depositing into EigenLayer contracts each day is tracked.
* **Pod Deployed:** Every new pod creation event is recorded daily, and cumulative totals of pods deployed are maintained.
* **LST Delegation to Operators:** Users staking on EigenLayer may delegate their LST to Operators who support Autonomous Validator Services (AVSs). Delegation volume (in ETH/LST) per operator is analyzed to identify the largest and most popular operators.
* **Number of Stakers to Operators:** The total count of unique wallets delegating to each operator is tracked, helping to illustrate the distribution of staked ETH and the number of participants.
* **AVS Overview:** Monitors deployed and created AVSs, providing insight into areas of focus and activity within the AVS ecosystem.
* **Registered AVS:** Tracks operator events registering AVSs, allowing monitoring of which operators support which AVSs.
***
# Liquid vs Illiquid Supply
Source: https://docs.amberdata.io/data-dictionary/analytics/liquid-vs-illiquid-supply
***
# Description
Daily address balance metrics provide insights into the diversity of the network and changes to network adoption.
* Balance changes represent every change in token balance for every address
* Address balances contain a daily list of addresses and the total balance of tokens they hold
* BTC balance buckets contain an aggregation of the number of addresses and total number of tokens held by addresses with various balances (in 1e10 increments ranging from 0 and 0.000001 BTC to 10,000+ BTC)
* USD balance buckets contain an aggregation of the number of addresses and total number of tokens held by addresses with various balances (in 1e10 increments ranging from 0 to \$10,000,000 USD)
* Addresses in profit count the total number of addresses with an average token price (tokens are valued at the day they move to the address) greater than the end-of-day price, and the total number of tokens held by those addresses.
* Liquid vs illiquid supply calculates the number of tokens held by addresses with a liquidity score in various ranges. The liquidity score is calculated as the ratio between outputs and inputs. The ranges are:
* 0 - 0.25: The address is considered illiquid
* 0.25 - 0.75: The address is considered liquid
* 0.75 - 1: The address is considered highly liquid
**Addresses in Profit:**
This metric shows what percent of the total address space is in a profitable position, or the percentage of unique addresses whose assets have an average buy price that is lower than their current price.
**Liquid vs Illiquid supply:**
Understanding an asset's liquidity is crucial to understanding its market. If an asset is highly illiquid, it could indicate a bullish environment and strong HODLing sentiment.
***
# Use Cases
\*\*Traders \*\*can use these metrics to understand the shifts in network behaviors, as growth or decline in address balances, movement of liquid to illiquid balances, and growth or decrease of addresses in profits may help traders make more informed decisions on when to buy and when to sell.
\*\*Analysts \*\*can use these metrics to support profitability and wallet metrics for their portfolios.
**Researchers** can use these metrics to determine market trends and discover patterns in network behaviours.
***
# Methodology
The liquidity score for every address is calculated as the cumulative absolute sum of outputs divided by the cumulative sum of inputs. This ratio is considered the **liquidity score.** Every address will have a liquidity score every time its balance changes.
* WHEN b.liquidity\_score \<= 0.25 THEN 'illiquid'
* WHEN b.liquidity\_score \<= 0.75 THEN 'liquid'
* ELSE 'highly liquid'
***
# Market Cap vs Realized Cap
Source: https://docs.amberdata.io/data-dictionary/analytics/market-cap-vs-realized-cap
***
# Description
Realized Capitalization (Realized Cap) represents the value of an asset based on the price at which it was last moved. This metric is available for both ETH and BTC, providing a comparison between traditional Market Cap and Realized Cap.
***
# Use Cases
Realized Cap serves as an alternative measure to Market Cap. While Market Cap reflects the total value of assets at the current price, Realized Cap reflects the value of all assets at the last price they moved. It can also be interpreted as the aggregate cost basis of all coins within a network, representing the cumulative value of all assets based on their last transaction price.
Due to the calculation methodology, older assets have significant influence on Realized Cap because they were last moved at earlier, often lower prices. When older tokens move, their value is re-priced at the current price, potentially causing substantial shifts in Realized Cap.
When Realized Cap exceeds Market Cap, the network is considered to be at an aggregate loss (out of profit). Conversely, when Realized Cap is lower than Market Cap, the network is in aggregate profit.
***
# Methodology
* **Market Cap** = Total supply Γ Current price
* **Realized Price** = Amount Γ Price at time of last movement
For UTXO-based assets like BTC, the calculation is straightforward since each output has a defined creation price at spend time. For account-based chains like ETH, the calculation is more complex.
The methodology for ETH uses a Last In, First Out (LIFO) stack-based accounting model for determining the price of tokens, inspired by [Stack Coin Age model | Santiment Academy](https://academy.santiment.net/metrics/details/stack-coin-age-model/#account-based-blockchains).
***
***
# Overview
Source: https://docs.amberdata.io/data-dictionary/analytics/market-insights
Built for asset managers, researchers, analysts, and traders, [Amberdata Intelligence](https://intelligence.amberdata.com/) is a hub of institutional market dashboards developed with the most granular digital asset data available.
The metrics and data used to make Amberdata Intelligence charts are updated daily and are available via REST API, AWS S3, Snowflake, and Databricks. Please refer to the individual pages below to find delivery methods for each dataset.
# History
Source: https://docs.amberdata.io/data-dictionary/analytics/market-insights-history
All metrics unless otherwise stated are available via Databricks, and Snowflake.
# Institutional Bitcoin Market Indicators
| Metric | Dataset Start (YYYY-MM-DD) |
| -------------------------------- | -------------------------- |
| Balance Bucket Daily | 2012-01-01 |
| HODL Net Position Change Daily | 2012-01-02 |
| HODL Net Position Change Monthly | 2012-01-02 |
| HODLed Coins Daily | 2012-01-01 |
| Liveliness Daily | 2012-01-01 |
| Miner Supply Mined Spent Daily | 2012-01-01 |
| Coin Days Destroyed Daily | 2012-01-01 |
| MVRV Daily | 2012-01-01 |
| NUPL Daily | 2012-01-01 |
| Price Moving Average | 2012-01-01 |
| Puell Multiple Daily | 2012-01-01 |
| Realized Cap Daily | 2012-01-01 |
| Realized Price Daily | 2012-01-01 |
| Reserve Risk Daily | 2012-01-01 |
| Bitcoin Yardstick Daily | 2015-01-01 |
| Liquid vs Illiquid Supply | 2009-01-03 |
| Balance Buckets USD | 2012-01-01 |
| Address Momentum Daily | 2009-01-03 |
| Stock to Flow | 2010-01-03 |
| Supply in Profit | 2012-01-01 |
| HODL Waves | 2009-01-03 |
# Institutional Ethereum Market Indicators
| Metric | Dataset Start (YYYY-MM-DD) |
| ---------------------------- | -------------------------- |
| Stablecoin Issuance | 2017-11-28 |
| Realized Cap | 2015-08-09 |
| MVRV Daily | 2016-01-01 |
| Realized Price | 2015-08-09 |
| NUPL Daily | 2016-01-01 |
| Price Moving Average | 2016-01-01 |
| Balance Bucket Daily | 2015-07-30 |
| Liquid/Illiquid Supply Daily | 2015-07-30 |
| Address Momentum Daily | 2015-08-07 |
| Address USD Balance Buckets | 2016-03-09 |
# Ethereum Network Metrics
| Metric | Dataset Start (YYYY-MM-DD) |
| -------------------------- | -------------------------- |
| Ethereum Supply | 2015-07-30 |
| Active Ethereum Validators | 2020-11-03 |
# USD Stablecoin Metrics
| Token | Dataset Start (YYYY-MM-DD) |
| ----- | -------------------------- |
| DAI | 2019-11-13 |
| FDUSD | 2023-05-26 |
| FEI | 2021-04-03 |
| FRAX | 2020-12-16 |
| HUSD | 2019-07-20 |
| LUSD | 2021-04-05 |
| MIM | 2021-06-02 |
| PYSUD | 2023-01-24 |
| TYUSD | 2018-03-05 |
| USDC | 2018-09-10 |
| USDT | 2017-11-28 |
# EUR Stablecoin Metrics
| Dataset | Dataset Start (YYYY-MM-DD) |
| ------------------- | -------------------------- |
| Issuance | 2018-06-22 |
| Circulating Supply | 2018-06-22 |
| Market Cap | 2018-06-22 |
| Transfers | 2018-06-22 |
| Senders & Receivers | 2018-06-22 |
| Velocity | 2018-06-22 |
| Holders | 2018-06-22 |
# Digital Commodities Stablecoin Metrics
| Dataset | Dataset Start (YYYY-MM-DD) |
| ------------------- | -------------------------- |
| Issuance | 2018-03-23 |
| Circulating Supply | 2018-03-23 |
| Market Cap | 2018-03-23 |
| Transfers | 2018-03-23 |
| Senders & Receivers | 2018-03-23 |
| Velocity | 2018-03-23 |
| Holders | 2018-03-23 |
# Treasury-Backed RWA
| Treasury | Dataset Start (YYYY-MM-DD) |
| ---------- | -------------------------- |
| Backed | 2023-03-06 |
| Blackrock | 2024-03-04 |
| Hashnote | 2023-06-13 |
| Maple | 2023-05-04 |
| MatrixDock | 2023-01-18 |
| Ondo | 2023-01-26 |
| OpenEden | 2023-10-18 |
| USTB | 2024-01-04 |
# Digital Asset ETFs
| Asset | Dataset Start (YYYY-MM-DD) |
| ----- | -------------------------- |
| BTC | 2024-01-11 |
| ETH | 2024-07-24 |
# Options Trading Overview
| Dataset Start (YYYY-MM) |
| ----------------------- |
| 2019-04 |
# Spot Trading Overview
| Exchange | Dataset Start (YYYY-MM-DD) |
| ----------- | -------------------------- |
| Binance | 2017-07-13 |
| Binance.US | 2019-09-17 |
| Bitfinex | 2013-01-14 |
| Bithumb | 2013-12-27 |
| Bitstamp | 2011-08-18 |
| Bybit | 2021-07-05 |
| Coinbase | 2014-12-01 |
| Gemini | 2015-10-08 |
| HTX (Huobi) | 2019-01-31 |
| Kraken | 2013-10-06 |
| LMAX | 2018-02-15 |
| MEXC | 2022-10-16 |
| OKX | 2019-07-11 |
| Poloniex | 2014-02-07 |
# Liquid Staking and Re-Staking
| Liquid Staking - APYs | Dataset Start (YYYY-MM-DD) |
| --------------------- | -------------------------- |
| wbETH | 2023-04-19 |
| sweth | 2023-04-24 |
| oETH | 2023-04-30 |
| ankrETH | 2023-03-09 |
| rETH | 2022-07-15 |
| cbETH | 2022-07-16 |
| stETH | 2022-09-01 |
| lsETH | 2023-10-02 |
| Liquid Staking - Supply | Dataset Start (YYYY-MM-DD) |
| ----------------------- | -------------------------- |
| wbETH | 2023-04-25 |
| osETH | 2023-11-16 |
| oETH | 2023-04-18 |
| sfrxETH | 2023-10-06 |
| swETH | 2023-04-18 |
| ankrETH | 2020-11-20 |
| rETH | 2021-10-02 |
| mETH | 2023-10-10 |
| cbETH | 2022-02-07 |
| stETH | 2023-05-16 |
| lsETH | 2023-06-02 |
| Re-Staking Metrics | Dataset Start (YYYY-MM-DD) |
| ---------------------------- | -------------------------- |
| TVL | 2023-06-10 |
| Native Staked ETH | 2023-06-10 |
| TVL by asset | 2023-06-10 |
| Depositors Daily | 2023-06-10 |
| Daily Balance Change | 2023-06-10 |
| EigenLayer - **All Metrics** | 2024-04-08 |
# DeFi Lending
| Protocol | Ethereum | Polygon | Arbitrum | Optimism | Avalanche |
| ----------- | ---------- | ---------- | ---------- | ---------- | ---------- |
| Aave v2 | 30-11-2020 | - | - | - | 04-10-2021 |
| Aave v3 | 27-01-2023 | - | 15-03-2022 | 15-03-2022 | 12-03-2022 |
| MakerDAO | 13-11-2019 | - | - | - | - |
| Compound v2 | 07-05-2019 | - | - | - | - |
| Compound v3 | 01-09-2022 | 07-03-2023 | - | - | - |
Dates are shown in (DD-MM-YYYY).
***
# Options Trading
Source: https://docs.amberdata.io/data-dictionary/analytics/market-insights-options
Note: This dataset is updated hourly and available via Databricks, and Snowflake.
***
# Description
This dashboard provides key aggregations of volume and open interest for the entire cryptocurrency options market as monitored by Amberdata. Currently, this includes Deribit, Okex, and Bybit, which together represent approximately 95% of the total crypto options market.
All metrics on this page are expressed in nominal US dollar values.
* **Volumes**: Volumes represent the nominal values traded in the last 24 hours.
* **Open Interest**: Open interest represents the nominal values of open contracts.
Typically, high volumes and high open interest indicate significant market activity and heightened volatility.
For our full options analytics suite, please go to [Amberdata Derivatives](https://pro.amberdata.io/).
***
# Use Case
\*\*Researchers: \*\*This dataset enables comprehensive analysis of the evolving options market, a growing segment within the broader derivatives landscape, which remains largely dominated by futures. Researchers can track trends over time and across multiple assets and exchanges, allowing for the identification of structural patterns and market behavior.
\*\*Analysts: \*\*For market participants seeking strategic insights, monitoring instruments with elevated open interest or trading volume may indicate areas of concentrated activity and liquidity. Such observations can inform positioning, risk assessment, and potential market inefficiencies.
***
# Methodology
Data is sourced from the specified endpoint, updated on an hourly basis, and aggregated from the fundamental unit of each instrument per exchange. Each exchange defines its own technical specifications for quoting instrumentsβsome denominate values in native assets (e.g., BTC options on Deribit), while others use stablecoins (e.g., BTC options on Bybit quoted in USDC).
To enable cross-exchange and cross-instrument comparison, contract values have been standardized to U.S. dollar equivalents. This normalization accounts for exchange-specific multipliers and contract structures, ensuring consistency across the dataset.
***
# Spot Trading
Source: https://docs.amberdata.io/data-dictionary/analytics/market-insights-spot-data
Note: This dataset is updated daily and available via Market Data API only.
***
# Description
Spot trading metrics offer a detailed view of activity across centralized exchanges (CEXs), highlighting both platform-level and trading pair-level dynamics. The associated dashboards are organized into three thematic categories: exchange overviews, USD and stablecoin overviews, and frequently traded token overviews. These views collectively support the analysis of ongoing and historical trends in the spot market. Access via the AmberLens platform is limited to three months of historical data.
***
# Use Case
**Traders:** Spot trading metrics can be used to evaluate exchange-level trade histories, including market share by trading volume across exchanges and token categories. Frequently traded tokens are analyzed to assess their influence on overall market activity. Historical data on trading pairs supports the identification of momentum shifts, highlighting pairs gaining or losing market traction over time.
\*\*Researchers: \*\*Researchers focused on market microstructure or the impact of external events can utilize spot trading metrics to assess shifts in trading activity across exchanges. The data supports correlation analyses with macroeconomic trends, token-specific developments, or regulatory events.
**Analysts**: Market analysts often rely on trading volume and market share metrics to assess exchange performance, identify potential shifts in exchange profitability, or evaluate the impact of token listings and delistings. These insights also contribute to sentiment analysis within the broader centralized exchange ecosystem.
***
# Methodology
The dashboards are powered by Amberdataβs Market Data endpoints, specifically the **OHLCV** (Open, High, Low, Close, Volume) and **Metrics** APIs. Data is aggregated at regular intervals and normalized across exchanges to ensure consistency in comparative analysis.
***
# Market Value: Realized Value (MVRV)
Source: https://docs.amberdata.io/data-dictionary/analytics/market-value-realized-value-mvrv
***
# Description
The MVRV Z-Score measures the deviation between an assetβs market value and its realized value. It is commonly used to identify periods when the market may be overheated (overvalued) or undervalued relative to historical norms. Elevated Z-Scores often coincide with market tops, while suppressed scores may indicate potential market bottoms. This metric is available for both Bitcoin (BTC) and Ethereum (ETH).
***
# Use Cases
The MVRV Z-Score is a valuable tool for evaluating market cycles and assessing whether an asset is trading above or below its aggregated cost basis. It can assist in identifying overbought or oversold conditions, drawing comparisons between historical valuation extremes, and informing strategic decisions such as accumulating during undervalued phases or reducing exposure near potential peaks.
***
# Methodology
**MVRV Z-Score** = (Market Cap - Realized Cap) / Std(Market Cap)
The standard deviation is computed cumulatively from the inception of the dataset to the present day, providing a dynamic normalization of the deviation between market and realized capitalization values.
***
***
# Miner Position Index
Source: https://docs.amberdata.io/data-dictionary/analytics/miner-position
***
# Description
The Miner Position Index (MPI) is the z-score ratio of miner outflows to the 365-day moving average.
The MPI is an indicator of how much of the supply held by miners moved out as compared to the 365-day moving average of miner outflows. As the metric increases, miners are more involved in selling and sending their supply more than usual. As the metric decreases, miners are less involved in selling and sending their supply less than usual.
***
# Use Case
\*\*Traders \*\*can use this to evaluate increases in BTC supply from miners or a slower increase in supply from miners.
\*\*Analysts \*\*can use this metric to evaluate how miners are positioning based on the market cycle.
\*\*Researchers \*\*can use this metric to identify patterns in supply/demand during market peaks (such as ATHs).
***
# Methodology
**MPI** = Moving 365-day z-score (capitulation index)
**Capitulation Index** = Sum(Miner Outflows) / 365 DMA\_Sum(Miner Outflows)
***
# Frequently Asked Questions
**How often is this chart updated?**
* Daily.
***
# Miner Supply Spent
Source: https://docs.amberdata.io/data-dictionary/analytics/miner-supply-spent
***
# Description
**Percentage of Miner Supply Spent**, also referred to as **Miner Supply Sold**, represents the daily percentage of miner-held balances that have been spent or sold, rather than accumulated.
This metric is used to monitor miner behavior, which can influence market supply dynamics. Bitcoin miners often liquidate holdings to cover operational expenses or distribute profits. As miner sell-offs increase, additional Bitcoin enters the market, potentially exerting downward pressure on prices.
Miner behavior also serves as an indicator of network health. A larger, more active miner base contributes to decentralization. Accumulation by miners is generally considered a bullish signal, as it suggests delayed entry of those tokens into market circulation.
***
# Use Case
**Traders** can use this metric to sell ahead of miners.
\*\*Analysts \*\*can track this metric to evaluate and compare the health of the network.
\*\*Researchers \*\*can use this metric to identify correlations between miner activity and overall market sentiment.
***
# Methodology
**Percent of Miner Supply Sold** = Spent Tokens from Miners / Supply.
***
# Frequently Asked Questions
**How often is this chart updated?**
* Daily.
***
# Monthly HODL Net Position Change
Source: https://docs.amberdata.io/data-dictionary/analytics/monthly-hodl-net-position-change
***
# Description
[Liveliness](https://medium.com/@tamas.blummer/liveliness-of-bitcoin-174001d016da) is the ratio between the sum of Bitcoin Days Destroyed and the sum of all Bitcoin Days Ever Created. It reflects investor behavior on the network, increasing as long-term holders liquidate positions and decreasing during accumulation phases. A high Liveliness indicates a higher rate of meaningful on-chain activity, whereas a lower Liveliness suggests that a greater portion of supply is inactive or being held.
Liveliness approaches 1 if all coins move within a single block and trends toward 0 in a network where coins remain dormant aside from issuance. It provides insight into whether the network is primarily being used for transactions or long-term holding.
The number of βLost or HODLed Bitcoinsβ can be derived by subtracting Liveliness from 1 and multiplying the result by t**he t**otal supply. This value tends to decrease during bull markets, when more coins are spent or traded, and increase during periods of low price volatility, when accumulation is more common.
**HODLer Net Position Change** measures the net accumulation or distribution of Bitcoin by long-term holders. It reflects changes in the total balance of these holders over time.
During bull markets, this metric tends to decline as long-term holders sell into rising prices. Conversely, it rises in bear markets or periods of consolidation, when these participants accumulate more Bitcoin.
While **Liveliness** measures overall investor activity across the network, **HODLer Net Position Change** focuses specifically on behavior among large, long-term holders.
***
# Use Case
**Traders** use these metrics by staying ahead of whale activity, which can dramatically shift token prices.
**Analysts** use these metrics to identify the stage of the market.
\*\*Researchers \*\*use these metrics to find patterns of whale activity to token prices, and to find measures of network activity (liveliness) to adoption rates.
***
# Methodology
**Coin Days Created (CDC)** = Cumulative Sum of (Issuance \* Reward Days Created)
**Liveliness** = SUM(Coin Days Destroyed) / SUM(CDC)
\*\*HODLed Coins \*\*= (1 - Liveliness) \* Supply
**HODLer Net Position Change** = Daily or monthly change in HODLed Coins
***
# Net Unrealized Profit / Loss (NUPL)
Source: https://docs.amberdata.io/data-dictionary/analytics/net-unrealized-profit-loss-nupl
***
# Description
**Net Unrealized Profit/Loss (NUPL)** is calculated as the difference between an assetβs Market Capitalization and its Realized Capitalization. Realized Cap refers to the aggregate value of all coins based on the price at which they last moved. NUPL, therefore, represents the theoretical net profit or loss that would be realized if all coins in circulation were sold at the current market price.
This metric also includes the unrealizable profits or losses associated with lost or inactive coins, which cannot be sold but still impact the calculation.
Adamant Capital, the originators of the metric, note that while NUPL reflects the total dollar value of paper gains and losses in a network like Bitcoin, it does not account for relative scale. To address this, **Relative Unrealized Profit/Loss** is usedβNUPL divided by Market Capβto normalize sentiment signals over time and across market cycles.
Amberdata provides NUPL data for both Ethereum (ETH) and Bitcoin (BTC).
***
# Use Case
\*\*Traders: \*\*NUPL can serve as a measure of opportunity cost risk. As NUPL increases, the unrealized gains held by participants also rise, potentially indicating elevated incentive to sell and capture profits. This can provide signals around market turning points or investor behavior under stress.
\*\*Analyst: \*\*Analysts can use NUPL to evaluate market-wide positioning and sentiment, helping to assess whether a network is in a profit-taking or accumulation phase. The metric may also support forecasting potential inflection points based on historical profit/loss behavior.
\*\*Researcher: \*\*NUPL supports research into the relationship between price action and investor psychology. It can help quantify correlations between sentiment, profit-taking behavior, and price trends. For instance, researchers may study how long a new all-time high in NUPL persists before reversing, potentially offering insight into broader market cycles.
***
# Methodology
**Relative Unrealized P/L** = (Realized Cap - Market Cap) / Market Cap.
***
# New Address Momentum
Source: https://docs.amberdata.io/data-dictionary/analytics/new-address-momentum
***
# Description
The New Address Momentum provides insights into the activity and growth of addresses within the cryptocurrency ecosystem. It encompasses various metrics, including the total number of unique addresses, new addresses (both inputs and outputs), passive addresses with inputs, active addresses with outputs, and the moving averages of new addresses over 30 and 365 days. Active addresses represent those involved in transactions, while passive addresses remain inactive. Notably, the inclusion of centralized exchanges (CEXs) accounts for significant address consolidation. This metric covers ETH and BTC and is crucial for understanding address dynamics and overall network activity.
***
# Use Case
**Traders** use these metrics to determine if active addresses increase (buy signal) or decrease (sell signal).
**Analysts** use these metrics to develop risk metrics on a network.
\*\*Researchers \*\*use these metrics to find the correlation between new addresses or addresses with transactions and other data, such as ordinal transactions or ETF interest.
***
# Methodology
New addresses (inputs and outputs):
1. 30 Day MA: 30-day moving average (DMA) on new addresses (first input or output)
2. 365 Day MA: 365-day moving average (DMA) on new addresses (first input or output)
Passive Addresses / Inputs:
1. Daily inputs (addresses and transaction date)
2. Passive Addresses: Number of addresses with an input per day
3. New Inputs: Count distinct of every input address per day on the first instance of an address as an input
Active Addresses / Outputs:
1. Daily outputs (addresses and transaction date)
2. Active Addresses: Number of addresses with an output per day
3. New Outputs: Count distinct of every output address per day on the first instance of an address as an output
***
***
# Pi Cycle
Source: https://docs.amberdata.io/data-dictionary/analytics/pi-cycle
***
# Description
The Pi Cycle Top is used as an indicator for market βoverheatingβ, and has been attributed to βpredictingβ 4 different cycle tops. This indicator is used as a sell signal when the price peaks before pulling back. When the 111-day moving average (DMA) crosses or touches the 2x 350 DMA, it is an indicator for the top of the price cycle.
Coverage includes BTC and ETH.
***
# Use Case
**Traders** use pi cycle as a signal for the price top of the current cycle.
**Analysts** use this as an indicator for the current cycle state.
**Researchers** correlate this metric with other metrics to identify patterns of adoption,
***
# Methodology
The Pi Cycle Top Indicator is composed of the 111-day moving average and 2x 350-day moving average.
***
***
# Overview
Source: https://docs.amberdata.io/data-dictionary/analytics/puell-multiple
***
# Description
The Puell Multiple is a market indicator that measures Bitcoin miner profitability relative to historical norms. It reflects price movements and is used to identify phases within the broader Bitcoin market cycle.
When the Puell Multiple is low, it means the daily USD value of newly minted BTC is below its yearly averageβoften signaling potential market bottoms. Conversely, high values suggest that newly minted BTC is worth more than the annual average, which may indicate overheated conditions and potential market tops.
This metric implicitly assumes that miner operational costs are relatively stable. As the price of Bitcoin rises, so does the value of mined BTC, improving miner profitability.
***
# Use Cases
\*\*Traders \*\*use the Puell Multiple as a signal for when miner revenue is higher than historical norms and when the price is likely to drop (being too high) or bounce (being too low).
**Analysts** use the Puell Multiple to forecast trends in Bitcoin prices.
\*\*Researchers \*\*use the Puell Multiple to help determine the current trading cycle.
***
# Methodology
**Puell Multiple** = *Daily Issuance Value (USD)* Γ· *365-Day Moving Average of Daily Issuance Value (USD)*
* **Daily Issuance Value**: The total USD market value of BTC newly mined each day.
* **365-Day Moving Average**: The rolling one-year average of the daily issuance value.
This ratio normalizes daily miner revenue against a long-term average, allowing for cycle-based analysis.
***
# Frequently Asked Questions
**What Puell Multiple value typically indicates miner profit or loss?**
* A Puell Multiple of 1.0 or higher generally indicates that miners are operating at a profit. Values below 1.0 suggest that miners may be under financial pressure.
**How often is the Puell Multiple updated?**
* The metric is updated daily.
***
# Overview
Source: https://docs.amberdata.io/data-dictionary/analytics/realized-price
***
# Description
**Realized Capitalization (Realized Cap)** measures the value of each unit of a cryptocurrency based on the price at which it last moved on-chain. In contrast to **Market Capitalization**, which values all units at the current market price, Realized Cap reflects the collective cost basis of market participants.
**Realized Price** is calculated as: **Realized Price = Realized Cap / Supply**
This represents the average price paid for all circulating coins, based on the last time each coin moved on-chain.
* When **Realized Cap > Market Cap**, the network is in an aggregate unrealized loss.
* When **Realized Cap \< Market Cap**, the network is in aggregate profit.
* When **Market Price > Realized Price**, market participants are generally in profit.
* When **Market Price \< Realized Price**, participants are generally in loss.
Coverage includes **Bitcoin (BTC)** and **Ethereum (ETH)**.
***
# Use Case
\*\*Traders: \*\*Realized Cap can help determine whether activity is primarily off-chain (e.g., on centralized exchanges) or on-chain (e.g., DEX transactions or wallet transfers).
\*\*Analysts: \*\*Realized Cap and Realized Price provide insight into whether the market is in a phase of accumulation, profit-taking, or loss realization.
\*\*Researchers: \*\*Realized Cap enables comparisons between the crypto market cycle and traditional assets by aligning network valuation trends with macroeconomic indicators or commodity cycles.
***
# Methodology
Realized Price = Realized Cap / Supply
***
# Reserve Risk
Source: https://docs.amberdata.io/data-dictionary/analytics/reserve-risk
***
# Description
**Reserve Risk** is an indicator that measures the confidence of long-term holders relative to the current price of Bitcoin. It reflects the balance between price and conviction. A low Reserve Risk value suggests high confidence among long-term holders while the asset is undervalued. Conversely, a high Reserve Risk value suggests low confidence during periods of elevated price, indicating increased speculative risk.
Reserve Risk is designed to identify optimal periods for capital deployment based on long-term holder sentiment. Historically, periods of low Reserve Risk have been associated with outsized long-term returns, while periods of high Reserve Risk have preceded market corrections or sustained downtrends.
Coverage is currently available for **Bitcoin (BTC)** only.
***
# Use Case
Reserve risk can help traders understand when it is a good time to buy and researchers to analyze the confidence of long-term holders.
***
# Methodology
Reserve Risk = Price / HODL Bank
HODL Bank = cumulative sum(price - median value of Coin Days Destroyed)
***
***
# Sample Data
Source: https://docs.amberdata.io/data-dictionary/analytics/sample-data
Below are some sample datasets from the institutional metrics in CSV format.
| Metric Name | Sample Files |
| -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ***Institutional Bitcoin Market Indicators*** | |
| Bitcoin Price and Moving Averages | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_price_moving_average+-+amberLens+Sample.csv) |
| Market Cap vs Realized Cap | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_marketcap_v_realized_price+-+amberLens+Sample.csv) |
| Bitcoin Yardstick | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_yardstick+-+amberLens+Sample.csv) |
| MVRV | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_mvrv+-+amberLens+Sample.csv) |
| Reserve Risk | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_reverse_risk+-+amberLens+Sample.csv) |
| Pi Cycle | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_pi_cycle+-+amberLens+Sample.csv) |
| Stock to Flow | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_stock_to_flow+-+Sheet1.csv) |
| Realized Price | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_realized_price+-+amberLens+Sample.csv) |
| NUPL | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_nupl+-+amberLens+Sample.csv) |
| Bitcoin HODLed or Lost | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_hodled_or_lost+-+amberLens+Sample.csv) |
| Monthly HODL Net Position Change | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_monthly_hodl_net_position_change+-+amberLens+Sample.csv) |
| Liquid vs Illiquid Supply | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_liquid_v_illiquid+-+amberLens+Sample.csv) |
| Percent of Supply in Profit | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_percent_supply_in_profit+-+amberLens+Sample.csv) |
| BTC HODL Waves | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_hodl_waves+-+amberLens+Sample.csv) |
| BTC Balance Buckets: Number of Addresses, BTC Balance Buckets: Supply Held | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_balance_bucket_num_addresses+-+amberLens+Sample.csv) |
| USD Balance Buckets: Number of Addresses | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_usd_balance_bucket_num_address+-+amberLens+Sample.csv) |
| Daily Address Activity, New Address Momentum, Daily New Addresses | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_daily_address_activity+-+amberLens+Sample.csv) |
| Puell Multiple | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_puell_multiple+-+amberLens+Sample.csv) |
| Miner Supply Spent | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_miner_supply_spent+-+amberLens+Sample.csv) |
| Miner Position Index | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+Institutional+Metrics/sample_btc_miner_position_index+-+amberLens+Sample.csv) |
| ***Institutional Ethereum Market Indicators*** | |
| Ethereum Price and Moving Averages | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Institutional+Metrics/sample_eth_price_moving_average+-+amberLens+Sample.csv) |
| Market Cap vs Realized Cap | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Institutional+Metrics/sample_eth_marketcap_v_realized_cap+-+amberLens+Sample.csv) |
| MVRV | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Institutional+Metrics/sample_eth_mvrv+-+amberLens+Sample.csv) |
| Pi Cycle | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Institutional+Metrics/sample_eth_pi_cycle+-+amberLens+Sample.csv) |
| Realized Price | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Institutional+Metrics/sample_eth_realized_price+-+amberLens+Sample.csv) |
| Net Unrealized Profit / Loss (NUPL) | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Institutional+Metrics/sample_eth_nupl+-+amberLens+Sample.csv) |
| Liquid vs Illiquid Supply | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Institutional+Metrics/sample_eth_liquid_v_illiquid_supply+-+amberLens+Sample.csv) |
| ETH Balance Buckets: Number of Addresses | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Institutional+Metrics/sample_eth_balance_buckets+-+amberLens+Sample.csv) |
| ETH Balance Buckets: Supply Held | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Institutional+Metrics/sample_eth_balance_buckets+-+amberLens+Sample.csv) |
| USD Balance Buckets: Number of Addresses | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Institutional+Metrics/sample_eth_usd_balance_buckets+-+amberLens+Sample.csv) |
| Daily Address Activity, New Address Momentum, Daily New Addresses | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Institutional+Metrics/sample_eth_daily_active_addresses+-+amberLens+Sample.csv) |
| ***Ethereum Network Metrics*** | |
| ETH Network Metrics | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+Network+Metrics/sample_eth_supply+-+Sheet1.csv) |
| ***Ethereum Treasury Backed RWA's*** | |
| Ethereum RWA Marketcap | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+RWA/sample_eth_rwa_marketcap+amberLens+sample.csv) |
| ETH Treasury Backed RWA: Unique Holders | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+RWA/sample_eth_rwa_unique_holders+-+amberLens+Sample.csv) |
| Ethereum RWA Treasury Overview | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+RWA/sample_eth_rwa_overview+-+amberLens+Sample.csv) |
| ***BTC ETF*** | |
| BTC ETF Holdings | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+ETF/sample_btc_etf_holdings+-+amberLens+Sample.csv) |
| BTC ETF Flow (\$) | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+ETF/sample_btc_etf_flow_usd+-+amberLens+Sample.csv) |
| BTC ETF Flows (βΏ) | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+ETF/sample_btc_etf_flow_btc+-+amberLens+Sample.csv) |
| BTC ETF Net Flows | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/BTC+ETF/sample_btc_etf_net_flows_usd+-+amberLens+Sample.csv) |
| ***ETH ETF*** | |
| ETH ETF Holdings | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+ETF/sample_eth_etf_holdings-amberLens+Sample.csv) |
| ETH ETF Flows - All | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/ETH+ETF/sample_eth_etf_flows_eth-amberLens+Sample.csv) |
| ***Ethereum Staking and Restaking*** | |
| Liquid Staking - 7 Day APY | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/Liquid+\(Re-\)Staking+Metrics/liquid_staking_7_day_apy+-+amberLens+Sample.csv) |
| Liquid Staking - 30 Day APY | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/Liquid+\(Re-\)Staking+Metrics/liquid_staking_30_day_apy+-+amberLens+Sample.csv) |
| Liquid Staking All Deposits and Withdraws | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/Liquid+\(Re-\)Staking+Metrics/liquid_staking_all_deposits_withdraws+-+amberLens+Sample.csv) |
| Liquid Staking Daily Balance Change | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/Liquid+\(Re-\)Staking+Metrics/liquid_staking_daily_balance_change+-+amberLens+Sample.csv) |
| Liquid Staking Eigen Layer TVL By Asset | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/Liquid+\(Re-\)Staking+Metrics/liquid_staking_eigen_layer_tvl_by_asset+-+amberLens+Sample.csv) |
| Liquid Staking ETH APY | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/Liquid+\(Re-\)Staking+Metrics/liquid_staking_eth_apy+-+AmberLens+Sample.csv) |
| Liquid Staking Token Onchain Supply | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/Liquid+\(Re-\)Staking+Metrics/liquid_staking_onchain_supply+-+amberLens+Sample.csv) |
| Liquid Staking Operator Delegation | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/Liquid+\(Re-\)Staking+Metrics/liquid_staking_operator_delegation+-+amberLens+Sample.csv) |
| Liquid Staking Pods Deployed | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/Liquid+\(Re-\)Staking+Metrics/liquid_staking_pods_deployed+-+amberLens+Sample.csv) |
| Liquid Staking Registered AVS | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/Liquid+\(Re-\)Staking+Metrics/liquid_staking_registered_avs+-+amberLens+Sample.csv) |
| ***DeFi Lending*** | |
| Daily Protocol Metrics | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/DeFi+Lending/amberLens+DeFi+dashboard+-+Samples+-+Protocols+Sample+For+S3.csv) |
| Daily Asset Metrics | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/DeFi+Lending/amberLens+DeFi+dashboard+-+Samples+-+Assets+Sample+For+S3.csv) |
| Stablecoins Daily | [Download](https://amberdata-samples.s3.amazonaws.com/amberlens/DeFi+Lending/amberLens+DeFi+dashboard+-+Samples+-+Stablecoin+Sample+For+S3.csv) |
# Bid Ask Spread
Source: https://docs.amberdata.io/data-dictionary/analytics/spot/bid-ask
# Description
Bid-Ask Spread measures the difference between the best bid and best ask prices for a trading pair. It returns both:
* The absolute spread (in quote currency)
* The spread as a percentage of the mid-price
This dual representation allows for cross-pair and cross-exchange comparison of liquidity conditions.
***
# Details
This metric provides a view of market tightness and liquidity fragmentation. By analyzing how wide or narrow the spread is, traders can quickly identify:
* The most liquid exchange for a given asset
* Which trading pairs or quote currencies offer the best execution conditions
The percentage spread is especially useful when comparing instruments with different quote currencies (e.g., BTC-USDT vs. BTC-USD vs. BTC-EUR), as it normalizes price scale effects.
***
# API Endpoints
[/spot-analytics-information-order-book-depth](/http/analytics/spot/information-depth-analytics-pairs-and-exchanges)
[/spot-analytics-order-book-depth-bid-ask-spread](/http/analytics/spot/bid-ask-spread)
***
# Availability
We cover major tokens such as BTC, ETH, XRP, SOL, and USDT for exchanges with limited Depth order count, while all pairs for exchanges with Full Depth.
Please use the information endpoint to find all coverage and exact trading pairs.
Note: \*major pairs only
| Exchange | History | Granularity | Depth Order Count |
| --------------- | ---------- | ----------- | ----------------- |
| Binance | 2024-01-01 | 1min | 5000 |
| Binance.us | 2025-01-01 | 1min | 5000 |
| Bitstamp | 2025-01-01 | 1min | Full |
| Bullish | 2025-03-16 | 1min | 150 |
| Deribit | 2025-03-19 | 1min | Full |
| GDAX (Coinbase) | 2024-01-01 | 1min | Full |
| Gemini | 2024-06-01 | 1min | Full |
| Huobi\* | 2024-01-01 | 1min | 150 |
| itBit | 2025-03-05 | 1min | Full |
| Kraken\* | 2025-01-01 | 1min | 500 |
| OKEx (OKX) | 2024-01-01 | 1min | 1000 |
| bybit\* | 2024-01-01 | 1min | 200 |
***
# Frequently Asked Questions
**How is the absolute spread calculated?**
* `spread = bestAskPrice β bestBidPrice`
* This is returned in the quote currency of the pair.
**What does spreadPercent represent?**
* Itβs the absolute spread divided by the mid-price:
* `spreadPercent = (spread / midPrice) Γ 100`
* This normalizes spread data across different pairs.
**How can I compare liquidity across exchanges?**
* Leave the exchange parameter blank to return spread data across all supported exchanges for the same pair. You can then quickly identify the exchange with the tightest spread.
**What does fuzzyMatch do?**
* If `fuzzyMatch = true`, the endpoint returns all trading pairs related to an underlying asset. For example, searching for btc\_usd with fuzzy matching would return BTC-USDT, BTC-ETH, BTC-EUR, etc.
***
# LWAP (Liquidity-Weighted Average Price)
Source: https://docs.amberdata.io/data-dictionary/analytics/spot/lwap
# Description
LWAP is a liquidity-weighted average of prices derived from the order book. Unlike VWAP, which is based on executed volume, LWAP focuses on the price levels with the most available liquidity.
***
# Details
LWAP offers a view of the true market-clearing price based on where liquidity sits, rather than where trades occur. It's particularly helpful for estimating where large trades would most likely be filled without disrupting the market. Often used to compare with VWAP or to assess liquidity health at a given point in time.
# API Endpoints
[/spot-analytics-information-order-book-depth](/http/analytics/spot/information-depth-analytics-pairs-and-exchanges)
[/spot-analytics-order-book-depth-lwap](/http/analytics/spot/lwap)
***
# Availability
We cover major tokens such as BTC, ETH, XRP, SOL, and USDT for exchanges with limited Depth order count, while all pairs for exchanges with Full Depth.
Please use the information endpoint to find all coverage and exact trading pairs.
Note: \*major pairs only
| Exchange | History | Granularity | Depth Order Count |
| --------------- | ---------- | ----------- | ----------------- |
| Binance | 2024-01-01 | 1min | 5000 |
| Binance.us | 2025-01-01 | 1min | 5000 |
| Bitstamp | 2025-01-01 | 1min | Full |
| Bullish | 2025-03-16 | 1min | 150 |
| Deribit | 2025-03-19 | 1min | Full |
| GDAX (Coinbase) | 2024-01-01 | 1min | Full |
| Gemini | 2024-06-01 | 1min | Full |
| Huobi\* | 2024-01-01 | 1min | 150 |
| itBit | 2025-03-05 | 1min | Full |
| Kraken\* | 2025-01-01 | 1min | 500 |
| OKEx (OKX) | 2024-01-01 | 1min | 1000 |
| bybit\* | 2024-01-01 | 1min | 200 |
***
# Frequently Asked Questions
**How is LWAP different from VWAP?**
* VWAP is trade-executed price weighted by volume; LWAP uses order book liquidity as the weighting input. LWAP is a forward-looking execution model, whereas VWAP is historical.
**Why is LWAP important?**
* It can help traders and quants simulate trade impact or optimize execution paths.
***
# Order Book Dashboard
Source: https://docs.amberdata.io/data-dictionary/analytics/spot/order-book-dashboard
# Definition
Order Book Dashboard provides an average view of depth liquidity across exchanges and pairs over a chosen time window. It allows for easy comparison of liquidity environments.
***
# Details
This endpoint aggregates average depth values at specified basis point levels (e.g., 10bps, 50bps) over time, showing how market depth evolves and how certain exchanges or pairs compare in terms of liquidity provision. Used for both historical analysis and monitoring liquidity fragmentation across the market
***
# API Endpoints
[/spot-analytics-information-order-book-depth](/http/analytics/spot/information-depth-analytics-pairs-and-exchanges)
[/spot-analytics-order-book-depth-dashboard](/http/analytics/spot/depth-dashboard)
***
# Availability
We cover major tokens such as BTC, ETH, XRP, SOL, and USDT for exchanges with limited Depth order count, while all pairs for exchanges with Full Depth.
Please use the information endpoint to find all coverage and exact trading pairs.
Note: \*major pairs only
| Exchange | History | Granularity | Depth Order Count |
| --------------- | ---------- | ----------- | ----------------- |
| Binance | 2024-01-01 | 1min | 5000 |
| Binance.us | 2025-01-01 | 1min | 5000 |
| Bitstamp | 2025-01-01 | 1min | Full |
| Bullish | 2025-03-16 | 1min | 150 |
| Deribit | 2025-03-19 | 1min | Full |
| GDAX (Coinbase) | 2024-01-01 | 1min | Full |
| Gemini | 2024-06-01 | 1min | Full |
| Huobi\* | 2024-01-01 | 1min | 150 |
| itBit | 2025-03-05 | 1min | Full |
| Kraken\* | 2025-01-01 | 1min | 500 |
| OKEx (OKX) | 2024-01-01 | 1min | 1000 |
| bybit\* | 2024-01-01 | 1min | 200 |
***
# Frequently Asked Questions
**How does this differ from the order book depth endpoint?**
* This dashboard aggregates and averages depth metrics, rather than providing point-in-time depth snapshots. It's useful for high-level analysis across markets.
**Can I use this to compare exchanges?**
* Yes β average depth at various bps levels is included by exchange and trading pair.
***
# Order Book Depth
Source: https://docs.amberdata.io/data-dictionary/analytics/spot/order-book-depth
# Description
Order Book Depth shows how much liquidity is available at varying distances from the best-bid/best-ask price, measured in basis points (bps). This provides a snapshot of market robustness and order book structure.
***
# Details
This metric analyzes both bid and ask side liquidity within percentage ranges from the best-bid/best-ask price. By aggregating depth across tranches like 10bps, 50bps, or 100bps, it becomes easier to identify where meaningful liquidity resides.
Liquidity concentration (e.g., most bids sitting within 20bps) can help assess potential slippage and execution quality, especially during large trades or volatility spikes.
[/spot-analytics-information-order-book-depth](/http/analytics/spot/information-depth-analytics-pairs-and-exchanges)
[/spot-analytics-order-book-depth](/http/analytics/spot/depth)
[/spot-analytics-order-book-depth-average](/http/analytics/spot/average-depth)
***
# Availability
We cover major tokens such as BTC, ETH, XRP, SOL, and USDT for exchanges with limited Depth order count, while all pairs for exchanges with Full Depth.
Please use the information endpoint to find all coverage and exact trading pairs.
Note: \*major pairs only
| Exchange | History | Granularity | Depth Order Count |
| --------------- | ---------- | ----------- | ----------------- |
| Binance | 2024-01-01 | 1min | 5000 |
| Binance.us | 2025-01-01 | 1min | 5000 |
| Bitstamp | 2025-01-01 | 1min | Full |
| Bullish | 2025-03-16 | 1min | 150 |
| Deribit | 2025-03-19 | 1min | Full |
| GDAX (Coinbase) | 2024-01-01 | 1min | Full |
| Gemini | 2024-06-01 | 1min | Full |
| Huobi\* | 2024-01-01 | 1min | 150 |
| itBit | 2025-03-05 | 1min | Full |
| Kraken\* | 2025-01-01 | 1min | 500 |
| OKEx (OKX) | 2024-01-01 | 1min | 1000 |
| bybit\* | 2024-01-01 | 1min | 200 |
***
# Frequently Asked Questions
**What are basis points in this context?**
* One basis point is 0.01%. So 100bps means 1% away from the best-bid/best-ask price. The endpoint tracks liquidity depth at various bps levels.
**Why is this useful during volatile periods?**
* Order book depth gives a more complete view of where liquidity sits, allowing traders to anticipate price impact or dislocation.
***
# Order Book Pressure
Source: https://docs.amberdata.io/data-dictionary/analytics/spot/order-book-pressure
# Definition
Order Book Pressure is a market sentiment metric that quantifies the imbalance between buy-side and sell-side liquidity. Itβs calculated as: \`Order Book Pressure = Bid Volume β Ask Volume\`\`
A positive value suggests stronger demand (buying pressure), while a negative value implies stronger supply (selling pressure).
***
# Details
Order Book Pressure helps traders and analysts gauge the aggressiveness of bids versus offers (asks) in real time. This metric is especially useful during volatile market events, offering insight into short-term sentiment and potential directional bias.
The calculation uses visible volume in the order book at a given moment, not executed trades. It reflects intent to trade, which can be a leading indicator of market moves.
***
# API Endpoints
[/spot-analytics-information-order-book-depth](/http/analytics/spot/information-depth-analytics-pairs-and-exchanges)
[/spot-analytics/order-book-pressure](/http/analytics/spot/pressure)
***
# Availability
We cover major tokens such as BTC, ETH, XRP, SOL, and USDT for exchanges with limited Depth order count, while all pairs for exchanges with Full Depth.
Please use the information endpoint to find all coverage and exact trading pairs.
Note: \*major pairs only
| Exchange | History | Granularity | Depth Order Count |
| --------------- | ---------- | ----------- | ----------------- |
| Binance | 2024-01-01 | 1min | 5000 |
| Binance.us | 2025-01-01 | 1min | 5000 |
| Bitstamp | 2025-01-01 | 1min | Full |
| Bullish | 2025-03-16 | 1min | 150 |
| Deribit | 2025-03-19 | 1min | Full |
| GDAX (Coinbase) | 2024-01-01 | 1min | Full |
| Gemini | 2024-06-01 | 1min | Full |
| Huobi\* | 2024-01-01 | 1min | 150 |
| itBit | 2025-03-05 | 1min | Full |
| Kraken\* | 2025-01-01 | 1min | 500 |
| OKEx (OKX) | 2024-01-01 | 1min | 1000 |
| bybit\* | 2024-01-01 | 1min | 200 |
***
# Frequently Asked Questions
**Whatβs the difference between Order Book Pressure and Trade Pressure?**
* Order Book Pressure reflects intent to trade based on resting orders, while Trade Pressure reflects executed volume. Both are useful but offer different perspectives.
**How often is this data updated?**
* Data is sampled at regular intervals (e.g., 1-minute), depending on the query.
**Can I use this to predict price movements?**
* While not predictive on its own, persistent pressure in one direction often precedes price continuation or reversal, especially when confirmed by other indicators.
***
# Trade Frequency
Source: https://docs.amberdata.io/data-dictionary/analytics/spot/trade-frequency
# Description
Trade Frequency measures the number of trades executed over a given time interval. It reveals market activity intensity and the presence of algorithmic trading.
***
# Details
Trade frequency spikes β especially during high volatility β often indicate a surge in automated activity (e.g., bots). Monitoring this helps assess market responsiveness and behavioral shifts. High-frequency bursts with low trade size typically point to retail or algorithmic trading activity.
***
# API Endpoints
[/spot-analytics-information-trade-analytics-pairs](/http/analytics/spot/information-trade-analytics-pairs)
[/spot-analytics-information-trade-exchange-support-per-pair](/http/analytics/spot/information-trade-exchange-support-per-pair)
[/spot-analytics-trade-frequency](/http/analytics/spot/trade-frequency)
***
# Availability
Please use the information endpoint to find all coverage and exact trading pairs.
| Exchange | History | Granularity |
| --------------- | ---------- | ------------------------------ |
| Binance | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Binance.us | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Bitstamp | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Bybit | 2023-06-01 | 1-min, before 2025 then 1-hour |
| GDAX (Coinbase) | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Gemini | 2023-06-01 | 1-min, before 2025 then 1-hour |
| OKEx (OKX) | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Poloniex | 2023-06-01 | 1-min, before 2025 then 1-hour |
| itBit | 2024-03-05 | 1-min, before 2025 then 1-hour |
| Mercado Bitcoin | 2024-03-25 | 1-min, before 2025 then 1-hour |
| Bitget | 2024-10-01 | 1-min, before 2025 then 1-hour |
| Huobi | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Gate.io | 2025-01-07 | 1min |
| Crypto.com | 2025-02-19 | 1min |
| KuCoin | 2023-06-01 | 1-min, before 2025 then 1-hour |
| HashKey | 2025-02-28 | 1min |
| Bullish | 2025-03-19 | 1min |
| Deribit | 2025-03-20 | 1min |
| Coinbase Intl | 2025-04-01 | 1min |
| Upbit | 2025-04-28 | 1min |
| CoinW | 2025-05-15 | 1min |
| LMAX | 2025-01-01 | 1min |
| Kraken | 2023-06-01 | 1-min, before 2025 then 1-hour |
***
# Frequently Asked Questions
**What is the value of tracking trade frequency?**
* Itβs a signal of trading intensity and can hint at algo or bot-driven market activity.
**Does it measure trade size too?**
* This endpoint focuses on count. Use in combination with volume data for full context.
***
# Trade Pressure
Source: https://docs.amberdata.io/data-dictionary/analytics/spot/trade-pressure
# Description
Spot Trade Pressure measures the net buying vs. selling activity, calculated as: `Trade Pressure = Buy Volume β Sell Volume`
It can be further segmented by trade size to analyze behavior across retail and institutional flows.
***
# Details
Trade pressure offers directional insight from executed trades β not just order book intent. When broken down by trade size, it allows for segmentation: small trades (retail), medium (active traders), and large (institutional). Trade pressure is useful for real-time flow analysis and narrative confirmation.
***
# API Endpoints
[/spot-analytics-information-trade-analytics-pairs](/http/analytics/spot/information-trade-analytics-pairs)
[/spot-analytics-information-trade-exchange-support-per-pair](/http/analytics/spot/information-trade-exchange-support-per-pair)
[/spot-analytics-trade-pressure](/http/analytics/spot/trade-pressure)
***
# Availability
Please use the information endpoint to find all coverage and exact trading pairs.
| Exchange | History | Granularity |
| --------------- | ---------- | ------------------------------ |
| Binance | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Binance.us | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Bitstamp | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Bybit | 2023-06-01 | 1-min, before 2025 then 1-hour |
| GDAX (Coinbase) | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Gemini | 2023-06-01 | 1-min, before 2025 then 1-hour |
| OKEx (OKX) | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Poloniex | 2023-06-01 | 1-min, before 2025 then 1-hour |
| itBit | 2024-03-05 | 1-min, before 2025 then 1-hour |
| Mercado Bitcoin | 2024-03-25 | 1-min, before 2025 then 1-hour |
| Bitget | 2024-10-01 | 1-min, before 2025 then 1-hour |
| Huobi | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Gate.io | 2025-01-07 | 1min |
| Crypto.com | 2025-02-19 | 1min |
| KuCoin | 2023-06-01 | 1-min, before 2025 then 1-hour |
| HashKey | 2025-02-28 | 1min |
| Bullish | 2025-03-19 | 1min |
| Deribit | 2025-03-20 | 1min |
| Coinbase Intl | 2025-04-01 | 1min |
| Upbit | 2025-04-28 | 1min |
| CoinW | 2025-05-15 | 1min |
| LMAX | 2025-01-01 | 1min |
| Kraken | 2023-06-01 | 1-min, before 2025 then 1-hour |
***
# Frequently Asked Questions
**How is this different from Order Book Pressure?**
* Order Book Pressure is based on resting orders; Trade Pressure is based on executed trades. Both reflect sentiment but at different stages of market intent.
**Can this distinguish between trader types?**
* Yes β by analyzing trade size bands, you can infer participation from bots, retail, or institutions.
***
# Asset Volumes USD
Source: https://docs.amberdata.io/data-dictionary/analytics/spot/volumes-asset
# Description
This endpoint displays the total volume per base asset or specifc pair, normalized to USD. This means that crypto-to-crypto pairs (such as ETH\_BTC) are converted to USD before aggregation. Users can pass an optional boolean parameter to include pairs where the asset is on the quote side, example xyz\_btc where btc is target asset.
***
# Details
Asset volumes USD allows users to quickly see aggregated volumes, converted into USD terms, across all pairs an exchange offer for a particular asset.
# API Endpoints
[/spot-analytics-volumes-asset](/http/analytics/spot/volumes-asset)
***
# Availability
Please use the information endpoint to find all coverage and exact trading pairs.
| Exchange | History | Granularity |
| --------------- | ---------- | ------------------------------ |
| Binance | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Binance.us | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Bitstamp | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Bybit | 2023-06-01 | 1-min, before 2025 then 1-hour |
| GDAX (Coinbase) | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Gemini | 2023-06-01 | 1-min, before 2025 then 1-hour |
| OKEx (OKX) | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Poloniex | 2023-06-01 | 1-min, before 2025 then 1-hour |
| itBit | 2024-03-05 | 1-min, before 2025 then 1-hour |
| Mercado Bitcoin | 2024-03-25 | 1-min, before 2025 then 1-hour |
| Bitget | 2024-10-01 | 1-min, before 2025 then 1-hour |
| Huobi | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Gate.io | 2025-01-07 | 1min |
| Crypto.com | 2025-02-19 | 1min |
| KuCoin | 2023-06-01 | 1-min, before 2025 then 1-hour |
| HashKey | 2025-02-28 | 1min |
| Bullish | 2025-03-19 | 1min |
| Deribit | 2025-03-20 | 1min |
| Coinbase Intl | 2025-04-01 | 1min |
| Upbit | 2025-04-28 | 1min |
| CoinW | 2025-05-15 | 1min |
| LMAX | 2025-01-01 | 1min |
| Kraken | 2023-06-01 | 1-min, before 2025 then 1-hour |
***
# Exchange Volumes USD
Source: https://docs.amberdata.io/data-dictionary/analytics/spot/volumes-exchange
# Description
This endpoint displays the total volume per exchange for all available pairs, normalized to USD. This means that crypto-to-crypto pairs (such as ETH\_BTC) are converted to USD before aggregation. Users can pass an exchange parameter to isolate volume data for a specific exchange or leave it blank to retrieve data for all supported exchanges. Users can also isolate volume that meet a size threshold using the βorderSizeCategoryUsdβ parameter. A useful example might be to pass 100k+ threshold to measure which exchanges have the most βlarge ticketβ volume (aka βwhaleβ volume).
***
# Details
Exchange volumes USD allows users to quickly see aggregated volumes, converted into USD terms, across all pairs an exchange offer. This helps users identify venues with liquidity and the associated time of day.
# API Endpoints
[/spot-analytics-volumes-exchange](/http/analytics/spot/volumes-exchange)
***
# Availability
Please use the information endpoint to find all coverage and exact trading pairs.
| Exchange | History | Granularity |
| --------------- | ---------- | ------------------------------ |
| Binance | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Binance.us | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Bitstamp | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Bybit | 2023-06-01 | 1-min, before 2025 then 1-hour |
| GDAX (Coinbase) | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Gemini | 2023-06-01 | 1-min, before 2025 then 1-hour |
| OKEx (OKX) | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Poloniex | 2023-06-01 | 1-min, before 2025 then 1-hour |
| itBit | 2024-03-05 | 1-min, before 2025 then 1-hour |
| Mercado Bitcoin | 2024-03-25 | 1-min, before 2025 then 1-hour |
| Bitget | 2024-10-01 | 1-min, before 2025 then 1-hour |
| Huobi | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Gate.io | 2025-01-07 | 1min |
| Crypto.com | 2025-02-19 | 1min |
| KuCoin | 2023-06-01 | 1-min, before 2025 then 1-hour |
| HashKey | 2025-02-28 | 1min |
| Bullish | 2025-03-19 | 1min |
| Deribit | 2025-03-20 | 1min |
| Coinbase Intl | 2025-04-01 | 1min |
| Upbit | 2025-04-28 | 1min |
| CoinW | 2025-05-15 | 1min |
| LMAX | 2025-01-01 | 1min |
| Kraken | 2023-06-01 | 1-min, before 2025 then 1-hour |
***
# VWAP - TWAP
Source: https://docs.amberdata.io/data-dictionary/analytics/spot/vwap-twap
# Description
The VWAP (Volume Weighted Average Price) for BTC/USDT and other pairs on a crypto exchanges like Binance, is calculated every minute using trade data.
***
# Details
VWAP is computed by taking the sum of the product of each tradeβs price and size (i.e., trade price Γ trade volume) within the 1-minute interval, and dividing that by the total traded volume in that same interval. This provides a time-specific average price that accounts for trade size, offering a more accurate reflection of market activity than a simple average. The TWAP users the time-weighted average of the βcloseβ price for each 1-minute candle. We use the close price because itβs the last traded price for that minute, which provides as consistent price that matches the minuteβs end as closely as possible.
# API Endpoints
[/spot-analytics-information-trade-analytics-pairs](/http/analytics/spot/information-trade-analytics-pairs)
[/spot-analytics-information-trade-exchange-support-per-pair](/http/analytics/spot/information-trade-exchange-support-per-pair)
[/spot-analytics-vwap-twap](/http/analytics/spot/vwap-twap)
***
# Availability
Please use the information endpoint to find all coverage and exact trading pairs.
| Exchange | History | Granularity |
| --------------- | ---------- | ------------------------------ |
| Binance | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Binance.us | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Bitstamp | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Bybit | 2023-06-01 | 1-min, before 2025 then 1-hour |
| GDAX (Coinbase) | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Gemini | 2023-06-01 | 1-min, before 2025 then 1-hour |
| OKEx (OKX) | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Poloniex | 2023-06-01 | 1-min, before 2025 then 1-hour |
| itBit | 2024-03-05 | 1-min, before 2025 then 1-hour |
| Mercado Bitcoin | 2024-03-25 | 1-min, before 2025 then 1-hour |
| Bitget | 2024-10-01 | 1-min, before 2025 then 1-hour |
| Huobi | 2023-06-01 | 1-min, before 2025 then 1-hour |
| Gate.io | 2025-01-07 | 1min |
| Crypto.com | 2025-02-19 | 1min |
| KuCoin | 2023-06-01 | 1-min, before 2025 then 1-hour |
| HashKey | 2025-02-28 | 1min |
| Bullish | 2025-03-19 | 1min |
| Deribit | 2025-03-20 | 1min |
| Coinbase Intl | 2025-04-01 | 1min |
| Upbit | 2025-04-28 | 1min |
| CoinW | 2025-05-15 | 1min |
| LMAX | 2025-01-01 | 1min |
| Kraken | 2023-06-01 | 1-min, before 2025 then 1-hour |
***
# Stock-to-Flow
Source: https://docs.amberdata.io/data-dictionary/analytics/stock-to-flow
***
# Description
The **Stock-to-Flow (S2F)** model measures the scarcity of an asset by comparing its existing circulating supply (**stock**) to its annual production rate (**flow**). This metric is commonly applied to commodities such as gold and silver, and has been adapted to analyze Bitcoin.
In the case of Bitcoin, the model reflects programmed scarcityβspecifically, the scheduled halving events that reduce new issuance over time. As a result, Bitcoinβs stock-to-flow ratio increases predictably, reinforcing its narrative as a scarce digital asset.
***
# Use Cases
**Price forecasting**: Investors and analysts use the model to predict future price movements of Bitcoin based on its scarcity dynamics.
**Investment strategy**: Traders and investors may incorporate the Stock-to-Flow model into their investment strategies to assess the long-term value proposition of Bitcoin and make informed decisions about buying, holding, or selling.
**Market analysis**: The Stock-to-Flow model provides insights into the fundamental factors driving Bitcoin's price and can be used alongside other analytical tools to analyze market trends and behavior.
**Risk management**: Understanding Bitcoin's scarcity properties through the Stock-to-Flow model can help investors manage risk by assessing the potential impact of supply-side dynamics on price volatility.
***
# Overview
Source: https://docs.amberdata.io/data-dictionary/analytics/supply-eth
Note: This dataset is updated daily and is available via REST API, Databricks, and Snowflake.
***
# Description
This metric tracks the current amount of ETH in circulation and reflects changes resulting from Ethereum's shift from Proof-of-Work (PoW) to Proof-of-Stake (PoS) following **The Merge** in September 2022. Post-Merge, Ethereum introduced fee burning (via EIP-1559) and reduced issuance, making ETH a potentially deflationary asset.
* **Monetary Policy & Inflation**: Tracking ETH supply growth allows users to evaluate Ethereumβs monetary policy. Post-Merge, issuance dropped significantly and fee burns introduced negative supply pressure, changing ETHβs inflation profile.
* **Market Dynamics**: Supply changes can impact ETH price. An increasing supply may dilute value, while deflationary pressure can support price appreciation. Traders watch this closely for macro signals.
* **Network Health & Adoption**: Supply trends also reflect activity on the Ethereum network. A growing supply may indicate increased usage, while a declining or flat supply could point to reduced demand or higher fee burning.
***
# Use Cases
\*\*Traders: \*\*Monitor ETH issuance trends to identify potential supply-demand imbalances and forecast market movements.
\*\*Analysts: \*\*Incorporate issuance data into volatility models or liquidity analyses to enhance strategy development and risk forecasting.
\*\*Researchers: \*\*Study issuance trends in the context of protocol upgrades, validator dynamics, and broader economic modeling of Ethereum's monetary system.
***
# Methodology
**Pre-Merge Block Rewards**
* **Block 1**: 72,009,990 ETH β Initial ICO allocation
* **Block 2 to 4,370,000**: 5 ETH/block β Original issuance
* **Block 4,370,001 to 7,280,000**: 3 ETH/block β Byzantium upgrade
* **Block 7,280,001 to 15,537,393**: 2 ETH/block β Constantinople to The Merge
**Post EIP-1559 (London Fork)**
* **ETH Burned = GasUsed Γ BaseFeePerGas**
* Fee burning began at block `12965000` with EIP-1559.
**Post-Merge ETH Issuance (Proof-of-Stake)**
* Ethereum now issues ETH based on validator rewards rather than block mining.
* There are approximately **225 epochs per day**:
`365.25 X 225 = 82181 Epochs per year, and a BASE_REWARD_FACTOR = 64`
**Base Reward Formula**:
* `BASE_REWARD_FACTOR = 64`
* `N = Number of validators = Current ETH Staked / 32`
* Current ETH Staked = Total ETH Deposited β ETH Withdrawn (from Beacon chain)
***
# Frequently Asked Questions
**How often is this chart updated?**
* Daily.
***
# Price and Moving Averages
Source: https://docs.amberdata.io/data-dictionary/analytics/topbottom-indicators
***
# Description
Price is often the primary starting point for analyzing assets. By utilizing daily and weekly moving averages, the price trends of assets such as BTC and ETH can be effectively tracked alongside key technical indicators like support, resistance, and trendlines. Commonly used moving averages include the 50-day moving average (50DMA) and the 200-day moving average (200DMA). These metrics help identify patterns such as the "death cross," which signals price weakness and has historically preceded price rebounds. During an uptrend, moving averages often act as support levels, indicating the potential bottom of a market cycle. Conversely, in a downtrend, they can function as resistance levels, suggesting the top of a market cycle.
Amberdata provides coverage of BTC and ETH prices along with their respective moving averages.
***
# Use Case
Moving averages serve as short- and mid-term price indicators widely employed in traditional financial markets for trend analysis and trading strategy development.
***
# Methodology
The moving averages are calculated by averaging the asset's price over the preceding *n* days.
***
***
# Real World Assets
Source: https://docs.amberdata.io/data-dictionary/analytics/treasury-backed-rwa
Note: These datasets are available via REST API, Databricks, and Snowflake.
***
# Description
The Amberdata Intelligence Real-World Assets dashboard covers various assets tokenized on Ethereum. These dashboards currently cover:
* BlackRock: BUIDL
* Ondo: OUSG
* Matrixdock: STBT
* Backed: IB01
* Hashnote: USYC
* OpenEden: TBILL
* Maple: MPLcashUSDC
* Superstate: USTB.
***
# Use Case
**Traders**
For traders, tokenized treasuries present advantages such as enhanced liquidity, faster settlement times, and access to a broader market. These attributes can contribute to increased price volatility and trading opportunities. Additionally, fractional ownership enables traders to implement more diversified and flexible strategies with potentially lower capital outlays.
**Researchers**
Researchers focus on examining the transformative impact of blockchain-based financial instruments like tokenized treasuries. They explore how blockchain technology improves the efficiency, transparency, and accessibility of government bonds. Researchers are particularly interested in innovations such as programmable features and smart contracts, and how these developments may influence public finance, monetary policy, and investor behavior over the long term.
**Analysts**
Analysts, especially those in financial institutions or advisory roles, assess tokenized treasuries to provide strategic insights and investment recommendations. Their evaluations emphasize risk management, market trends, and the long-term benefits of incorporating tokenized treasuries into diversified portfolios. Analysts study how tokenization affects market liquidity, regulatory environments, and the integration of digital assets with traditional financial markets. Their goal is to identify how tokenized treasuries can optimize returns, manage risk, and support digital transformation in finance.
***
# Methodology
**Indexed contract addresses:**
`0x7712c34205737192402172409a8f7ccef8aa2aec: BUIDL`
`0x43415eb6ff9db7e26a15b704e7a3edce97d31c4e: USTB`
`0x1b19c19393e2d034d8ff31ff34c81252fcbbee92: OUSG`
`0x136471a34f6ef19fe571effc1ca711fdb8e49f2b: USYC`
`0x530824da86689c9c17cdc2871ff29b058345b44a: STBT`
`0xca30c93b02514f86d5c86a6e375e3a330b435fb5: ID01`
`0xdd50c053c096cb04a3e3362e2b622529ec5f2e8a: TBILL`
**Market Capitalization**\
Market capitalization is calculated daily by aggregating the total tokens issued minus tokens redeemed to determine total supply. If an oracle contract is available from the protocol, the latest reported price is used to value the supply. In the absence of an oracle, a default price of \$1 is assumed.
**Unique Holders**\
The number of unique holders is derived from token transfer data by counting distinct wallets holding a positive balance each day.
**Top Holders**\
Top holders are identified by calculating the current token balances of all wallets using transfer data.
***
# USD Balance Bucket
Source: https://docs.amberdata.io/data-dictionary/analytics/usd-balance-bucket
***
# Description
The USD Balance Buckets offer a comprehensive overview of addresses and their token holdings across a range of balances, covering amounts from small fractions up to \$10,000,000 USD.
Coverage includes ETH and BTC for balance buckets.
***
# Use Case
**Traders**
Traders use USD Balance Bucket metrics to track network dynamics, including address balance changes, asset liquidity shifts, and profit fluctuations, guiding strategic trading decisions.
**Analyst**
Analysts leverage these metrics for enhancing portfolio analysis, focusing on profitability and wallet distribution to make informed recommendations.
**Researcher**
Researchers employ this data to identify market trends and patterns in network behavior, aiding in comprehensive market studies.
***
# Methodology
USD Balance Buckets categorize address balances into distinct groups, detailing the number of addresses and the total balance within each category.
1. When the balance, after being multiplied by the current BTC or ETH price, equals 0, it is classified as '0 USD'.
2. For balances resulting in less than \$100 after conversion, they fall under the '100 USD' category.
3. Balances yielding less than \$1,000 but exceeding the previous category are labeled as '1,000 USD'.
4. This progression continues upwards, with each category accommodating increasingly larger amounts: '10,000 USD', '100,000 USD', '1,000,000 USD', and '10,000,000 USD'.
5. Any balance equal to or exceeding \$10,000,000 is grouped into the '10,000,000+ USD' category.
***
***
# Downloads
Source: https://docs.amberdata.io/data-dictionary/api-specs
Below you can download the OpenAPI specification files for each of our APIs.
These specs provide the full contract for our endpoints and can be imported directly into tools like Postman, Insomnia, or your favorite client library.
* [Derivatives](/http/analytics/derivatives/openapi.yaml)
* [Spot](/http/analytics/spot/openapi.yaml)
* [Arc](/http/arc/openapi.yaml)
* [Blockchain](/http/blockchain/openapi.yaml)
* [DeFi](/http/defi/openapi.yaml)
* [DeFi Market](/http/defi-market/openapi.yaml)
* [Market](/http/market/openapi.yaml)
* [Metrics](/http/metrics/openapi.yaml)
* [Price](/http/price/openapi.yaml)
# Asset Reference and Classification
Source: https://docs.amberdata.io/data-dictionary/arc-overview
# Description
Asset Reference and Classification (ARC) is an institutional-grade security master database for digital assets that aims to provide a transparent and robust approach to the digital asset market to promote effective regulation, alignment, innovation, and risk mitigation. As the first open-source digital asset standard, ARC enables institutions to keep accurate records of highly dynamic digital assets across various dimensions. ARC contains reference and categorization details about a digital asset, such as asset names and addresses across blockchains, exchanges it trades on, spot and derivatives instruments of the asset, instrument contract specifications, and use cases.
While ARC is an open-source standard, Amberdata is the primary maintainer of ARC and provides clear contribution guidelines for the larger community to contribute to and expand this digital asset security master database. ARC endpoints are updated daily and the data is also available via GitHub and analytics-friendly flat-file formats.
Please see the [API Docs](/http/arc/exchange-statistics) for response field schemas.
***
# ARC Instrument & Asset Resolution Process
# Methodology
Our complete methodology can be found in the [ARC White Paper](https://go.amberdata.io/lp-asset-reference-and-classification-methodology).
***
# Data Delivery
ARC can be consumed through several different mechanisms.
Public access is available directly from its GitHub repository ([https://github.com/amberdata/arc](https://github.com/amberdata/arc)). In the GitHub repository, the contents of ARC are provided in JSON format to enable easy exploration and comprehension of the dataset.
Customers of Amberdata can also consume ARC through REST API endpoints. The [endpoints are documented here](/http/arc/search-assets).
***
# Contribution Guidelines
ARC is an open-source dataset that is available to the public and thereby any user that is interested in understanding the digital asset landscape. ARC is licensed under the Apache 2.0 license.
Amberdata is the main contributor and maintainer of ARC and welcomes contributions to the dataset from the larger community. To facilitate high-quality participation and collaboration, contributors must adhere to the following contribution guidelines:
1. Contributors must open individual pull requests for adding new assets, adding classification tags, and adding new instruments. This will ensure that all reviews are accurate and timely.
2. Contributors should share Amberdataβs mission and vision to make ARC an industry-leading, verified, and trusted dataset for digital asset users, which requires that contributors adhere to the Code of Conduct described in the repository.
3. All pull requests will be subject to automation and testing to ensure the quality of the changes.
**Incorporation of Contributions**
Once accepted and the pull request is merged, the new contributions will take up to one hour to be reflected in all of the dataset access methods for ARC.
These policies are also captured in the open-source repository ([https://github.com/amberdata/arc/blob/main/CONTRIBUTION.md](https://github.com/amberdata/arc/blob/main/CONTRIBUTION.md))
***
***
# Asset Symbols FAQ
Source: https://docs.amberdata.io/data-dictionary/asset-symbols-faqs
### What Are .amb.-Suffixed Symbols?
In Amberdataβs aggregated metric endpoints (e.g., VWAP, TWAP, volume metrics), asset symbols may appear with an `.amb.` suffix followed by an integer (e.g., `gas.amb.1`). This suffixing system is used to disambiguate **asset collisions** across exchangesβcases where multiple unrelated assets share the same symbol.
An **asset collision** occurs when two or more distinct assets are listed under the same symbol on different exchanges. For example:
* **Neo Gas** is listed under the symbol `GAS` on Poloniex, HTX, OKEX, and Binance.
* **Gas DAO** also uses the symbol `GAS` but is listed on MEXC.
Both assets trade under the instrument `gas_usdt`, but they represent entirely different entities with different market behaviors and valuations. Aggregating metrics such as VWAP or trading volume without resolving this conflict would produce inaccurate results.
To handle this, Amberdata appends an `.amb.` suffix and a unique identifier (e.g., `gas.amb.1`, `gas.amb.2`) to differentiate these assets in aggregated metric endpoints.
### **Using Aggregated Metric Features**
To correctly use aggregated metrics:
* Query the **aggregated metrics information endpoints** to retrieve supported asset symbols and names.
* These endpoints return metadata that maps the `.amb.`-suffixed asset to its corresponding exchange-specific representations.
### **Tick-by-Tick Market Data vs Aggregated Metrics**
* **Tick-by-Tick Market Data** (trades, order book events/snapshots) uses **the exact asset symbol as listed on the exchange** (e.g., `lsd7` on MEXC).
* **Aggregated Metrics** (VWAP, TWAP, trading volumes) use **normalized and disambiguated symbols**, which may include the `.amb.` suffix.
**Important:** `.amb.`-suffixed symbols are not supported for tick-by-tick endpoints. Use the exchange-specific symbol instead.
***
### **Why Aggregated Metrics May Be Temporarily Unavailable**
Amberdata employs a **human-in-the-loop asset verification process** to ensure the accuracy of aggregated metrics. When a new asset or instrument is listed:
* Raw market data becomes available immediately (including trades and order book events).
* Aggregated metrics become available only after the asset is reviewed and classified by Amberdataβs internal asset review committee.
This verification process typically introduces a delay of up to **\~1 week** before aggregated metrics (VWAP, TWAP, etc.) are published for newly listed assets.
***
### I'm able to pull raw market data for an asset/instrument that recently got listed on an exchange, but I'm not able to get VWAP, TWAP, or other aggregated metrics for the asset/instrument?
Amberdata applies a **human-in-the-loop asset review process** to verify whether newly listed instruments represent existing assets or entirely new ones. This process includes automated detection but concludes with manual validation by internal subject matter experts.
As a result:
* **Tick-by-tick market data** (e.g., trades, order book events, snapshots) is made available immediately upon asset listing.
* **Aggregated metrics** (e.g., VWAP, TWAP, volume) are only enabled after the asset classification is completed.
This review process typically results in a delay of approximately **1 week** from the time of listing to the availability of aggregated metrics.
### Will the `.amb.` suffixed symbol work for tick-by-tick market data features?
No, the `.amb.` suffixed symbols only work for the aggregated metrics. For tick-by-tick data (e.g., trades, order book events, order book snapshots), use the **original exchange-specific asset symbol**, which matches the naming convention used by the exchange.
* Use the **aggregated metrics information endpoints** to retrieve metadata for disambiguated symbols.
* These responses include mappings of `.amb.` symbols to the corresponding native symbols per exchange.
For example:
```json JSON theme={null}
{
"status": 200,
"title": "OK",
"description": "Successful request",
"payload": {
"metadata": {
"next": null
},
"data": [
{
"asset": "lsd",
"startDate": 1708387200000,
"endDate": 1708628220000,
"assetName": "L7 DEX",
"marketDataReference": [
{
"exchange": "huobi",
"assetSymbol": "lsd"
},
{
"exchange": "mexc",
"assetSymbol": "lsd7"
}
]
}
]
}
}
```
In this example:
* The asset **L7 DEX** has the symbol `lsd` on HTX and `lsd7` on MEXC.
* For aggregated metrics, use the `.amb.`-style symbol.
* For tick-by-tick data, use the exact exchange-specific symbol (e.g., `lsd7` on MEXC).
In order to reduce confusion when using the tick-by-tick market data features, for a given asset, **A**, Amberdata retains the exact symbol of **A** from each exchange for the instruments of **A**. Remember, an asset symbol is unique to a single exchange, but it is not unique across exchanges.
***
# Addresses
Source: https://docs.amberdata.io/data-dictionary/blockchain/addresses
# Definition
A **blockchain address**, also referred to as a **cryptocurrency address** or **public key**, is a unique alphanumeric identifier used to designate the source or destination of a blockchain-based transaction. Each address is prefixed according to the associated blockchain protocol, such as `1` for Bitcoin or `0x` for Ethereum.
The address is derived from a cryptographic public-private key pair and enables interaction with the blockchain network, including the sending and receiving of assets. Blockchain addresses are pseudonymous and do not contain personally identifiable information. They function as publicly accessible endpoints that can be used to validate and record transactions on the blockchain ledger.
***
# Details
In the Ethereum network, a blockchain address may represent either an **externally owned account (EOA)** or a **smart contract account**. EOAs are user-controlled accounts secured by a private key, while smart contract accounts are autonomous code-based entities that execute predefined logic and may hold or transfer assets. Both account types are assigned unique Ethereum addresses.
The Amberdata API supports queries using both EOA and smart contract addresses within the Blockchain Addresses namespace. Available endpoints enable access to historical and real-time data, such as account balances, balance time series, transaction histories, and address activity across supported blockchain networks. All addresses observed on supported chains can be queried to retrieve associated transactions and on-chain behaviors.
***
# API Endpoints
[/addresses/\{hash}/account-balances/latest](/http/blockchain/balance-latest--by-address)
[/addresses/\{hash}/account-balances/historical](/http/blockchain/balance-historical--by-address)
[/addresses/\{hash}/balances](/http/blockchain/balance-&-tokens-latest--by-address)
[/addresses/balances](/http/blockchain/account-&-token-balances-latest-batch--multiple-wallets)
[/addresses/\{hash}/logs](/http/blockchain/transaction-logs--by-wallet-address)
[/addresses/\{hash}/token-balances/latest](/http/blockchain/token-balances-latest--by-address)
[/addresses/\{hash}/token-balances/historical](/http/blockchain/token-balances-historical--by-address)
[/addresses/\{hash}/token-transfers](/http/blockchain/token-transfers--by-wallet-address)
[/addresses/\{hash}/transactions](/http/blockchain/transactions--by-address)
***
# Availability
The blockchain endpoints available across the various on-chain namespaces are accessible via REST API, WebSockets, or JSON-RPC. A complete list of supported blockchain networks is provided in the API documentation.
Amberdata ensures access to all events from the genesis block onward. This infrastructure enables the delivery of comprehensive historical datasets across most supported blockchain networks.
***
# Frequently Asked Questions
**Are blockchain addresses anonymous?**
* While blockchain addresses do not include personally identifiable information, they are not completely anonymous. The transactions associated with an address are recorded on the blockchain and are publicly visible, so it is possible to trace the flow of cryptocurrency between addresses..
**Can the same person have multiple blockchain addresses?**
* Yes, the same person can have multiple blockchain addresses. It is common for cryptocurrency users to have multiple addresses, as this can help to improve privacy and security when sending and receiving transactions. Even if a person has multiple addresses, each address will have its unique identifier on the blockchain network.
***
# Balances
Source: https://docs.amberdata.io/data-dictionary/blockchain/balances
# Definition
A balance refers to the amount of a particular cryptocurrency or other assets that is associated with a specific address on the blockchain.
On a blockchain, each address has a balance that represents the total amount of cryptocurrency or other assets that are stored at that address. The balance of an address can increase or decrease over time as transactions are executed on the blockchain. For example, if someone sends cryptocurrency to an address, the balance of that address will increase by the amount of the cryptocurrency sent.
Balances are an important aspect of many blockchain systems. They enable users to track their ownership and movement of assets and are also used to enforce rules and constraints, such as ensuring that users have sufficient balances to pay for certain actions.
In some cases, balances may also be used to represent non-financial assets, such as votes or other forms of digital ownership. For example, a blockchain-based governance system such as MakerDAO might use balances to represent the voting power a user has, which can be used to cast votes or enforce rules and constraints.
***
# Details
Amberdata provides up-to-date information on the account balances of different cryptocurrencies and tokens on a number of blockchain networks, including Ethereum, Bitcoin, Arbitrum, Optimism, Bitcoin Cash, Polygon, Litecoin, and Binance Smart Chain. This data includes the current balance of a specific account, as well as the transaction history for that account, allowing users to track the movement of funds over time. Amberdata also provides a portfolio feature that shows current balances and positions across blockchains.
***
# API Endpoints
[/blockchains/addresses/\{address}/portfolio](/http/blockchain/wallet-portfolio--balance-&-token-holdings)
[/blockchains/addresses/\{hash}/account-balances/latest](/http/blockchain/balance-latest--by-address)
[/blockchains/addresses/\{hash}/account-balances/historical](/http/blockchain/balance-historical--by-address)
[/blockchains/addresses/\{hash}/balances](/http/blockchain/balance-&-tokens-latest--by-address)
***
# Availability
Blockchain endpoints found throughout the different on-chain namespaces are available via REST API and WebSockets. The list of supported Blockchain networks can be found in the API Documentation [here](/http/http-api-fundamentals).
***
# Frequently Asked Questions
**How is blockchain balance data stored on the blockchain?**
* Blockchain balance data is stored in the blockchain ledger as a record of all transactions that have occurred between addresses.
**What kind of blockchain balance data does Amberdata offer?**
* See real-time and historical balance data for a specified address. Sort by currency, specified value ranges, and time. With the batch endpoint, view an entire portfolio's summary with a single call and get totals for ETH & all token amounts with market prices.
***
# Blocks
Source: https://docs.amberdata.io/data-dictionary/blockchain/blocks
# Definition
In a blockchain, a block is a collection of verified transactions that are bundled together and added to the blockchain in sequential order. Each block contains a block header and block data. The block header contains metadata about the block, such as a timestamp, a unique identifier (known as a "hash"), and a reference to the previous block in the chain. This reference to the previous block creates a chronological link between blocks and helps ensure the integrity of the blockchain.
The data in a block is the actual set of transactions that are being added to the blockchain. These transactions include things like sending cryptocurrency from one wallet to another, executing a smart contract, or adding a new asset/token to the blockchain. The block data is represented as a digital ledger, which includes information about the sender, receiver, asset amount(s), and other relevant details. Once a block is added to the blockchain, it becomes a permanent and unalterable record that can be verified by anyone on the network.
***
# Details
Block data depends on the specific blockchain network, but example information includes:
* **Block details**: Information about each block in a blockchain network, including its hash, timestamp, size, and transaction data.
* **Transaction data**: Detailed information about transactions in a blockchain network, including sender and receiver addresses, gas used, and transaction fees.
* **Token data**: Data on tokens in a blockchain network, including token balances, supply, and transaction history.
* **Contract data**: For smart contract-based blockchains, we offer data on the contracts themselves, including contract address, source code, and contract events.
* **Address data**: Data on addresses in a blockchain network, including balances, transaction history, and token holdings.
* **Network data**: Data on various network metrics, such as network hash rate, difficulty, and mining rewards.
***
# API Endpoints
[/blockchains/blocks/metrics/historical](/http/blockchain/metrics-historical--confirmed-blocks)
***
# Availability
Blockchain endpoints across the various On-Chain namespaces are accessible via **REST API**, **WebSockets**, and **JSON-RPC**. A comprehensive list of supported blockchain networks is available in the [API Documentation](#).
Amberdata enables access to all events from the genesis block onward. This infrastructure allows for the delivery of complete historical datasets across most supported blockchain protocols.
***
# Frequently Asked Questions
#### **What is the value of showing block data compared to address and transaction data?**
Exposing block-level data in addition to address- and transaction-level data provides flexibility in how blockchain data is queried and analyzed.
* For **high-level overviews**, such as total transaction count or cumulative gas usage within a block, the **block transactions endpoint** is more efficient.
* For **granular analysis**, such as inspecting individual transaction inputs, outputs, or decoded logs, the **transaction hash endpoint** offers greater detail.
This multi-level access supports a wide range of use casesβfrom macro-level network analysis to low-level protocol debugging or compliance auditing.
***
# Contracts
Source: https://docs.amberdata.io/data-dictionary/blockchain/contracts
# Definition
A blockchain contract is a computer program that is stored and executed on a blockchain network. Blockchain contracts are also known as \*\*smart contracts. \*\*They are self-executing contracts that can automate the exchange of value or the execution of certain actions between parties in a transparent and tamper-proof manner.
Smart contracts are written in programming languages that are compatible with the specific blockchain platform. They are stored on the blockchain and executed automatically when certain pre-defined conditions are met. The execution of a smart contract is irreversible and transparent, as all participants in the network can view the contract's code and the details of its execution.
***
# Details
Blockchain contracts, also known as smart contracts, eliminate the need for intermediaries or trusted third parties to oversee transaction execution. This decentralization enhances efficiency, security, and cost-effectiveness compared to traditional contract methods.
The **Blockchain Contracts** namespace within Amberdataβs API enables access to comprehensive details about individual smart contracts. Available data includes contract metadata such as the contract name, bytecode, Application Binary Interface (ABI), and source code where available. Additionally, the API exposes all contract functions; if function signatures are not directly accessible, bytecode is decompiled to extract function information.
***
# API Endpoints
[/blockchains/contracts/\{hash}](/http/blockchain/contract-details)
***
# Availability
Blockchain endpoints across the On-Chain namespaces are accessible via **REST API**, **WebSockets**, and **JSON-RPC**. A complete list of supported blockchain networks is provided in the [API Documentation](https://docs.amberdata.io/reference#reference-getting-started).
Amberdata maintains full nodes for supported blockchains, retaining all events from the genesis block onward. This infrastructure supports the delivery of **complete historical datasets** for most supported chains.
***
# Frequently Asked Questions
#### What programming languages are used to create blockchain contracts?
* Programming languages for blockchain contracts vary by network. For instance, **Ethereum** smart contracts are primarily written in **Solidity**. On the **Bitcoin** network, contract-like functionality is implemented using scripting languages, with tools available in **C++**, **Python**, **Java**, and others.
#### Can blockchain contracts be edited or deleted?
* Once deployed on the blockchain, smart contracts are immutable; they cannot be edited or deleted. This immutability guarantees contract security and ensures that terms cannot be altered post-deployment.
***
# DEX Trades
Source: https://docs.amberdata.io/data-dictionary/blockchain/dex-trades
# Definition
The DEX Trades feature provides a unified source of detailed trading data across all decentralized exchanges and supported blockchains in the Amberdata ecosystem. It offers precise insights into trades, volumes, and liquidity trends, empowering users to analyze the dynamics of decentralized finance (DeFi). This is essential for tracking market activity, assessing trading patterns, and gaining a competitive edge in decentralized trading environments. With both real-time and historical data, it ensures a comprehensive understanding of asset performance and blockchain-specific trade behavior.
***
# Details
This endpoint aggregates metadata and structural information for decentralized exchanges and supported blockchains, serving as a foundational resource for analyzing the broader DeFi trading landscape. It includes exchange-specific details and blockchain-level insights.
The DEX Trades feature provides:
* Information on supported blockchains and their decentralized exchanges
* Metadata on trading pairs, exchange volume, and activity
* Continuous updates to reflect changes in the DeFi ecosystem
***
# API Endpoints
[/defi/dex/information](/http/defi/dex-information)
[/defi/dex/trades](/http/defi/dex-trades-historical)
***
# Availability
DEX Trade data is available via REST API for the information and historical data.
***
# Frequently Asked Questions
* **Who uses DEX Trades?**
* These features are widely used by quantitative traders, DeFi analysts, and developers creating analytics dashboards or trading bots.
* **What blockchains are supported?**
* Ethereum, Polygon, Arbitrum, BNB, Optimism, and Avalanche are currently supported.
* **How much trade history do these endpoints support?**
* Currently, 2 years of data on a rolling basis.
***
# Lending Overview
Source: https://docs.amberdata.io/data-dictionary/blockchain/lending
# Definition
Lending in DeFi closely parallels lending in traditional financial markets, with the key difference being the decentralized nature of the platform replacing centralized institutions such as banks. Users interact with protocols like Aave to borrow and lend specific assets at applicable borrowing and lending rates. Without a centralized authority to approve participation, the barrier to entry is significantly lower and more equitable. Access requires only a compatible wallet and connection to the protocol.
Amberdata provides comprehensive data for all supported lending protocols, including borrow and lend rates, total value locked (TVL), protocol names and versions, borrow stable rates (where applicable), and other relevant parameters. Current coverage includes major lending platforms such as Aave (v1, v2, and v3), Compound, and others, with ongoing additions of new protocols.
***
# Details
DeFi Lending data supports various use cases including historical research, monitoring the current borrowing and lending conditions within protocols or specific pools, backtesting trading strategies, and more.
***
# API Endpoints
[/defi/lending/assets/information](/http/defi/lending-assets-information)
[/defi/lending/\{protocolId}/protocol](/http/defi/lending-protocol)
[/defi/lending/\{protocolId}/asset/\{asset}](/http/defi/lending-assets)
[/defi/lending/\{protocolId}/wallet/\{walletAddress}](/http/defi/lending-wallets)
[/defi/lending/\{protocolId}/governance](/http/defi/lending-governance)
***
# Availability
DeFi Lending endpoints are available via REST API for latest and historical (time series) data.
***
***
# Lending Metrics
Source: https://docs.amberdata.io/data-dictionary/blockchain/lending-metrics
Multi-chain DeFi Metrics show aggregates of DeFi lending and give visibility into how wallets interact with protocols.
# Definition
[**Lending Protocol Summary Metrics**](/http/defi/lending-metrics-summary): Multi-chain daily aggregate insights like borrows, deposits, liquidations, and revenue for a specified lending protocol.
[**Lending Asset Summary Metrics**](/http/defi/lending-assets-metrics-summary): Understand how an asset performs within a lending protocol with multi-chain aggregate metrics for a specified asset.
[**Track Lending Wallet Positions**](/http/defi/lending-wallets-portfolio): Shows complete visibility into a wallet's breakout positions across lending and borrowing protocols. Understand historical balances, track lending and borrowing history, and evaluate asset exposure.
***
# Details
Multi-chain coverage includes Compound v2 and v3, MakerDAO, and Aave v2 and v3.
| Protocol | Ethereum | Polygon | Arbitrum | Optimism | Avalanche |
| ----------- | -------- | ------- | -------- | -------- | --------- |
| Aave v2 | X | X | | | X |
| Aave v3 | X | X | X | X | X |
| MakerDAO | X | | | | |
| Compound v2 | X | | | | |
| Compound v3 | X | X | X | | |
***
# API Endpoints
[/defi/lending/\{protocolId}/metrics/summary](/http/defi/lending-metrics-summary)
[/defi/lending/\{protocolId}/assets/\{assetId}/metrics/summary](/http/defi/lending-assets-metrics-summary)
[/defi/lending/\{protocolId}/wallets/\{address}/portfolio](/http/defi/lending-wallets-portfolio)
***
# Availability
DeFi lending metrics endpoints are available via REST API for historical (time series) data and AWS S3 for bulk downloads.
Sample files are available to [download here](/cloudsync/cloudsync-blockchain-data-and-defi-analytics).
***
# Stablecoin Lending Metrics
Source: https://docs.amberdata.io/data-dictionary/blockchain/lending-stablecoin-metrics
# Definition
The Stablecoin Lending Metrics endpoint provides aggregated metrics for USDT, USDC, DAI, BUSD, and TUSD across supported lending protocols on Ethereum, Arbitrum, Optimism, and Avalanche.
***
# Details
Stablecoins are among the most actively used assets within lending protocols and serve as a strong indicator of protocol activity and health. This endpoint aggregates lending activity data for major stablecoins, enabling insight into:
* Total deposited
* Total borrowed
* Total repaid
* Total withdrawn
* Number of flash loans
* Liquidated USD amounts
* And more
Metrics are available across all supported lending protocols, such as Aave V2, Aave V3, Compound, and Maker. The data can be queried at the hourly or daily level and supports historical lookbacks, making it suitable for tracking activity over time or correlating lending trends to macro events. For example, analysts can examine spikes in stablecoin borrowing following significant regulatory events or market shocks.
This endpoint helps assess risk, liquidity trends, and comparative activity across lending protocols and chains.
***
# API Endpoints
[/defi/stablecoins/\{assetSymbol}/lending/metrics/summary](/http/defi/stablecoins-lending-metrics-summary)
***
# Availability
* **Delivery Methods**: Available via REST API and AWS S3 (for USDC and USDT).
* **Chains Supported**: Ethereum, Arbitrum, Optimism, Avalanche.
* **Frequency**: Queryable by hour or day.
***
# Frequently Asked Questions
**Does this endpoint include all lending protocols supported by Amberdata?**
* Yes. It includes all supported lending protocols, such as Aave (V2 and V3), Compound, and Maker.
**Is this endpoint multi-chain?**
* Yes. The endpoint supports Ethereum, Arbitrum, Optimism, and Avalanche.
***
# DeFi Transactions
Source: https://docs.amberdata.io/data-dictionary/blockchain/lending-transactions
# Definition
DeFi Transaction features provide in-depth views of lending protocols and the way they operate.
[**Protocol**](/http/defi/lending-protocol): Shows what is happening in the protocol over a fixed period. This may include:
* Protocol actions (collateral, deposits, repays, borrows, withdraws, liquidations)
* Asset IDs, asset symbols, or markets
* Borrow Rates or Debts
* Wallet addresses of the user or repayer.
***
[**Asset/Pool**](/http/defi/lending-assets): Retrieves information about all of the actions that occurred for a specific asset on a protocol within a certain period. This may include:
* Asset actions (collateral, deposits, repays, borrows, withdraws, liquidations)
* User
* Swaps or mints
* Amount of token(s)
***
[**Wallet**](/http/defi/lending-wallets): Retrieves information about the actions taken by a specific wallet/user on the protocol within a certain period. This may include:
* Wallet actions (collateral, deposits, repays, borrows, withdraws, liquidations)
* Borrow Rates or Debts
* Transaction amounts
* Asset IDs, asset symbols, or markets
***
[**Governance:**](/http/defi/lending-governance) Retrieves information about the governance actions that occurred for the protocol within a period. This may include:
* Vote support (true or false)
* Voting Power
* User
* Proposal ID or description
***
# Details
Not every lending protocol has every lens, and different exchanges may use differing terminology. For example, the **Asset lens for Aave** is the structural equivalent of the **Pool lens for Uniswap v2**, since Uniswap uses asset pairs (asset\_asset) to create a pool.
***
# API Endpoints
[/defi/lending/\{protocolId}/protocol](/http/defi/lending-protocol)
[/defi/lending/\{protocolId}/assets/\{asset}](/http/defi/lending-assets)
[/defi/lending/\{protocolId}/wallets/\{walletAddress}](/http/defi/lending-wallets)
[/defi/lending/\{protocolId}/governance](/http/defi/lending-governance)
***
# Availability
DeFi Lens endpoints are available via REST API for historical (time series) data, which goes back to the creation date of the lending protocol.
***
***
# Logs
Source: https://docs.amberdata.io/data-dictionary/blockchain/logs
# Definition
Logs record events that occur on the blockchain, including the creation of a new block, the execution of a smart contract function, or the transfer of cryptocurrency between two wallets. Logs are typically stored in a separate data structure within the blockchain and can be used by developers to build complex applications.
***
# Details
Logs data is available from multiple endpoints, including addresses, blocks, and contracts.
***
# API Endpoints
[/blockchains/addresses/\{hash}/logs](/http/blockchain/transaction-logs--by-wallet-address)
***
# Availability
Logs features are available via REST API or Cloudsync. The list of supported Blockchain networks can be found in the API Documentation [here](/http/http-api-fundamentals).
***
# Metrics - Blockchain
Source: https://docs.amberdata.io/data-dictionary/blockchain/metrics
# Definition
Blockchain metrics are quantitative measures that are used to analyze and assess the performance and behavior of a blockchain network. Metrics can provide valuable insights into the health, security, and scalability of the network, as well as the overall activity and usage of the network by its users.
***
# Details
* **Blockchain Address Metrics**: active address count for a given blockchain, historical adoption and usage for a specified address on Ethereum, etc.
* **Blockchain Block Metrics**: average block difficulty in mining, average time needed to confirm a block, average hashrate used in mining, total size of block data confirmed, total transaction fees paid to miners, and more
* **Blockchain Token Metrics**: total amount of token transfers, the historical velocity and number of transfers for the specified address, etc.
* **Blockchain Transaction Metrics**: average amount of transaction fees, total amount of transactions, total number of contract function calls confirmed in the transactions, average gas price used in the transactions, and more
***
# API Endpoints
[/blockchains/metrics/latest](/http/blockchain/metrics--by-blockchain)
[/blockchains/blocks/metrics/historical](/http/blockchain/metrics-historical--confirmed-blocks)
[/blockchains/tokens/metrics/\{symbol}/historical](/http/blockchain/token-metrics-historical)
[/blockchains/transactions/metrics/latest](/http/blockchain/metrics-latest--confirmed-transactions)
[/blockchains/transactions/metrics/historical](/http/blockchain/metrics-historical--confirmed-transactions)
***
# Availability
Blockchain-related endpoints across the On-Chain namespaces are accessible via REST API, WebSockets, and JSON RPC. A complete list of supported blockchain networks is available in the API Documentation [here](/http/http-api-fundamentals).
***
# Frequently Asked Questions
**How are blockchain metrics used and why are they important?**
* Blockchain metrics are essential for understanding the health, performance, and user behavior within a blockchain network. These metrics can help analysts, researchers, and institutional participants identify trends, evaluate network activity, and support decision-making processes. The relevance of a specific metric may vary depending on the context or use case, and not all metrics carry equal weight in every analytical scenario.
***
# DeFi OHLCV
Source: https://docs.amberdata.io/data-dictionary/blockchain/ohlcv
# Definition
OHLCV (Open, High, Low, Close, and Volume) is an aggregated dataset consisting of five core data points. The **Open** and **Close** represent the first and last price levels within a given time interval, respectively. The **High** and **Low** reflect the maximum and minimum price levels observed during that same interval. **Volume** indicates the total quantity of assets traded within the specified period. This data is commonly visualized through candlestick charts to support technical analysis on intraday values. OHLCV data is available with minute, hourly, or daily granularity.
Amberdata pioneered **DeFi OHLCV** by establishing a consistent methodology for aggregating decentralized exchange data. Due to the absence of a standardized "end of trading day" in crypto markets, comparing trading pairs across centralized and decentralized venues can be challenging. Amberdata standardizes volume normalization using 12:00 AM UTC as the end-of-day (EOD) for decentralized exchanges and lending protocols. This enables consistent cross-exchange comparison and supports arbitrage strategies.
***
# Details
OHLCV price values are expressed in the **quote asset**, while the volume is expressed in the **base asset**. For instance, in a BTC-USD pair, price values are denominated in USD and volume in BTC.
***
# API Endpoints
## DeFi OHLCV
[/market/defi/ohlcv/information](/http/defi/dex-ohlcv-information)
[/market/defi/ohlcv/\{pool}/latest](/http/defi-market/dex-ohlcv-latest)
[/market/defi/ohlcv/\{pool}/historical](/http/defi-market/ohlcv-historical)
***
# Availability
OHLCV data is accessible via REST API for historical time series and via WebSockets for real-time streaming.
***
# Frequently Asked Questions
**What is OHLCV used for?**
* OHLCV provides a normalized view of trading activity across crypto ecosystems. It is commonly used to evaluate market structure, momentum, and to support arbitrage strategies between centralized and decentralized exchanges.
**Why is DEX OHLCV unique?**
* Decentralized trading occurs across multiple liquidity pools and exchanges, each with its own pricing dynamics. DEX OHLCV aggregates prices across all relevant liquidity pools, incorporating volume-weighted and time-weighted average price calculations (VWAP and TWAP). This results in more accurate pricing reflective of decentralized market conditions.
**How are OHLCV values generated?**
* OHLCV values are derived from underlying DEX trade data. On top of this data, additional calculations such as Price, TWAP, and VWAP are produced, following methodologies consistent with those used in centralized spot market data pipelines.
***
# Lending Portfolio & Returns
Source: https://docs.amberdata.io/data-dictionary/blockchain/portfolio-returns
# Definition
This data provides a detailed overview of a specific wallet address's activity and position within popular decentralized lending protocols. For a given user's address participating in any of these lending platforms, we give the ability to look at the total amount they've deposited into the protocol, total amount of collateral they've supplied to the protocol, total amount they've borrowed, total amount they can still borrow, the difference between total collateral and total borrowed, total amount of protocol incentives they've generated by participating in the protocol, total amount of protocol incentives they have not yet claimed, a risk metric that indicates how close they are to being liquidated, the maximum loan value, the limit at which they are considered under-collateralized, and the collection of all lending and borrowing positions that this address holds broken down by asset
***
# Details
Accessing this data via a single API endpoint is immensely valuable for several reasons:
* **Comprehensive Oversight:** It provides a holistic view of an address's activity within a specific decentralized lending protocol. This allows for efficient monitoring and management of risk, lending, and borrowing activities.
* **Risk Management:** With metrics like the risk of liquidation, maximum loan value, and the limit of undercollateralization, users or automated systems can make timely decisions to prevent liquidation or optimize returns.
* **Incentive Tracking:** Information on generated and unclaimed protocol incentives enables users to claim rewards optimally, thereby maximizing yield.
This kind of data aggregation simplifies complex DeFi interactions, making it easier for users to engage with lending protocols more effectively.
***
# API Endpoints
[/defi/lending/\{protocolId}/wallets/\{address}/portfolio](/http/defi/lending-wallets-portfolio)
***
# Availability
The Lending Wallets endpoint is available via REST API for historical (time-series) data with history as far back as the blockchain's genesis block.
Support includes **Aave v2 & v3**, **Compound v2 & v3** and **MakerDAO** across **Ethereum, Polygon, Avalanche, Arbitrum,** and **Optimism**.
***
# Frequently Asked Questions
* **What is DeFi Lending?**
* DeFi (Decentralized Finance) lending refers to the practice of lending assets through blockchain-based platforms without the need for traditional financial intermediaries like banks. Some of the more popular Lending platforms are Aave, Compound, and MakerDAO.
* **What is collateral?**
* Collateral is the asset locked in a smart contract when a loan is taken out. If a borrower fails to repay, the collateral can be liquidated to cover the debt. If the value of the collateral drops below a certain threshold, it may be sold off automatically to repay the loan.
* **How is the Interest Rate determined?**
* Interest rates on DeFi lending platforms are often determined algorithmically, based on supply and demand for a particular asset.
***
# Token Transfers
Source: https://docs.amberdata.io/data-dictionary/blockchain/token-transfers
# Definition
A blockchain transferβmore specifically, a token transferβis the movement of a token on a blockchain (such as Ethereum) from one address to another within a transaction. For example, sending SHIB tokens from one wallet to another constitutes a token transfer.
***
# Details
Amberdataβs API enables flexible querying of token transfers through multiple access points, including by address, block, transaction hash, or specific token (e.g., DAI). This allows users to tailor their queries according to their analytical needs, from high-level overviews at the block level to granular details at the transaction hash level.
Users can also isolate transfers for a particular token across supported chains, facilitating focused analysis. For instance, one can retrieve all DAI transfers within a specific time frame and compare them against USDC transfers during the same period, leveraging the token transfers endpoints within the Token namespace.
***
# API Endpoints
[/blockchains/addresses/\{hash}/token-transfers](/http/blockchain/token-transfers--by-wallet-address)
[/blockchains/tokens/\{hash}/transfers](/http/blockchain/token-transfers--by-token-address)
***
# Availability
Amberdataβs Transfers endpoints are accessible via REST API, WebSockets, and JSON RPC across various On-Chain namespaces. A complete list of supported blockchain networks can be found in the Amberdata API documentation. [here](/http/http-api-fundamentals).
***
# Frequently Asked Questions
**Which token standards are supported for transfer data on Ethereum?**
* Amberdata supports token transfers for ERC-20, ERC-721, ERC-777, ERC-884, ERC-998, and ERC-1155 standards.
**What additional information is included in the transfer endpoint responses?**
* Depending on the specific endpoint, responses may include token name, symbol, timestamp, token type, sender and recipient addresses, and other relevant metadata.
***
***
# Tokens
Source: https://docs.amberdata.io/data-dictionary/blockchain/tokens
# Definition
Blockchain tokens are digital assets that are created and managed on a blockchain like Ethereum. They can be thought of as units of value that are stored and transferred on a particular blockchain. Tokens can be used for a variety of purposes, such as representing assets or rights (like NFTs), enabling access to a network or service, or functioning as a medium of exchange.
Tokens are created and managed through the use of smart contracts on the blockchain, which are self-executing contracts with the terms of the agreement between buyer and seller being directly written into the code itself. The tokens can be stored in a digital wallet, and their transfer and ownership can be tracked on the blockchain ledger.
***
# Details
Amberdata provides a wide array of token data, including:
* **Token Information**: Comprehensive token information for various tokens, including token name, symbol, contract address, decimals, total supply, circulating supply, and more.
* **Token Transfers**: Data on all token transfer,s including the sender, receiver, amount, transaction hash, and timestamp.
* **Token Holders**: Information on token holders, including the number of holders, their addresses, and the number of tokens held by each address.
* **Token Analytics**: Token analytics data such as price, volume, market cap, trading volume, and more.
***
# API Endpoints
[/blockchains/addresses//portfolio](/http/blockchain/wallet-portfolio--balance-&-token-holdings)
[/blockchains/addresses//balances](/http/blockchain/balance-&-tokens-latest--by-address)
[/blockchains/addresses//token-balances/latest](/http/blockchain/token-balances-latest--by-address)
[/blockchains/addresses//token-balances/historical](/http/blockchain/token-balances-historical--by-address)
[/blockchains/addresses//token-transfers](/http/blockchain/token-transfers--by-wallet-address)
[/blockchains/tokens//transfers](/http/blockchain/token-transfers--by-token-address)
[/blockchains/tokens//holders/latest](/http/blockchain/current-holders--by-token-address)
[/blockchains/tokens/metrics//historical ](/http/blockchain/token-metrics-historical)
[/blockchains/tokens//supplies/historical](/http/blockchain/historical--token-supplies-by-address)
[/blockchains/tokens//transfers](/http/blockchain/token-transfers--by-token-address)
***
# Availability
Amberdataβs Token endpoints, available across various On-Chain namespaces, can be accessed via REST API, WebSockets, or JSON RPC. A comprehensive list of supported blockchain networks is provided in the API documentation.
***
# Frequently Asked Questions
**Does the data include the most recent and historical token data?**
* Yes. Depending on the specific endpoint, Amberdata provides both the latest token data (reflecting the most recent block) and historical data extending back to the genesis block for most supported chains.
***
# Transactions
Source: https://docs.amberdata.io/data-dictionary/blockchain/transactions
# Definition
A blockchain transaction is a transfer of value or data from one participant to another within a blockchain network. In a blockchain, transactions are stored in blocks, which are connected in a linear, chronological chain, hence the name "blockchain".
When a transaction occurs on a blockchain, it is first broadcast to the network, where it is verified and validated by the nodes or computers that participate in the network. Once a consensus is reached among the nodes, the transaction is recorded in a block, which is then added to the blockchain.
A typical blockchain transaction contains the following information:
* **Sender address**: The address of the participant who initiates the transaction.
* **Recipient address**: The address of the participant who receives the transaction.
* **Amount**: The value or quantity of the asset or data being transferred.
* **Transaction fee**: The fee paid by the sender to incentivize the network to process the transaction.
* **Timestamp**: The date and time when the transaction occurred.
* **Transaction hash**: A unique identifier that is generated for each transaction.
***
# Details
Amberdata offers comprehensive transaction data through its transactions endpoints, covering all relevant details such as sending and receiving addresses (including token transfers), fees (gas), amounts, op codes, block numbers, block hashes, timestamps, and more. These endpoints provide flexible granularity, allowing users to query data at the transaction hash level, address level, or block level depending on their specific needs.
This versatility means that Amberdataβs transaction endpoints can often fulfill data requirements within a single query, eliminating the need to use multiple tools or navigate complex menus to retrieve the desired information.
***
# API Endpoints
[/blockchains/addresses/\{hash}/transactions](/http/blockchain/transactions--by-address) β currently available for `ethereum-mainnet`.
***
# Availability
The transactions endpoints are accessible via REST API, WebSockets, and JSON RPC across multiple on-chain namespaces.
A full list of supported blockchains is available in the Amberdata API documentation [here](/http/http-api-fundamentals).
***
# Frequently Asked Questions
**What are the benefits of granular transaction data?**
* Granular transaction data enables diverse applications, including research and back-testing, accounting, tax reporting, and other use cases requiring detailed blockchain activity analysis.
**What types of transaction data are included in API responses?**
* API responses include all addresses involved in the transaction, gas price and gas used, transaction hash, nonce, number of confirmations, timestamp, and additional relevant metadata.
***
# CloudSync Subscription
Source: https://docs.amberdata.io/data-dictionary/cloudsync-subscription
The columns (besides Data Type Tags) are the SKUs available with a subscription.
If a SKU column cell is **empty** for a dataset i.e. `Daily Address Activity` for `Wallet Intelligence`, it means that the dataset is **not** part of that SKU.
If a SKU column cell is **filled** for a dataset i.e. `ETF Holding ($)` for `Market Insights`, the values of the cell indicate which bulk delivery options are available for the dataset. For the aforementioned example, *Snowflake*. And looking at another example, *Snowflake* for `Options Decorated Trades` in `Derivatives Analytics`.
At the bottom right corner of the table, click on "[View larger version](https://airtable.com/app0SQJuf0tihRCTt/shr5TXb0vPMNqIH66/tbl3FkTexhm6iKoTW?viewControls=on)" to open this table in a new tab.
***
# Blockchain Coverage
Source: https://docs.amberdata.io/data-dictionary/coverage/coverage-blockchain
## **Supported Blockchains**
| **Blockchain** | **Network** | **Slug (x-amberdata-blockchain-id)** |
| :-------------------- | :---------- | :----------------------------------- |
| Avalanche\* | Mainnet | avalanche-mainnet |
| Bitcoin | Mainnet | bitcoin-mainnet |
| Bitcoin Cash | Mainnet | bitcoin-abc-mainnet |
| Binance Smart Chain\* | Mainnet | bnb-mainnet |
| Ethereum | Mainnet | ethereum-mainnet |
| Litecoin | Mainnet | litecoin-mainnet |
| Polygon\* | Mainnet | polygon-mainnet |
| Solana\* | Mainnet | solana-mainnet |
\*These networks are currently available with select endpoints, as backfills and data verification are ongoing.
## **AWS S3 and Delivery Partners Supported Blockchains**
| **Blockchain** | **Network** | **Slug (x-amberdata-blockchain-id)** |
| :------------------ | :---------- | :----------------------------------- |
| Avalanche | Mainnet | avalanche-mainnet |
| Arbitrum | Mainnet | arbitrum-mainnet |
| Bitcoin | Mainnet | bitcoin-mainnet |
| Binance Smart Chain | Mainnet | bnb-mainnet |
| Ethereum | Mainnet | ethereum-mainnet |
| Litecoin | Mainnet | litecoin-mainnet |
| Polygon | Mainnet | polygon-mainnet |
# DeFi Coverage
Source: https://docs.amberdata.io/data-dictionary/coverage/coverage-defi-dex
Coverage across DEX and Lending Markets
## **Supported DEX Exchanges**
| **Exchange** | **Start Date** |
| :------------- | :------------- |
| uniswapv2 | 2020-05-04 |
| uniswapv3 | 2021-05-04 |
| sushiswap | 2020-09-04 |
| balancer vault | 2021-04-19 |
| curvev1 | 2021-04-07 |
| Pancake LPs | 2022-09-26 |
| CroDefiSwap | 2020-09-09 |
| Shibaswap | 2021-07-06 |
| Sashimi Swap | 2020-09-27 |
| Miniswap | 2020-09-27 |
| And more! | |
***
## **Supported Lending Protocols**
| **Protocol** | **Protocol Version** | **Ethereum** | **Polygon** | **Avalanche** | **Optimism** | **Arbitrum** |
| :----------- | :------------------- | :----------- | :---------- | :------------ | :----------- | :----------- |
| Aave | v2 | X | X | X | | |
| Aave | v3 | X | X | X | X | X |
| MakerDAO | n/a | X | | | | |
| Compound | v2 | X | | | | |
| Compound | v3 | X | | | | |
## **Supported DeFi Derivatives Markets**
| **Exchange** |
| :--------------------- |
| Derive (formally Lyra) |
# Market Data Coverage (CEX)
Source: https://docs.amberdata.io/data-dictionary/coverage/exchange-coverage
Explore our comprehensive coverage for centralized exchanges across spot, options, and futures markets.
# Coverage Explorer
Timestamps for datasets represent the oldest available historical start date.
## Additional Notes
* All **FTX** data coverage ends 2022-11-12, but historical data remains available.
* **CBOE Digital Spot** coverage ends 2024-05-31, but historical data remains available.
* **CBOE Digital Futures** coverage ends on 2025-06-06, but historical data remains available.
* **Arkham Spot and Futures** coverage ends on 2026-02-16 due to exchange moving to DEX model, but historical data remains available.
# Glossary
Source: https://docs.amberdata.io/data-dictionary/digital-asset-glossary
# A
### Airdrop
An airdrop is a distribution method that involves sending tokens or coins to wallet addresses for free. Airdrops are typically used as marketing to promote awareness and excitement of a new project or currency.
### Application Programming Interface (API)
An API is a set of definitions and protocols that allows different applications to communicate and share information with one another. APIs are intermediaries between software systems, and developers use APIs to incorporate features of an application into their own software.
### Arbitrage
Arbitrage is the simultaneous buying and selling of an asset in different markets to exploit the price difference for profit. For example, if one Ether (ETH) is sold for $2,000 USD on Exchange 1 and $2,010 USD on Exchange 2, then a trader can generate a \$10 profit for every ETH they arbitrage between the exchanges.
Arbitrage is often automated using code or software to take advantage of small differences in price.
### Automated Market Maker (AMM)
An automated market maker (AMM) is a computer program in decentralized exchanges (DEXs) that removes intermediaries by automating the liquidity process. An algorithm regulates the values and prices of tokens in the liquidity pool, removing any intermediaries in the trading of cryptocurrency and assets. Popular AMMs are Uniswap, Curve, Sushiswap, and Balancer.
***
# B
### Best-Bid Offer (BBO)
The Best-Bid-Offer (BBO) is the lowest ask and highest bid available at a given time. Level-1 data typically displays the BBO.
### Bid-Ask Spread
A bid-ask spread is the difference between a bid (buy) price and ask (sell) price of an asset on an exchange. A large bid-ask spread indicates poor market liquidity.
### Bitcoin (BTC)
Bitcoin is the native cryptocurrency to the Bitcoin network and was the first cryptocurrency created. It is denoted by a lower-case b, while the Bitcoin blockchain network is upper-case.
### Block
A block is the record of all transactions made during a specific time frame. In a blockchain network, transactions are composed of these sequential βblocksβ of data that are strung together linearly and chronologically. Blocks contain information about the date, time, and number of transactions, as well as the origin and destination of the transaction. A block records the most recent transactions not yet validated by the network. Once the data is confirmed by the network, the block is closed and the chain may continue transacting and creating new blocks.
### Blockchain
A blockchain is a decentralized, distributed, public ledger of transactions that exist across nodes of a computer network. This network uses a consensus mechanism to confirm data - each computer maintains its own copy of the shared record, making it nearly impossible for a malicious actor to alter or hack transactions. Blockchains are known for their role in cryptocurrency systems and guarantee trust without the need for a trusted third party.
***
# C
### Candlestick
Candlesticks represent the historical and real-time price activity of an asset during a given time frame through opening prices, highs, lows, and closing prices of financial instruments on an exchange.
### Centralization
Centralization refers to the concentration of control of an organization under a singular authority. In crypto, centralization refers to the distribution of nodes verifying the network, as well as to the entities that govern them. A centralized blockchain structure may concentrate governance and decision-making into the hands of company founders or investors.
### Centralized Exchange (CEX)
A centralized crypto exchange is one that is both created and governed by a company. The company acts as an intermediary between buyers and sellers, custodies usersβ funds and data, and controls the exchangesβ fees. Popular CEXs include Binance and Coinbase.
### Collateral
Collateral refers to an asset that a lender accepts as security for repayment of a loan. The asset is forfeited if the individual is unable to pay back the lone. In DeFi, borrowing money on a lending platform requires locking tokens as collateral.
### Consensus Mechanism
A consensus mechanism is a mechanism used to achieve agreement on the state of the blockchain ledger. Popular consensus algorithms include Proof of Work (PoW) and Proof of Stake (PoS).
### Cross-Chain
Cross-chain communication is technology that allows the exchange of information and value between different blockchain networks, creating an intertwined distributed blockchain ecosystem. Cross-chain communication is central to blockchain interoperability.
### Cryptocurrency
Cryptocurrency is a digital asset in which transactions are verified and maintained by a decentralized cryptography system rather than a centralized authority. Cryptocurrency uses blockchain technology, which certifies that coins and tokens are not double-spent or forged.
### Cryptocurrency Address
A cryptocurrency address is a unique string of characters that represent an individual wallet, an exchange, or another blockchain-specific address. All can be evaluated publicly but are also pseudonymous, as they are not necessarily linked to a userβs real-world identity.
### Cryptocurrency Exchange
A cryptocurrency exchange is a type of digital currency exchange where digital assets can be bought, sold, and traded. They are similar to traditional exchanges where stocks are bought and sold in the type of transactions and orders that users can execute.
### Custody
Custody is Defined as a safekeeping service financial institutions provide for their customersβ securities. In crypto, many institutions have the legal ability to hold and protect customersβ digital assets.
***
# D
### Decentralized Application (dApp)
Decentralized applications, commonly referred to as dApps, are digital programs that run on a blockchain network to keep usersβ data and information out of the hands of the organizations behind it. dApps appear similar to traditional web applications, but use distributed, peer-to-peer servers rather than centralized ones. Use cases for dApps range from investment technology and lending to insurance, gaming, and social networking. Popular examples include Uniswap, Curve, and OpenSea.
### Decentralized Application Programming Interface (dAPI)
Decentralized application programming interfaces (dAPIs) - an innovation of the API3 protocol - are API services that are compatible with blockchain technology.
### Decentralized Autonomous Organization (DAO)
A Decentralized autonomous organization (DAO) is a community-led blockchain-based organization that has no central authority. Members of a DAO own native utility tokens, and decisions are voted on by these stakeholders. Smart contracts are implemented for the DAO, and the code governing its operations is open-source and publicly disclosed.
### Decentralized Exchange (DEX)
A decentralized exchange (DEX) is a peer-to-peer marketplace for buying, trading, and selling digital assets. DEXs are often democratically managed and do not have a central intermediary to facilitate the transfer and custody of funds. Without a central authority charging fees for transactions and services, DEXs are often cheaper than their centralized counterparts.
### Decentralized Finance (DeFi)
Decentralized Finance (DeFi) refers to technology built on blockchain protocol that offers peer-to-peer (P2P) financial services such as loans, investments, trades, and derivatives. DeFi is an alternative to traditional finance (TradFi) systems and removes the centralized control banks and institutions have on money and financial services. DeFi systems are transparent and trustless, and their interoperability has led to innovations such as decentralized exchanges (DEXs), yield farming, liquidity pools, and more.
For more information on DeFi, please reference the Amberdata [DeFi Primer](https://www.amberdata.io/defi-decentralized-finance-primer).
### Decentralization
Decentralization refers to the transfer of control of an activity or organization to several local authorities rather than one single one. Blockchain technology powers the concept of decentralization in finance.
### Delegator
Delegators are token holders who wish to participate in consensus but do not, or cannot operate a full node. Instead, they secure the network by staking their coins or tokens to validator nodes to share a portion of the block rewards.
### Derivative
A derivative is a type of security set between two or more parties. These financial contracts derive their value from the underlying traits of an asset. Examples of derivatives are futures and options contracts. Examples of blockchain-enabled cryptocurrency derivatives are bitcoin futures, which represent agreements to trade bitcoin (BTC) at a future date at a predetermined price.
### Digital Asset
Digital asset is the broad term for assets that exist in a digital form or space. The term covers a wide variety of assets, including cryptocurrencies, NFTs, digital stocks, and other collectibles.
***
# E
### Epoch
An epoch is defined as the time required for the blockchain to grow by a specific number of blocks. Epochs are generally found on blockchains that use Proof of Stake (PoS), and each protocol has a different way of defining epochs (if they use them). Epochs are frequently used to distribute staking rewards or for security purposes. For example, an Ethereum epoch lasts 30,000 blocks, which is roughly 6.4 minutes.
### Ether (ETH)
Ether (ETH) is the native cryptocurrency of the Ethereum blockchain. Ether plays a pivotal role in the Ethereum ecosystem.
### Ethereum
Ethereum is a decentralized blockchain technology platform most commonly known for its native cryptocurrency Ether (ETH). It serves as an important foundation for a large ecosystem of decentralized applications (dApps) powered by self-executing smart contracts and token economies. The network uses ETH to pay transaction fees and forms the backbone of a decentralized internet.
### Exchange Rates
An exchange rate is the value of one currency for the purpose of conversation with another. In crypto, this may refer to a cryptocurrencyβs value in a fiat currency, such as the U.S. dollar.
### Exchange-Traded Fund (ETF)
An ETF, or an exchange-traded fund, is a product such as a stock, commodity, or bond that is tied to the price of other financial instruments. ETFs allow investors to gain access to an asset or assets without buying or owning the asset(s) directly. A digital asset ETF would allow investment in an underlying cryptocurrency or asset without the investor needing to manage the asset itself.
***
# F
### Fiat Currency
Fiat currency is any government-issued currency used by a specific nation, government, or region. Fiat currencies are backed by the government that issues them rather than by a physical commodity like gold. Fiat currencies include the U.S. dollar, the Indian rupee, and the euro.
### Fiat-Backed Stablecoin
Fiat-backed stablecoins are digital assets tied to the value of a fiat currency at a 1:1 ratio. This fiat currency is held off-chain reserves, serving as collateral to the stablecoin.
### Financial Instrument
A financial instrument is defined as any type of contract or financial asset with monetary value that can be traded or exchanged. Financial instruments include stocks, bonds, exchange-traded funds (ETFs), and derivatives.
### Flash Loan
A flash loan is a decentralized finance (DeFi) loan that is borrowed and settled in a single transaction without providing any collateral.
### Fork
A fork is when one blockchain diverges into two paths forward. On a blockchain, different parties need to use common rules to agree upon the history of the chain - when parties are not in agreement, alternative chains may emerge. Many forks are short-lived due to the difficulty of reaching a fast consensus in a distributed system, but some are permanent. In a hard fork, an update significantly alters the original blockchain protocol such that the two versions are no longer compatible, creating two unique blockchains.
### Fungibility
Fungibility is the quality of being mutually interchangeable and occurs when an asset or units of an asset are indistinguishable from one another. For example, one U.S. dollar is equivalent to another U.S. dollar and is fungible.
### Funding Rates
Funding rates are a mechanism that exchanges use to ensure that perpetual futures trade at a price that is consistent with the price of the underlying spot markets. Depending on open positions, traders will either pay or receive funding.
The funding rate is calculated by considering the interest rates for both trading pair currencies and the crypto index.
### Futures
A future is a derivative contract to buy or sell a particular asset or security at a predetermined price at a future date. Futures are traded on exchanges and have a variety of cryptocurrency applications such as bitcoin futures.
***
# G
### Gas Fees
Gas fees are payments made by users to complete a transaction on a blockchain. Gas fees act as compensation for the computing energy transactions require and are typically paid in the blockchainβs native cryptocurrency.
### Granularity
Granularity refers to the scale or level of detail present in a set of data. With crypto data, information needs to be as granular as possible in order to understand ecosystems, trade successfully, and monitor trends.
***
# H
### Hedge Fund
A hedge fund is a pooled investment fund that caters to high-net-worth individuals, institutional investors, and other accredited investors. Hedge funds use complex combinations of investment strategies to increase their performance and returns.
### High-Frequency Trading (HFT)
High-frequency trading (HFT) is an automated trading method that uses algorithms to rapidly buy and sell large quantities of orders. HFT is used by large investment banks, hedge funds, and institutional investors to trade large amounts at very high speeds.
***
# I
### Immutability
Immutability refers to something being unable to be changed. Blockchains are immutable, which allows data to be irreversibly codified into the shared ledger of a network after a transaction.
### Impermanent Loss
Impermanent loss is when the value of tokens held in an automated market maker (AMM) liquidity pool depreciates in value relative to other assets due to price volatility. The loss is βimpermanentβ because the original value of the tokens may be restored if the liquidity pool restores its balance.
Tracking impermanent loss at the event level is very difficult, but necessary when providing liquidity to a liquidity pool. For more information on how Amberdata can help investors reduce impermanent loss, please reference our [/Impermanent Loss Investor Guide](https://blockworks.co/news/the-investors-guide-to-navigating-impermanent-loss).
### Interoperability
Interoperability is the ability of software systems to exchange and make use of information. In a blockchain, interoperability refers to the ability of different blockchain protocols to work and interact with one another, such as sending crypto and data between chains.
### Insurance Fund
The insurance fund represents the total amount of liquidation fees maintained by each exchange. It is designed to cover losses of traders when their wallet balance is less than \$0 USD after all liquidations have occurred under forced liquidation. In these cases, the Insurance Fund will be used to cover these losses. As long as the Insurance Fund is positive, realized profits can be withdrawn after the next session settlement; otherwise, if the Insurance Fund is depleted, any uncovered loss will be socialized among the winning traders at the end of the trading session.
***
# J
### JSON
JSON (JavaScript Object Notation) is a lightweight data interchange format that is easy for humans to read and write and easy for machines to parse and generate. It is a text format that is often used to transmit data between a server and a web application as an alternative to XML. By default, all Amberdata responses will be returned in JSON format. Some endpoints have a `format` parameter which will allow you to receive the data in CSV format instead of JSON.
***
# K
### Key
A cryptographic key is a string of bits used by an algorithm that converts plain text into cipher text or vice versa as part of a paired key access system. Like a physical key, it locks data so only someone with the correct string of bits can unlock, or decrypt it.
***
# L
### Latency
In trading, latency refers to the time interval between an order being placed and the execution of that order. Low latency is desirable as it means there is minimal lag and a trader has a high possibility of securing the displayed price before the market changes.
### Ledger
A ledger is record keeping system for tracking financial transactions. A blockchain is a form of a public, distributed ledger.
### Lending
Lending is the action allowing a person or business the sum of money under an agreement to pay it back later. Lending protocols are popular in crypto and are a staple of decentralized finance (DeFi).
### Lending Pool
A lending pool is a smart contract that allows users to deposit and borrow money in a peer-to-peer (P2P) way. To borrow from a lending pool, users provide collateral in the form of assets - in cryptocurrency, this is usually in the form of tokens.
### Liquidation
Liquidation refers to a process where non-liquid assets are converted to liquid assets by being sold on the open market. Asset holders can voluntarily liquidate assets or can be forced to liquidate assets. For example, if a trader has an open leveraged position (usually via a futures contract) that goes against their intended goal, they would lose their entire position.
### Liquidity
For assets, liquidity refers to the ease with which an asset or security can be converted into ready cash without affecting its market price. The easier the asset is able to be converted to cash, the more liquid the asset is.
Liquidity in the market refers to the amount of trading activity - the higher the trading volume, the more liquid the market is.
### Liquidity Mining
Liquidity mining is a term used in decentralized finance (DeFi) applications where users supply assets or liquidity) to a specific pool, lock their assets in the pool, and earn interest in the form of a token. Liquidity mining provides incentives for users to increase the liquidity of the assets they hold and to earn rewards from doing so.
### Liquidity Pool
A liquidity pool is a digital collection of funds locked in a smart contract. Liquidity pools are usually crowdsourced pools of coins or tokens and are used to facilitate decentralized trading, lending, and other decentralized exchange (DEX) functions.
### Liquidity Provider (LP)
A liquidity provider (LP), also known as a market maker, is a user who deposits their crypto assets into a liquidity pool to help with decentralized trading. In return for supplying liquidity, users are typically awarded a percentage of fees generated by platform trades, which are paid out in LP tokens. Liquidity providers are incentivized to hold LP tokens to receive their passive income from trading fees and other rewards.
### Long/Short Ratio
The long/short ratio in crypto represents the amount of an asset that is currently available for short sale compared to the amount that has actually been shorted. This is a comparison between an exchangeβs active buying and selling volumes - if the ratio is low, this indicates that more users are holding shorts. The long-short ratio can be used as an indicator for a specific asset, but can also be used to show the value of short sales taking place for a basket of securities or for the market as a whole
***
# M
### Market Capitalization (Market Cap)
In cryptocurrency, market capitalization (market cap) refers to the total market value of a cryptocurrency. It is calculated by taking the market price of a token or coin and multiplying it by the total number of tokens or coins in circulation.
### Mempool
A mempool is a small βwaiting roomβ of verified but unconfirmed transactions that every node keeps. When a pending transaction is confirmed by being included in a block, it is removed from the mempool. Many transactions pending in a mempool congest network traffic and increase average transaction confirmation time.
### Metaverse
Broadly, a metaverse is a shared and integrated network of virtual reality worlds. The metaverse is a key concept in decentralized finance and falls under the Web3.0 umbrella.
### Mining
Mining is the process that verifies and records new transactions to the blockchain for a cryptocurrency that uses proof-of-work (PoW) methods. It also describes the process for the computational work that nodes in a blockchain network undertake in hopes of earning new tokens.
### Mining Pool
A mining pool is a group of miners who pool or share their computational resources, such as processing power, over a blockchain network to increase their rate of return on mining rewards.
### Minting
Minting is the process of generating new coins or tokens for a blockchain network by authenticating data, creating blocks, or recording information through a proof-of-stake (PoS) protocol. Minting in crypto is similar to the minting of fiat currencies within traditional finance, in that there is no set limit on the amount of currency that can be printed, except that printing must be controlled to prevent inflation or devaluation. Minting requires no resources and is often carried out by validator nodes, and both cryptocurrency and non-fungible tokens (NFTs) can be minted this way.
***
# N
### Network Latency
Network latency, also called lag, is the time it takes for data to be captured, transmitted, and processed from its source to its destination. Low network latency indicates there are very fast transmission times and this is a critical characteristic of a high-performance blockchain.
### Node
In blockchain technology, a node is a computer that runs the blockchainβs software and serves a number of essential functions to the distributed system network. Nodes can validate transactions and store complete histories of transactions on a network. The distributed structure of nodes keeps blockchains secure.
### Non-Fungible Token (NFT)
A non-fungible token (NFT) is a cryptographic asset that represents a unique digital asset. These cannot be exchanged or traded equivalently like other cryptographic assets like Bitcoin and Ethereum, making them non-fungible. NFTs are created via smart contracts and are classified with token standards that vary based on the blockchain protocol they use. NFTs are commonly used to represent ownership of art or digital collectibles, verify records and identity, or create decentralized marketplaces
***
# O
### Off-Chain
In blockchain technology, off-chain is a classification that refers to any type of transaction which occurs outside of the blockchain protocol. Off-chain transactions can include governance, tokenized asset creation, consensus design, or fund transfers through exchanging private keys.
### On-Chain
On-chain refers to any type of transaction which occurs within the blockchain network protocol. On-chain mechanisms are usually automatically executed through cryptographic and algorithmic codes that underline a blockchain.
### Open High Low Close Volume (OHLCV)
Open High Low Close Volume (OHLCV) is an aggregated form of market data that includes five data points during a specific period. The open and close information represents the first and last price level, high and low represent the highest and lowest price reached, and volume represents the total amount traded during the specified period. OHLCV is frequently represented in a candlestick chart.
### Open Interest
In crypto, open interest refers to the number of contracts outstanding in futures and options that are trading on a cryptocurrency exchange at a given time.
### Options
Options are a type of derivative contract that allows investors to buy or sell instruments like securities, ETFs, or index funds at a predetermined price over a specified period of time. In cryptocurrency, options markets allow investors to bet on the potential direction of an asset either as a leveraged bet on the potential increase in the price of a token or coin or as a call option with the hope of profiting from price depreciation in the future.
### Oracle
A blockchain oracle is a piece of software that extracts real-world, or off-chain information, and provides it on the blockchain. Smart contracts automatically execute transactions on a blockchain when certain pre-specified conditions are met, but blockchains cannot make API calls to connect with data outside their network. Oracles are the layer that queries external data sources from APIs or feeds and then transmits the requested data back to the blockchain.
For an in-depth summary of the types and benefits of different blockchain oracles, please see our [/Demystifying Blockchain Oracles Paper](https://go.amberdata.io/demystifying-blockchain-oracles-ebook).
### Order Book
An order book is an electronic list of buy and sell orders for a security or other financial instrument (in cryptocurrency, a specific cryptocurrency asset) organized by price level. Order books are composed of the number of shares or assets being bought and sold at specific prices in the order in which they are executed. Order books provide critical trading and investment data to improve market transparency.
Amberdata provides minutely snapshots for all exchanges and assets we cover, including historical order book data.
***
# P
### Permissioned
A permissioned blockchain is a distributed ledger that is only accessible by certain users, meaning that certain tasks can be carried out by only specific network participants. Accessing permissioned networks often requires a suitable identity verification process as well as a specialized security key or password.
### Permissionless
In a blockchain context, permissionless refers to blockchains that are open networks available for everyone to participate in a consensus process that blockchains use to validate data and transactions. Permissionless is also referred to as trustless or public blockchains. Ethereum and Bitcoin networks are examples of permissionless systems.
### Proof-of-Stake (PoS)
Proof-of-stake (PoS) is a blockchain consensus mechanism used to validate transactions by incentivizing users to stake native coins in validator node networks. Nodes are randomly chosen to validate block data and earn native coins as a reward, and validators generally are able to contribute democratically to decentralized protocol governance through voting on key decisions. Proof of stake offers increased network security, energy efficiency, and computational power and is emerging as one of the most widely used blockchain consensus mechanisms.
### Proof-of-Work (PoW)
Proof-of-Work (PoW) describes the process of blockchain consensus mechanisms that rely on mining to maintain the network. Miners use electricity and computing power to solve the complex cryptographic puzzles required to confirm network transactions and are rewarded with the networkβs coin or token. PoW blockchain systems are more secure and distributed than most networks but are criticized for their high energy intensity.
### Protocol
A blockchain protocol refers to a particular blockchain platform or network, such as the Bitcoin protocol. Protocols can also refer to the network rules that define interactions such as consensus and transaction validation.
***
# Q
### Quantitative Trading (Quant)
Quantitative trading, also called algorithmic trading, refers to trading strategies that rely on computations and complicated algorithms to identify trading opportunities and quantify risk.
### Query
A query is a request to retrieve information using a database or computer system.
***
# R
### Real-Time
Real-time refers to a level of computer responsiveness that can deliver information through a system as close to the speed of experience as possible. Real-time is usually measured in milliseconds and is important in cryptocurrency, as having real-time prices is crucial to trading.
***
# S
### Smart Contract
A smart contract is a self-executing code or protocol stored on a blockchain that carries out specific instructions when predetermined conditions are met. Smart contracts are trustless, decentralized, and transparent. They have many use cases in finance and are popular for loans, derivatives, and trading, as well as for financial security. Outside of finance, they are used for legal contracts, mortgage systems, supply chain management, and even healthcare.
### Spot Market
The spot market is where financial instruments such as commodities, currencies, securities, or assets are immediately settled and delivered. Contrasting to futures markets, spot market purchases are settled at the price fixed at the point of purchase.
### Stablecoin
A stablecoin is a cryptocurrency with the intention of holding some stable value. The value of most stablecoins is pegged to a fiat currency like the U.S. dollar or a tangible commodity like the value of gold. Stablecoins can also achieve stability through collateralization against other cryptocurrencies or by automatic token supply management. Popular stablecoins include USDC and DAI.
### Staking
Staking is the process by which a blockchain network user locks their assets for a period of time to ensure the security, liquidity, and functionality of the network. In exchange for this, stakers can earn rewards such as additional coins or tokens. Staking is integral to proof-of-stake (PoS) blockchain protocols.
### Staking Pool
A staking pool allows multiple stakeholders to combine their tokens or coins into a collective pool to increase their chance of receiving network rewards. Staking pools occur on proof-of-stake networks.
### Swap (Derivative)
A swap is a derivative contract in which one party exchanges or swaps the values or cash flows of one asset for another. Generally, the amount does not change hands during a swap, and often one cash flow exchange is fixed while the other(s) are variable based on floating exchange rates, specific interest rates, or index prices. Swaps are typically carried out by large institutions and take place over the counter (OTC).
***
# T
### Ticker (Token Symbol)
Tickers represent trade bids or asks from an order book. The bid price represents the maximum price that a buyer is willing to pay for an asset. The ask price represents the minimum price that a seller is willing to take for that same asset.
### Time-Weighted Average Price (TWAP)
The time-weighted average price (TWAP) is the average price of a security over a specified time. TWAP is used as a strategy to minimize large ordersβ impact on the market, and high-volume traders use TWAP to execute orders over a specific time to keep the price close to what reflects the true market price.
### Token
A crypto token is a unit of value for a programmable asset that is managed by a smart contract and a blockchain network. Tokens are the primary way of transferring and storing value on a blockchain network and can be fungible or non-fungible.
### Total Value Locked (TVL)
Total value locked (TVL) measures the value of all crypto assets deposited in a decentralized finance (DeFi) protocol. TVL can also be used to reference the amount locked on a specific DeFi protocol, such as Aave or Uniswap.
### Trading Volume
Trading volume refers to the total number of shares or contracts traded over a given time frame or during trading hours in a day.
### Traditional Finance (TradFi)
Traditional finance (TradFi) refers to the bureaucratic financial system that includes banks and large financial enterprises. These legacy institutions operate using a centralized model.
***
# U
***
# V
### Validator
A validator is an entity responsible for verifying transactions within a blockchain. Blockchain protocols each have their own guidelines for how validators operate within their network.
### Volume-Weighted Average Price (VWAP)
Volume-Weighted Average Price (VWAP) is the average price of an asset across all exchanges available over a time interval, based on both volume and price. VWAP is an aggregated form of price data and provides traders with insight into both the trend and value of an asset.
***
# W
### Wallet
A cryptocurrency wallet is a program or device that stores usersβ cryptocurrency keys and allows them access to the tokens or coins they hold. Each wallet has a specific address that enables users to interact with blockchains and send and receive crypto assets. Wallets may be custodial or controlled by a centralized third-party entity, or non-custodial, where the user controls their keys themselves.
### Web 3.0
Web 3.0 refers to the third generation of the evolution of web and computer technologies with the goal to allow users to own and control their data. This new wave anticipates that technologies like blockchain will decentralize financial interactions and the internet. Web 3.0βs core tenants rest upon using peer-to-peer (P2P) model for websites, applications, and the internet as a whole. Many believe blockchain and crypto technologies are central to the realization of this open, public, and borderless system.
### Whale
A whale in crypto refers to a high net worth individual (HNWI) or organization that holds a very large amount of a cryptocurrency. There is no set monetary threshold to be considered a whale, but when converted to USD, coins or tokens typically exceed \$10M.
### Wrapped Token
Wrapped tokens are assets that are pegged directly to the value of another cryptocurrency. Users lock their original asset in a digital vault and receive the wrapped token to be used on another blockchain protocol. Wrapped tokens offer a way to use cryptocurrencies such as Ether or Bitcoin on blockchains other than the one they were built on.
***
# X
***
# Y
### Yield Farming
Yield farming is the process of lending or staking cryptocurrencies within a blockchain protocol to generate interest and tokenized rewards. Many decentralized finance (DeFi) projects and protocols use yield farming to incentivize users to contribute to the networkβs liquidity.
***
# Z
***
# HTTP & Real-time Subscription
Source: https://docs.amberdata.io/data-dictionary/http-real-time-subscription
Please note that Amberdata uses WebSockets for real-time data delivery.
At the bottom right corner of the table, click on
"[View larger version](https://airtable.com/app0SQJuf0tihRCTt/shrebAIQ591fVX8JY/tblxY9f5Hewod4fc9?viewControls=on)"
to open this table in a new tab.
# Funding Rates
Source: https://docs.amberdata.io/data-dictionary/market/funding-rates
# Definition
Funding rates are a mechanism that exchanges use to ensure that perpetual futures trade at a price that is close to the price of the underlying spot markets. Realized funding rates are covered for perpetual futures.
Although the method for calculating the funding rate differs among exchanges, the basic concept remains the same: the funding rate is positive when the price of perpetual futures exceeds the spot price of the underlying asset, and negative when the price is below the spot price. In cases where the funding rate is positive, holders of long positions compensate short position holders. Conversely, when the funding rate is negative, short position holders compensate long position holders. This funding rate mechanism incentivizes traders to maintain alignment between perpetual futures prices and the underlying spot price.
***
# Details
Exchanges differ in their funding rate mechanism design and how they report the data through their API.
* **Realized funding rate:** Many exchanges report two types of funding rates. The realized funding rate represents the actual funding rate calculated over the previous funding interval and determines the funding payment. The predicted funding rate is the current estimate of the funding rate expected at the end of the current funding interval. Some exchanges refer to this as the real-time funding rate or next funding rate. While the predicted funding rate may be relevant to some users, this data concept focuses exclusively on the realized funding rate. Any references to βfunding rateβ herein correspond to the realized funding rate.
* **Funding interval:** The funding interval specifies how frequently the funding rate and funding payments are calculated. For many exchanges, funding rates are produced every 8 hours, calculated based on the difference between the futures price and the spot price over the previous 8-hour period, making the funding interval 8 hours. For certain exchanges, funding rates and payments are calculated continuously, with the funding interval conventionally set to 1 millisecond.
| Exchange | Funding Rate Frequency |
| ------------- | ---------------------- |
| Arkham | every hour |
| Binance | real-time |
| Bitget | every 8 hours |
| BitMEX | every 8 hours |
| Bybit | every 8 hours |
| Coinbase Intl | every hour |
| Deribit | real-time |
| dYdX | every hour |
| FTX | real-time |
| Huobi | every 8 hours |
| Hyperliquid | every hour |
| Kraken | every 4 hours |
| OKEx | every 8 hours |
***
# API Endpoints
## Futures
[/markets/futures/funding-rates/information](/http/market/futures-funding-rates-information)
[/markets/futures/funding-rates/\{instrument}](/http/market/futures-funding-rates)
[/market/futures/batch-funding-rates/\{exchange}](/http/market/futures-batch-funding-rates)
***
# Frequently Asked Questions
**What are Funding Rates in crypto?**
* Funding rates help align the perpetual futures contract price with the index price. They are designed to keep prices closer to spot prices and to compensate for discrepancies caused by the perpetual nature of the contracts. All cryptocurrency derivatives exchanges apply funding rates to perpetual contracts, with the standard unit expressed as a percentage. Funding rates result from market behavior and can provide interpretive insights into the derivatives market, which is a dominant price maker. However, equating high funding rates directly with inevitable price drops can be misleading. During bull markets, high funding rates often coincide naturally with rising prices.
***
# Insurance Funds
Source: https://docs.amberdata.io/data-dictionary/market/insurance-funds
# Definition
An insurance fund is a pooled amount of money that an exchange maintains if there is a mismatch between the closing price of a leveraged position and the bankruptcy price of the same position. The funds are used to make up the difference to the side of the position that would have otherwise suffered due to the price discrepancy.
***
# Details
**Example:**
Trader A opens a position with a bankruptcy price (the price at which the position becomes worthless to Trader A) of 7,500, while Trader B is on the opposite side of the position. Whether Trader A is long or short does not matter here, as the focus is on the bankruptcy price.
If the market moves against Trader A and the position reaches the liquidation price (the price at which the exchange will start to close the position), but due to market illiquidity the actual closing price is 7,475, this results in a loss of \$25 for Trader B (the difference between the expected 7,500 and actual 7,475).
Because this loss would be unfair to Trader B, the insurance fund covers the missing \$25. In simpler terms, the insurance fund acts as βgapβ insurance, protecting counterparties when an illiquid market causes a discrepancy between the expected closing price and the actual closing price.
***
# API Endpoints
## Futures
[/markets/futures/insurance-fund/information](/http/market/futures-insurance-fund-information)
[/markets/futures/insurance-fund/\{instrument}](/http/market/futures-insurance-fund)
***
# Frequently Asked Questions
**Is the amount of the fund for each asset in USD or units of the asset?**
* The query parameter called 'fund' shows the number of units of that asset in the fund. For example, the BTC fund shows 2510.3140881325317 as of 8/31/22. This means there are 2510.xxx BTC in the fund.
***
# Liquidations
Source: https://docs.amberdata.io/data-dictionary/market/liquidations
# Definition
Futures contracts enable market participants to trade with leverage β that is, market participants are allowed to have a position with notional value greater than the amount of money they have in their account. This raises the possibility that market participants can lose more money than they have. To address this possibility, exchanges that offer futures products have a liquidation system that will attempt to close a market participantβs position before the point at which the market participant begins to owe more than what is in the account.
***
# Details
A simplified example illustrates the process. Suppose a trader deposits \$100 into an exchange and buys \$10,000 worth of Bitcoin perpetual contracts, resulting in a leverage of 100x. Also, suppose the current price of Bitcoin is \$10,000. If the price declines to \$9,900 (the βbankruptcy priceβ), the trader would be bankrupt. Therefore, the exchange sets the liquidation price for this traderβs position at \$9,925 (the βliquidation priceβ). If the price declines to this liquidation price, the exchange will forcibly initiate a sell liquidation order to attempt to close the traderβs position.
***
# API Endpoints
## Futures
[/markets/futures/liquidations/information](/http/market/futures-liquidations-information)
[/markets/futures/liquidations/](/http/market/futures-liquidations)
## Options
[/markets/options/liquidations/information](/http/market/options-liquidations-information)
[/markets/options/liquidations/](/http/market/options-liquidations)
***
# Frequently Asked Questions
**What is a liquidation?**
* Liquidation refers to the activity of selling off crypto assets for cash to mitigate losses in the event of a market crash. However, in the crypto world, the term liquidation is mainly used to describe the forced closing of a traderβs position due to the partial or total loss of the traderβs initial margin. This happens when investors do not have sufficient funds to keep the trade open.
**What is crypto margin trading?**
* Crypto margin trading is the process of borrowing money (typically from a crypto exchange) to trade a higher volume of assets. This method can provide the trader with increased buying power (or leverage) and the potential for greater profits. Of course, it comes with severe implications.
**When does forced liquidation happen?**
* Liquidation happens when an exchange closes out a traderβs position because it can no longer meet margin requirements. Margin is the percentage of the total trade value that must be deposited with the exchange to open and maintain a position. When a traderβs margin account falls below a level previously agreed upon with the exchange, positions will automatically start liquidating. When a leveraged position reaches the liquidation threshold, traders will face a βmargin call,β which means they have to add more funds in order to increase margin.
***
# Long/Short Ratio
Source: https://docs.amberdata.io/data-dictionary/market/longshort-ratio
# Definition
The long/short ratio indicates the number of long positions relative to short positions for a particular instrument. The long-short ratio is considered a barometer of investor expectations, with a high long-short ratio indicating positive investor expectations. For example, a long-short ratio that has increased in recent months indicates that more long positions are being held relative to short positions. This could be because of various factors ranging from market conditions to geopolitical events. The long-short ratio is used by many as a leading indicator of market health and direction, including as a precursor to what the spot markets will soon be experiencing.
***
# Details
The long/short ratio is calculated by dividing the long positions by the short positions. This gives a ratio representing the number of long positions to short positions. For example, the BTCUSDT instrument on Binance on August 29, 2022, shows a ratio of 1.8145, a long position of 0.6447, and a short position of 0.3553. Simply put, the long/short ratio of 1.8145 means that there are 1.8145 as many long positions as short positions. This would be considered a bullish signal.
***
# API Endpoints
## Futures
[/markets/futures/long-short-ratio/information](/http/market/futures-long-short-ratio-information)
[/markets/futures/long-short-ratio/\{instrument}](/http/market/futures-long-short-ratio)
***
# Frequently Asked Questions
**Who uses the long/short ratio?**
* The long/short ratio is popular amongst professional and less seasoned traders alike. It is used by many as a leading indicator of market health and direction.
***
**Why is this time interval different compared to other endpoints?**
* There is an option to use the 5-minute time frame interval because the lowest granularity offered by the exchanges is 5 minutes.
***
**What is the `metricType` parameter and what values does it support?**
* The `metricType` parameter lets you specify which long/short ratio metric to retrieve. There are three supported values:
| Value | Description |
| -------------------- | ------------------------------------------------------------------------------------------------------------ |
| `default` | Long/short ratio across all accounts on the exchange. |
| `topTraderPositions` | Long/short ratio by dollar-weighted position size among the top 20% of traders by margin balance. |
| `topTraderAccounts` | Long/short ratio by account count among top traders β each account counted once regardless of position size. |
* If not specified, the parameter defaults to long/short ratio across all accounts on the exchange.
***
**What is the difference between `topTraderPositions` and `topTraderAccounts`?**
* Both metrics focus on Binance's top traders, but they measure different things. `topTraderPositions` is dollar-weighted β it reflects where the largest capital is actually allocated, so a small number of whales with outsized positions can move the ratio significantly. `topTraderAccounts` counts each top trader account equally regardless of position size, giving you a sense of how many large traders are bullish versus bearish. The two metrics can diverge meaningfully, and that divergence itself can be a useful signal.
***
**Which exchanges support `topTraderPositions` and `topTraderAccounts`?**
* Currently only `binance` is supported. Requests using these metric types with any other exchange will return an empty `data` array.
# FAQs
Source: https://docs.amberdata.io/data-dictionary/market/market-faqs
**What exchanges do you cover?**
* Explore our coverage using our interactive and searchable coverage table [found here](/data-dictionary/coverage/exchange-coverage)!
* If you have an API key, you can query any of our information endpoints as well:
* [Spot Exchanges](/http/market/spot-exchanges-information)
* [Options Exchanges](/http/market/options-exchanges-reference)
* [Futures Exchanges](/http/market/futures-exchanges-reference)
**How does Amberdata ensure the quality and integrity of data?**
* Only top-rated exchanges with the highest trading volumes are included. Each exchange undergoes an evaluation process that considers API stability, data accessibility, documentation quality, and data granularity. This validation process ensures that only exchanges meeting strict reliability and accuracy standards are supported, resulting in consistently clean and reliable data. Several exchanges also rely on this dataset for their internal trade surveillance and compliance operations.
**What are your timestamp conventions?**
* Unix time stamping conventions are expressed in UTC.
**What is your historical data coverage?**
* Please see the [Market Data Coverage](/docs/market/market-overview) section.
**Do you support tokenized assets like those from Kraken and Hyperliquid?**
* Yes, we now support tokenized equities via Kraken xStocks within our Spot datasets and equity perpetuals from Hyperliquid and BitMEX within our Futures datasets. Customers can access OHLCV, Order Book (Snapshots & Events), Tickers, and Trades for tokenized equity assets from our Spot datasets. For Futures data, customers can access Funding Rates, OHLCV, Open Interest, Order Book Snapshots, and Trades for equity-linked perpetual markets. Customers can ingest these datasets via API, WebSockets, and bulk delivery in the same way they access other Market Data products today.
**How do I find and query tokenized equity instruments across exchanges?**
* Each exchange uses a different naming convention for tokenized equity instruments. Here's how to identify and query them across our supported exchanges:
Kraken
Hyperliquid
BitMEX
Dataset
Spot
Futures
Futures
Exchange Format
AAPLx/USD
cash:TSLA
TSLAUSDT
API Instrument Name
aaplx\_usd (normalized)
cash:TSLA (not normalized)
TSLAUSDT (not normalized)
Base Symbol
AAPLx
TSLA
TSLA
Quote Symbol
USD
USDT
USDT
Naming Convention
dex:coin
Identifying Filter
aclassBase == tokenized\_asset
Builder prefix (e.g., cash:)
type == FFSCSX
**How often is the Reference endpoint updated?**
* The Reference endpoint, which contains instrument metadata such as precision, limits, and other exchange-specific configuration fields, is refreshed approximately every 5 minutes. This ensures that updates made by exchanges are reflected in the API in a timely manner.
# OHLCV
Source: https://docs.amberdata.io/data-dictionary/market/ohlcv
# Definition
OHLCV is an aggregated form of market data standing for Open, High, Low, Close and Volume. OHLCV data includes 5 data points: the Open and Close represent the first and the last price level during a specified interval. High and Low represent the highest and lowest reached price during that interval. Volume is the total amount traded during that period. This data is most frequently represented in a candlestick chart, which allows traders to perform technical analysis on intraday values. OHLCV data is provided with minutely, hourly or daily granularity.
**Spread OHLCV Feature:**
The Spread OHLCV feature provides pricing data for spread instruments composed of two contracts, such as a **perpetual swap and a futures contract**. It tracks the price difference (spread) between the two instruments, offering insights into market sentiment and opportunities for advanced traders. Amberdata offers OKX Nitro Spreads and Deribit and Thalex Combos.
***
# Details
For the OHLCV values, the price is always in quotes, and the volume unit is always in base. For example, if the pair was BTC-USD, then the prices returned are in USD and the volume is in BTC.
Exchanges compute their daily candles differently and don't all use midnight UTC. See the table below for reference:
| Spot Exchange | Time of daily compute |
| ------------------- | --------------------- |
| Arkham | TBD |
| Binance | 00:00:00 |
| Binance.US | 00:00:00 |
| Bitfinex | 00:00:00 |
| Bitget | 16:00:00 |
| Bithumb | 15:00:00 |
| Bitmex | 00:00:00 |
| Bitstamp | 00:00:00 |
| Bitvavo | 00:00:00 |
| Blockchain.com | 00:00:00 |
| Bybit | 00:00:00 |
| Coinbase Intx | 00:00:00 |
| CoinW | 00:00:00 |
| Crypto.com | 00:00:00 |
| Deribit | 08:00:00 |
| dYdX | 00:00:00 |
| FTX | 00:00:00 |
| FTXUS | 00:00:00 |
| Gateio | 00:00:00 |
| GDAX (Coinbase Pro) | 00:00:00 |
| Gemini | 04:00:00 and 00:00:00 |
| Hashkey | 00:00:00 |
| Huobi | 16:00:00 |
| Hyperliquid | 00:00:00 |
| Kraken | 00:00:00 |
| LMAX | 00:00:00 |
| MEXC | 00:00:00 |
| Mercado Bitcoin | 00:00:00 |
| OKex | 16:00:00 |
| Phemex | 16:00:00 |
| Poloniex | 00:00:00 |
| Kucoin | 00:00:00 |
| Upbit | 00:00:00 |
| ZB | 16:00:00 |
***
# API Endpoints
## Spot
[/markets/spot/ohlcv/information](/http/market/spot-ohlcv-information)
[/markets/spot/ohlcv/\{instrument}](/http/market/spot-ohlcv)
[/market/spot/batch-ohlcv/\{exchange}](/http/market/spot-batch-ohlcv)
## Futures
[/markets/futures/ohlcv/information](/http/market/futures-ohlcv-information)
[/markets/futures/ohlcv/\{instrument}](/http/market/futures-ohlcv)
[/market/futures/batch-ohlcv/\{exchange}](/http/market/futures-batch-ohlcv)
## Options
[/markets/options/ohlcv/information](/http/market/options-ohlcv-information)
[/markets/options/ohlcv/\{instrument}](/http/market/options-ohlcv)
[/market/options/batch-ohlcv/\{exchange}](/http/market/options-batch-ohlcv)
***
# Frequently Asked Questions
**What are your standard offered timeframes?**
* The standard offered timeframes are 1 minute, 1 hour, and 1 day.
**How is OHLCV data useful?**
* OHLCV data enables the creation of visual charts that reveal momentum trends for specific trading pairs. A wide gap between the open and close prices indicates strong momentum, while a narrow gap suggests market indecision or weak momentum. The high and low prices capture the full range of price movement during the period, providing key insights into volatility. Traders often analyze these charts to identify recognizable patterns that can guide trading decisions.
***
# Open Interest
Source: https://docs.amberdata.io/data-dictionary/market/open-interest
# Definition
Open interest is the total number of outstanding derivative contracts, such as options or futures, that have not been settled for an asset. Open interest provides an accurate picture of derivative trading activity, including whether money flowing into options and futures markets is increasing or decreasing.
***
# Details
Understanding open interest revolves around how options and futures contracts are created. If an options contract exists, it must have had a buyer. For every buyer, there must be a seller since you cannot buy something that is not available for sale. The relationship between the buyer and seller creates a contract. The contract is considered "open" until the counterparty closes it. Adding up the open contracts, where there is a buyer and seller for each, results in the open interest.
***
# API Endpoints
## Futures
[/markets/futures/open-interest/information](/http/market/futures-open-interest-information) [/markets/futures/open-interest/](/http/market/futures-open-interest)
## Options
[/markets/options/open-interest/information](/http/market/options-open-interest-information)
[/markets/options/open-interest/\{instrument}](/http/market/options-open-interest)
[/market/options/batch-open-interest/\{exchange}](/http/market/options-batch-open-interest)
***
# Frequently Asked Questions
**Why is knowing open interest important?**
* Open interest is a measure of the flow of money into a futures or options market. If open interest is increasing, this represents new or additional money coming into the market, while decreasing open interest indicates money flowing out of the market. While this isnβt indicative of whether or not the trades will be profitable, it is a good measure of interest in the market, or more specifically, a particular instrument.
**Can open interest be used as an indicator of market momentum?**
* Yes. Since open interest represents additional money and interest coming into a market, it is generally interpreted to be an indication that the existing market trend is gaining momentum or is likely to continue.
# Order Books
Source: https://docs.amberdata.io/data-dictionary/market/order-books
# Definition
An order book is an electronic book, or list, of buy and sell orders for a specific asset or instrument. The order book lists the number of units being bid on or offered per price point, or market depth.
***
# Details
Amberdata's order book endpoints provide comprehensive access to all bids and asks for each asset and pair across all supported exchanges. Order book coverage spans all markets: spot, futures, and options.
Order book events contain the full granularity of the order book. Reconstructing order books across specific exchanges, pairs, or dates for use cases like research, backtesting, or modeling is possible using RESTful API endpoints.
Order book snapshots are 1-minute looks at the order books for a higher-level look at any pair on supported exchanges.
Order book endpoints are structured as follows:
* **Bid** - the highest rate that someone is willing to buy the currency from you
* **Ask** - the lowest rate that someone in the market is willing to sell you the currency
* **Mid** - average of the bid and ask rates (the bid and ask prices will be either side of the mid market rate)
* **Last** - price at which the last trade occurred
***
# API Endpoints
## Spot
[/markets/spot/order-book-events/\{instrument}](/http/market/spot-order-book-events)
[/markets/spot/order-book-snapshots/information](/http/market/spot-order-book-snapshots-information)
[/markets/spot/order-book-snapshots/\{instrument}](/http/market/spot-order-book-snapshots)
## Futures
[/markets/futures/order-book-events/\{instrument}](/http/market/futures-order-book-events)
[/markets/futures/order-book-snapshots/information](/http/market/futures-order-book-snapshots-information)
[/markets/futures/order-book-snapshots/\{instrument}](/http/market/futures-order-book-snapshots)
## Options
[/markets/options/order-book-events/information](/http/market/options-order-book-events-information)
[/markets/options/order-book-events/\{instrument}](/http/market/options-order-book-events)
[/markets/options/order-book-snapshots/information](/http/market/options-order-book-snapshots-information)
[/markets/options/order-book-snapshots/\{instrument}](/http/market/options-order-book-snapshots)
***
# Order Book Maximum Depth
| Exchange | Spot Data | Futures Data | Options Data |
| ------------------- | ---------- | ------------ | ------------ |
| Arkham | Full Depth | Full Depth | X |
| Binance | 5000 | 1000 | 1000 |
| Binance.US | 5000 | X | X |
| Bitfinex | 100 | X | X |
| Bitget | 150 | 400 | X |
| Bithumb | 50 | X | X |
| Bitmex | Full Depth | Full Depth | X |
| Bitstamp | Full Depth | X | X |
| Bullish | Full Depth | X | X |
| Bybit | 200 | 500 | 25 |
| CBOE Digital | 20 | 20 | X |
| Coinbase Intl | 20 | 20 | X |
| CoinW | 20 | X | X |
| Crypto.com | 50 | X | X |
| Deribit | Full Depth | 1000 | 1000 |
| dYdX | X | 100 | X |
| FTX\*\* | 100 | 100 | X |
| FTX US\*\* | 100 | 100 | 100 |
| GDAX (Coinbase Pro) | Full Depth | X | X |
| Gemini | Full Depth | X | X |
| Hashkey | 200 | X | X |
| Huobi | 150 | 150 | X |
| Hyperliquid | X | 20 | X |
| itBit | Full Depth | X | X |
| Kraken | 100 | Full Depth | X |
| Kucoin | 100 | X | X |
| LMAX | Full Depth | Full Depth | X |
| Mercado Bitcoin | 1000 | X | X |
| MEXC | 5000 | X | X |
| OKex | 1000 | 2000 | 400 |
| Poloniex | 150 | X | X |
| Upbit | 15 | X | X |
| ZB | 50 | X | X |
***
# Frequently Asked Questions
**How granular is your order book data?**
* The order book dataset includes every price-level event (or "flick") for supported trading pairs across all integrated exchanges. Historical data is available for select exchanges dating as far back as 2011.
**What are common use cases for your order book data?**
* Order book data is commonly used for quantitative research, trading strategy development, and backtesting. For example, a researcher can reconstruct the Bitstamp BTC/USD order book from 2014, or a developer can access multi-month historical depth data across multiple exchanges and trading pairs using the historical REST API.
**Do you offer real-time streaming order book data?**
* Yes. WebSocket subscriptions are supported for real-time order book feeds across spot, options, and futures markets.
**Where do you get your order book data from?**
* All order book data is sourced directly from exchange-provided APIs and data feeds.
**What is the difference between Order Book Snapshots and Order Book Events?**
* **Order Book Snapshots**:\
Captured via exchange REST APIs at one-minute intervals. Each snapshot includes the full available depth of the order book, as permitted by the exchange. Snapshot depth varies by venueβfor example, Binance or Coinbase may return thousands of levels, while others may limit data to the top 50 price levels.
* **Order Book Events**:\
Represent incremental changes (deltas) to the order book, rather than the full book. Exchanges provide these through real-time feeds, often batched at intervals such as 10β100 milliseconds. These updates reflect any modifications to the order book between snapshots.
**Why do you call it Order Book Events and not Updates?**
* "Events" is a more accurate term, as it captures multiple types of changesβincluding additions, updates, and deletions. For example:
* A **deletion** is represented by a volume of zero.
* An **addition** or **update** is shown as a new volume at a specific price level.\
Each event replaces the previous value; it is not calculated as a delta. This approach aligns with how exchanges format and transmit the data.
**Are all the data fields the same across exchanges?**
* No. There will be differences in the output of intruments/pairs from exchange to exchange. For example, Binance, Bybit and others show 'null' for the numOrders field in Futures whereas Hyperliquid shows a value.
***
# Reference Rates
Source: https://docs.amberdata.io/data-dictionary/market/reference-rates
# Definition
Amberdata's Reference Rates provide benchmark prices for BTC and ETH across qualified exchanges. Amberdataβs hourly and daily reference rates are published once per hour and once per day. They are SOC I and II compliant, GAAP-aligned, and adhere to the IOSCO Principles for Financial Benchmarks.
Reference rates play an important role for financial institutions, which use benchmark reference prices for reporting, making informed trading decisions, and settling contracts. Amberdataβs Reference Rates are produced using trade data from exchanges that meet a selection of quantitative and qualitative criteria. The trade data is processed via several statistical techniques to produce a highly representative United States dollar price for a given digital asset. The price is denominated in U.S. dollars because the U.S. dollar is the most widely used currency in international transactions.
***
# Details
The daily rate is an hourly reference rate marked with a timezone relevant to the userβs geographical location. For example, an hourly reference rate calculated at 8 p.m. UTC is the 4 p.m. EST daily reference rate and will be marked as such when the rate is produced.
**BTC and ETH reference rates are currently available via REST API, with delivery in AWS S3 coming soon.**
The algorithm for hourly and daily reference rates of an Asset, A, at Delivery Time, T, can be summarized in the following steps:
1. At the top of the hour, retrieve all Qualified Transactions for Asset, A, within the Lookback Window, L
2. Convert all of the Qualified Transactions to U.S. dollar prices where necessary
3. Split L into K partitions of size L
4. Within each partition, calculate the volume weight per unique price level per exchange
5. Within each partition, calculate the price variance weight per exchange
6. Within each partition, calculate the transaction weight per exchange
7. Combine the aforementioned weights to generate an aggregate weight per price level per exchange within each partition
8. For each partition, calculate the weighted median price using the price and aggregate weight pairs
9. The outcome of the weighted median calculation will be K prices, one for each partition of L
10. Using the K prices, compute a Hadamard product with exponentially decreasing time weights defined for each partition
11. The sum of the elements in the Hadamard product vector is the hourly reference rate
12. For the supported time zones and geographies, mark the hourly reference rate as a daily reference rate when appropriate
[For additional details on our process and methodology, please download our white paper here.](https://go.amberdata.io/lp-reference-rates-wp)
***
# API Endpoints
## Spot
[/markets/spot/reference-rates/](/http/market/spot-reference-rates)
***
# Availability
**Qualified Exchanges**
Exchanges are qualified using a rigorous methodology. A venue is eligible to be a Qualified Exchange if it offers a spot trading market for any of the Qualified Transactions of the Supported Assets. All venues that are in consideration to be included in the reference rate calculation must fulfill the following quantitative measures:
* For a given asset in Supported Assets, over the previous 180 days, the mean daily volume of the asset in the venue under evaluation must be at least 3% of the combined mean daily volume of the asset across all venues over the same period.
* 3% is set as the threshold because 2.35% is the cutoff for two standard deviations. Hence we round up to the nearest integer to not be below the two standard deviation threshold
* Volume is measured in units of the given asset
Every 90 days, all currently included exchanges and any not included are evaluated against the latest Eligibility Criteria. In extraordinary circumstances, exchanges that do not meet the Eligibility Criteria may be excluded from the methodology temporarily. The temporary suspension may result in permanent removal if warranted. Please refer to the [Reference Rates White Paper](https://go.amberdata.io/lp-reference-rates-wp) for more information on exchange qualification.
The current list of exchanges whose transactions (spot trades) are included in the real-time reference rates calculation is listed below.
| Exchange | Methodology Version | Removed in Version |
| ---------- | ------------------- | ------------------ |
| Binance | 1.0.0 | |
| Binance.US | 1.0.0 | |
| Bitfinex | 1.0.0 | |
| Bitstamp | 1.0.0 | |
| Bybit | 1.0.0 | |
| Coinbase | 1.0.0 | |
| Gemini | 1.0.0 | |
| Huobi | 1.0.0 | |
| Kraken | 1.0.0 | |
| LMAX | 1.0.0 | |
| MEXC | 1.0.0 | |
| OKX | 1.0.0 | |
| Poloniex | 1.0.0 | |
**Supported Timezones**
For the query parameter dailyTime, the following time zones are supported:
| 4 p.m. Relative to UTC | Geographic Location |
| ---------------------- | --------------------- |
| βT16:00:00-04:00" | New York |
| βT16:00:00-05:00β | New York |
| βT16:00:00+00:00β | London |
| βT16:00:00+01:00β | London |
| βT16:00:00+09:00β | Tokyo |
| βT16:00:00+08:00β | Singapore & Hong Kong |
| βT16:00:00+04:00β | Dubai |
***
# Frequently Asked Questions
**What makes your reference rates manipulation-resistant?**
* The reference rate algorithm is highly immune to manipulation through the use of weights and medians. The combination of price-level volume weight, exchange price dispersion weight, and exchange transaction weight ensures that exchanges with high volume and low price dispersion are treated favorably.
**Why do you use exponential time weighting?**
* Staying relevant is crucial in volatile crypto markets, where prices can and do change extremely rapidly. Amberdata uses exponential time weighting in our calculations by assigning more weight to recent transactions. This makes the reference rate highly responsive to the *latest* market conditions. By emphasizing recent data, our approach minimizes the impact of earlier noise and any outliers and reduces lag effects from news, regulatory events, or large trades that affect other methods.
**How does your methodology adapt to various market conditions?**
* Amberdata's methodology considers how price dispersion is important during periods of high volatility and also penalizes illiquid and highly volatile exchanges in the calculation. For time-sensitive and regulation-bound use cases (such as a benchmark for financial instruments, tax, accounting, compliance, etc), our comprehensive and responsive approach ensures precision, relevance, and accuracy.
**Why do you have two London and New York time zones supported for daily rates?**
* There are two options for New York and London to account for Daylight Saving Time and British Summer Time, respectively.
***
# Tickers
Source: https://docs.amberdata.io/data-dictionary/market/tickers
# Definition
Tickers represent the best bids/asks from an order book. The bid price represents the maximum price that a buyer is willing to pay for an asset. The ask price represents the minimum price that a seller is willing to take for that same asset.
A trade or transaction occurs when a buyer in the market is willing to pay the best offer availableβor is willing to sell at the highest bid. The difference between bid and ask prices, or the spread, is a key indicator of the liquidity of the asset. In general, the smaller the spread, the better the liquidity. Bid and ask prices are set by the market.
***
# Details
Amberdata provides incremental tick-level updates/deltas of all bids and asks on an order book. This level 2 data is available within the Order Book endpoints. Tickers are derived from this tick-level order book data, which is the best bid and best ask (top of the order books) for a traded instrument.
***
# API Endpoints
## Spot
[/markets/spot/tickers/information](/http/market/spot-tickers-information)
[/markets/spot/tickers/\{instrument}](/http/market/spot-tickers)
## Futures
[/markets/futures/tickers/information](/http/market/futures-tickers-information)
[/markets/futures/tickers/\{instrument}](/http/market/futures-tickers)
## Options
[/markets/options/tickers/information](/http/market/options-tickers-information)
[/market/options/tickers/\{instrument}](/http/market/options-tickers)
***
# Frequently Asked Questions
**What does "ticker" mean?**
* In cryptocurrency markets, a ticker represents the top of the order book, commonly referred to as the Best Bid and Offer (BBO) in traditional finance. The best bid is the highest price a buyer is willing to pay, while the best ask (or offer) is the lowest price at which a seller is willing to sell.
**How does bid-ask spread work?**
* The bid-ask spread is the difference between the highest bid price and the lowest ask price for an asset. A narrow bid-ask spread generally indicates high liquidity and demand, whereas a wider spread may indicate lower demand and greater price volatility.
**Do you offer Greeks for options contracts?**
* Yes, full Greeks data is provided through the [Tickers Latest endpoint](/http/market/options-tickers)
**What does the "sequence" field represent?**
* The sequence field is used to establish the exact order of events within order book updates. Each update is timestamped, and where available, a sequence ID helps ensure precise event sequencing. It should be noted that not all exchanges provide sequence IDs.
***
# Trades
Source: https://docs.amberdata.io/data-dictionary/market/trades
# Definition
Trade Data is a general term for tick-by-tick data, or all executed transactions occurring on an exchange. The list of supported centralized exchanges can be found [here](/docs/market/market-overview).
***
# Details
The trade datasets consist of all tick-by-tick trade data, timestamped, and with the trade direction normalized from the taker side. Historical trade data is provided via REST API and CloudSync, while real-time trade data is available via WebSockets.
We collect trade data by connecting to each exchange's feeds- WebSockets, REST APIs, and bulk files where available.
For every supported exchange, trade data is collected in real-time, made publicly available in the exchangeβs API documentation. Every executed transaction is collected. Immediately after receiving these trades, the data is normalized to ensure consistency across exchanges.
***
# API Endpoints
## Spot
[/markets/spot/trades/information](/http/market/spot-trades-information)
[/markets/spot/trades/\{instrument}](/http/market/spot-trades)
## Futures
[/markets/futures/trades/information](/http/market/futures-trades-information)
[/markets/futures/trades/\{instrument}](/http/market/futures-trades)
## Options
[/markets/options/trades/information](/http/market/options-trades-information)
[/markets/options/trades/\{instrument}](/http/market/options-trades)
***
# Frequently Asked Questions
**How do you normalize the tick-by-tick trade data?**
* Trade data is normalized using a consistent asset pair format (e.g., `asset_asset`), ensuring uniformity regardless of exchange or pair.
**How do you interpret the fields?**
* Please see the [API documentation](/http/http-api-fundamentals) for descriptions of each response field.
**What is the latency?**
* Latency is real-time and under 100 milliseconds.
**How do you collect/extract CEX data?**
* Trade data from centralized exchanges is collected via their public APIs, using authorized polling methods and maintaining close collaboration with exchanges to ensure data quality.
**What if there are duplicate trades?**
* Trades may share identical timestamps but are differentiated by unique trade IDs. Trades are ordered chronologically by timestamp.
**Are DEXs covered in Market Trade data?**
* Most decentralized exchange (DEX) trade data is not included in these endpoints and is covered separately in Amberdataβs DeFi/DEX data services. However we do support some DEX's using central order books with RESTful and Websockets interfaces.
**There is no trade data for an exchange I am interested in - what do I do?**
* Amberdata supports all major exchanges and welcomes inquiries about additional exchanges of interest.
***
# Stablecoins Analytics
Source: https://docs.amberdata.io/data-dictionary/stablecoins/stablecoins-analytics
# Definition
The Stablecoins Analytics dataset provides hourly aggregated insights into stablecoin activity across major blockchains. It includes metrics such as transfer volume, mint and burn activity and the number of unique participants. This data allows users to evaluate adoption, monitor liquidity flows and understand usage trends across chains.
# Details
This dataset provides a clear view into how stablecoins are issued, burned and transferred across blockchains. It also tracks wallet-level activity to help quantify participation and identify shifts in usage across networks.
Each data point includes:
* Transfer Volume β Total USD value of tokens moved between addresses
* Mint Volume β Total USD value of newly issued tokens
* Burn Volume β Total USD value of burned tokens
* Transaction Counts β Number of transfers, mints and burns
* Wallet Activity β Count of unique sending and receiving addresses
* Asset and Chain Details β Token symbol, contract address, blockchain and timestamp
Common use cases include:
* Measuring stablecoin demand across chains and ecosystems
* Monitoring protocol-level mint and burn trends
* Identifying capital migration during market volatility
* Supporting treasury management and on-chain flow analytics
* Correlations with macroeconomic events
To explore and visualize this dataset, visit: [https://intelligence.amberdata.com/open-data/stablecoins](https://intelligence.amberdata.com/open-data/stablecoins)Β
# API Endpoints
[https://docs.amberdata.io/http/blockchain/stablecoins-information-gold](https://docs.amberdata.io/http/blockchain/stablecoins-information-gold)
[https://docs.amberdata.io/http/blockchain/stablecoins-transfers-hourly-gold](https://docs.amberdata.io/http/blockchain/stablecoins-transfers-hourly-gold)Β
# Availability
| **Blockchain** | **Status** | **startDate** |
| :------------- | :----------- | :------------ |
| Arbitrum | Full History | 2021-09-01 |
| Avalanche | Full History | 2020-09-21 |
| Base | Full History | 2023-07-13 |
| BNB | Full History | 2019-04-23 |
| Ethereum | Full History | 2015-07-30 |
| Optimism | Full History | 2021-11-11 |
| Polygon | Full History | 2020-05-30 |
| TRON | Full History | 2018-06-25 |
# Frequently Asked Questions
**What is included in the transfer volume?**
Transfer volume measures the total USD value of tokens moved between addresses, excluding mint and burn operations.
**How is mint and burn volume calculated?**
Mint volume is based on new token issuance events by the contract. Burn volume reflects tokens sent to known burn addresses or destroyed through contract functions. Both are measured in USD.
**Are contract addresses consistent across chains?**
No. Contract addresses for a given asset are unique per blockchain. To analyze one asset across chains, use the assetSymbol rather than assetAddress.
**How do I access the underlying dataset for these dashboards?**
Please reach out to an Account Executive at [sales@amberdata.io](mailto:sales@amberdata.io)Β
# Overview
Source: https://docs.amberdata.io/data-dictionary/stablecoins/usd-stablecoins
Note: This dataset is updated daily and is available via Databricks, and Snowflake.
***
# Description
An increase in fiat-backed stablecoins typically signals a positive market trend, reflecting an influx of new capital entering the blockchain ecosystem. Conversely, a decline in stablecoin supply may indicate bearish investor sentiment. Meanwhile, growth in crypto-backed stablecoins highlights an expansion of leverage and more sophisticated financial strategies within the blockchain space.
Amberdataβs stablecoin dashboards track the creation (minting) and destruction (burning) of stablecoins on the Ethereum network, along with user activity, prices, market capitalization, and token velocity. Our coverage includes major USD stablecoins such as USDC, USDT, DAI, FUSD, TUSD, FRAX, PYUSD, HUSD, MIM, LUSD, BUSD, USDP, and FEI, as well as EUR stablecoins including EURC, EURT, VEUR, EURS, AEUR, EURA, and SEUR.
***
# Use Case
**Traders:**\
Traders monitor stablecoin issuance on-chain to identify shifts in market liquidity and sentiment. A rising stablecoin supply may signal increased buying power and potentially bullish conditions, while declines could indicate bearish sentiment or tightening liquidity, informing short-term trading strategies to exploit price movements.
**Researchers:**\
Researchers analyze stablecoin issuance to gain insights into blockchain ecosystem health and adoption trends. By examining issuance patterns, they assess trust levels in fiat-backed versus crypto-backed stablecoins and explore how various economic factors influence the digital asset landscape.
**Analysts:**\
Analysts focus on stablecoin issuance as a key indicator of investment trends and risk exposure in cryptocurrency markets. A growing stablecoin supply may point to increased market interest or hedging behavior, while a shrinking supply can reflect investor risk aversion. This data supports informed forecasting and portfolio advisory decisions.
***
# Methodology
* **Issuance:** Measured as the daily mints and burns executed by the token contract.
* **Circulating Supply:** Calculated as the cumulative sum of issuance over time.
* **Market Capitalization (USD and EUR):** Derived by multiplying circulating supply by token price. For USD prices, we prioritize daily close prices from centralized spot exchanges. If unavailable, prices are calculated via WETH-based decentralized exchange prices and converted to USD. EUR prices are computed by converting the USD price using the EUR/USD exchange rate.
* **Transfers:** Counts, sums, and averages all token transfers within the contract, including mints and burns.
* **Senders & Receivers:** Distinct daily counts of unique input and output addresses involved in token transfers.
* **Holders:** The number of addresses holding a token balance greater than zero. (Currently available for EUR stablecoins; USD stablecoin holder counts will be added soon.)
***
***
# Datasets Information
Source: https://docs.amberdata.io/http/amberlens/amberlens-information
get /metrics/information
Lists institutional market metrics available via the API for market structure, positioning, and institutional activity analysis. Previously known as Amberlens. For visual exploration, related representations of select datasets are also available within [Amberdata Intelligence](https://intelligence.amberdata.com/)
# Get Dataset
Source: https://docs.amberdata.io/http/amberlens/amberlens-metrics
get /metrics/data
Retrieves a specific institutional metric dataset for market structure and positioning analysis. Previously known as Amberlens. Related visual representations of select datasets are also available within [Amberdata Intelligence](https://intelligence.amberdata.com/)
# Altcoin ATM Hourly
Source: https://docs.amberdata.io/http/analytics/derivatives/altcoin-atm-hourly
get /analytics/volatility/altcoin/atm/hourly
This endpoint returns the βAt-The-Moneyβ volatility profile for a specified altcoin pair. The payload will include various days-to-expiraton so users can see the term-structure.
# Apr-Basis Constant Maturity
Source: https://docs.amberdata.io/http/analytics/derivatives/apr-basis-constant-maturity
get /analytics/futures-perpetuals/apr-basis/constant-maturities
This endpoint returns the quoted futures basis for various exchanges, interpolated to reflect a constant days to expiration (DTE).
# Apr-Basis Constant Maturity Decorated
Source: https://docs.amberdata.io/http/analytics/derivatives/apr-basis-constant-maturity-decorated
get /analytics/futures-perpetuals/apr-basis/constant-days-to-expiration
This endpoint returns the quoted futures basis for various exchanges, interpolated to reflect a constant days to expiration (DTE). The data also features dynamic granularity based on the selected date range.
# Apr-Basis Live Term Structure
Source: https://docs.amberdata.io/http/analytics/derivatives/apr-basis-live-term-structure
get /analytics/futures-perpetuals/apr-basis/live-term-structures
This endpoint returns the current quoted futures prices along with the differential to spot and the annualized apr of the spot differential.
# Bid Ask Spread
Source: https://docs.amberdata.io/http/analytics/derivatives/bid-ask-spread
get /analytics/futures-perpetuals/depth/bid-ask-spread
This endpoint allows users to explore the bid-ask spread for a specific futures or perpetual assets across one or more exchanges. It provides both the absolute dollar spread (based on the best bid and offer) and the spread as a percentage of the mid-price.
# Block Volumes
Source: https://docs.amberdata.io/http/analytics/derivatives/block-volumes
get /analytics/trades-flow/block-volumes
This endpoint returns the total block traded options volume for a selected exchange and a selected underlying currency. The volume is broken out by instruments for 3rd party "blockTrades" (venues such as Paradigm, GreeksLive, etc).
# Correlation, Beta and Realized Volatility
Source: https://docs.amberdata.io/http/analytics/derivatives/correlation-beta-and-realized-volatility
get /analytics/realized-volatility/correlation-beta
This endpoint returns the entire series of closing prices for two selected currency pairs from a given exchange. In addition to the series of closing prices the endpoint also returns the various realized volatility measures (using the high/low Parkinson method), rolling correlation calculation and beta. Beta is a measure of the second pair, in terms of the first pair.
# Decorated Trades
Source: https://docs.amberdata.io/http/analytics/derivatives/decorated-trades
get /analytics/trades-flow/decorated-trades
This endpoint returns option "times and sales" data that's decorated with pre-trade level-1 orderbook data and post-trade level-1 data. This is the core dataset of the Amberdata direction and GEX "Gamma Exposure" analysis. We use this orderbook impact to analyze the true aggressor of every trade, while assuming that market-makers (aka "dealers") are typically the passive trade participants. Some exchanges, such as "okex" and "bybit" will have volatility values in decimal format (ex: 97% iv will be noted as 0.97)
# Delta Surfaces Constant
Source: https://docs.amberdata.io/http/analytics/derivatives/delta-surfaces-constant
get /analytics/volatility/delta-surfaces/constant
This endpoint returns the option delta surface with constant maturities.
# Delta Surfaces Floating
Source: https://docs.amberdata.io/http/analytics/derivatives/delta-surfaces-floating
get /analytics/volatility/delta-surfaces/floating
This endpoint returns the option delta surface with floating maturities (exchange listed expirations).
# Depth
Source: https://docs.amberdata.io/http/analytics/derivatives/depth
get /analytics/futures-perpetuals/depth
Percentage depth profiles offer insights into the order book structure and available liquidity at different price levels. By analyzing buy and sell liquidity within a specified percentage range from the best-bid/best-ask, traders can assess liquidity distribution and its impact on market behavior. The order book depth endpoint returns liquidity data in percentage-based tranches, measured in basis points, at 1-minute intervals. If no date range is specified, the most recent 24 hours of data will be returned.
# Pressure
Source: https://docs.amberdata.io/http/analytics/derivatives/depth-pressure
get /analytics/futures-perpetuals/depth/pressure
Order book pressure is a market indicator that measures the relative balance between buy and sell orders. It is calculated as: Order_Book_Pressure = (bid depth β ask depth) This metric provides insight into market sentiment by quantifying the dominance of buyers or sellers. A positive value indicates stronger bid depth, while a negative value signals sell-side dominance.
# Deribit vs Model Hourly
Source: https://docs.amberdata.io/http/analytics/derivatives/deribit-vs-model-hourly
get /analytics/volatility/atm/deribit-vs-model-hourly
This endpoint compares the model βAt-The-Moneyβ volatility versus the implied volatility found on Deribit, in order to validate our proprietary βmodelAtmβ. The payload will include various daysToExpiraton so users can see the term-structure.
# Funding Rates
Source: https://docs.amberdata.io/http/analytics/derivatives/funding-rates
get /analytics/futures-perpetuals/funding-rates
This endpoint returns funding realized/accumulated data, which refers to the payments made between traders holding long and short positions in perpetual futures contracts. Accumulated funding is the total series of payments made between selected dates.
# Funding Realized/Accumulated
Source: https://docs.amberdata.io/http/analytics/derivatives/funding-realized-accumulated
get /analytics/futures-perpetuals/realized-funding-rates-cumulated
This endpoint returns funding realized/accumulated data, which refers to the payments made between traders holding long and short positions in perpetual futures contracts. Accumulated funding is the total series of payments made between selected dates.
# Futures Depth Instruments
Source: https://docs.amberdata.io/http/analytics/derivatives/futures-depth-information
get /analytics/futures-perpetuals/depth/information
This endpoint returns all available exchanges and futures/perpetual instruments with order book depth data.
# Gamma Normalized in USD
Source: https://docs.amberdata.io/http/analytics/derivatives/gamma-normalized-in-usd
get /analytics/trades-flow/gamma-exposures/normalized-usd
This chart depicts the overall impact of "gamma exposure" (GEX) in terms of notional in the underlying for a 1% move in spot prices.
# Gamma Snapshots (GEX)
Source: https://docs.amberdata.io/http/analytics/derivatives/gamma-snapshots-gex
get /analytics/trades-flow/gamma-exposures-snapshots
GEX aims to calculate the gamma exposure of Market Makers (MMs) and the resulting number of underlying contracts they must trade to keep their book delta-hedged. "Positive/long gamma" => more underlying stability because of "Buy low, sell high" "Negative/short gamma" => more underlying volatility because of "Sell low, buy high" Starting point is the direction of trades with our proprietary algorithm "AMBERDATA DIRECTION" composed of over 30 heuristics that estimate the "correct direction" = side of the initiator/aggressor of the trade at which other side there is "likely" a MMs. With this algorithm we are able to flag every trades by tracking the orderbook at millisecond level, to calculate and maintain a database of MMs gamma exposure
# Implied (vs) Realized
Source: https://docs.amberdata.io/http/analytics/derivatives/implied-vs-realized
get /analytics/realized-volatility/implied-vs-realized
This endpoint returns the close-to-close hourly realized volatility for 7-days and 30-days. Using the daysToExpiration parameter, users can choose which "at-the-money" implied volatility to compare.
# Index Delivery Price
Source: https://docs.amberdata.io/http/analytics/derivatives/index-delivery-price
get /analytics/volatility/index-delivery-price
Returns the delivery price for futures and options instruments at expiration, providing the settlement price used to calculate profit and loss at contract expiry.
# Options Instruments
Source: https://docs.amberdata.io/http/analytics/derivatives/instruments-information
get /analytics/instruments/information
This endpoint returns all available exchanges, currencies and option instruments. If a timestamp is used we can then filter the information for historical data.
# Instruments Most Traded
Source: https://docs.amberdata.io/http/analytics/derivatives/instruments-most-traded
get /analytics/instruments/most-traded
This endpoint returns the most traded instruments on a selected exchange for a selected underlying currency, for a given date range. Users can filter out select trade types: "ALL" trades, "Block" trades and "Non-Block" trades.
# Level 1 Quotes
Source: https://docs.amberdata.io/http/analytics/derivatives/level-1-quotes
get /analytics/volatility/level-1-quotes
This endpoint returns the Level 1 option chain with associated volatilities, greeks and underlying prices. This is the core underlying options data for many analytics.
Although this data streams to Amberdata every 100ms this endpoint returns the first observation for each instrument in 1-minute, 1-hour or 1-day intervals.
Note: Due to the density of data historical date ranges are limited to 60x 1-minute or 24x 1 hour intervals, per call. If no date range is passed, the most recent option chain will be returned.
# Liquidations Aggregate (Futures and Perpetuals)
Source: https://docs.amberdata.io/http/analytics/derivatives/liquidations-aggregate-futures-and-perpetuals
get /analytics/futures-perpetuals/liquidations-total
This endpoint returns the total aggregated liquidations for both futures and perpetuals for a selected time interval and exchange venue. The liquidations are split into "Buy-To-Close" and "Sell-To-Close" buckets. The endpoint is dynamic in terms of granularity. 1-day of data returns 5-min, 7-days returns hourly, 30-days returns daily.
# Moneyness Surfaces Constant
Source: https://docs.amberdata.io/http/analytics/derivatives/moneyness-surfaces-constant
get /analytics/volatility/moneyness-surfaces/constant
This endpoint returns the option implied volatility surface in the form of moneyness from the "underlying" future's price for constant expirations. This surface is calibrated using SVI and is therefor available in hourly format (historical), real-time (on-going) for BTC and ETH on Deribit only.
# Moneyness Surfaces Floating
Source: https://docs.amberdata.io/http/analytics/derivatives/moneyness-surfaces-floating
get /analytics/volatility/moneyness-surfaces/floating
This endpoint returns the option implied volatility surface in the form of moneyness from the "underlying" future's price for listed expirations. This surface is calibrated using SVI and is therefor available in hourly format (historical), real-time (on-going) for BTC and ETH on Deribit only.
# Monthly versus Daily Volatility Ratio
Source: https://docs.amberdata.io/http/analytics/derivatives/monthly-versus-daily-volatility-ratio
get /analytics/realized-volatility/monthly-vs-daily-ratio
This endpoint returns the relationship/comparison of Parkinson realized volatility calculation using one monthly calculation versus 30 daily calculations. The reasons these calculations might differ is due to mean-reversion, intra-month volatility and trending markets.
# Open Interest
Source: https://docs.amberdata.io/http/analytics/derivatives/open-interest
get /analytics/futures-perpetuals/open-interest-total
This endpoint returns the total asset open interest for both futures and perpetuals across the various exchanges. The open interest is returns in raw coin amounts and millions of dollars.
# Options Yields
Source: https://docs.amberdata.io/http/analytics/derivatives/options-yields
get /analytics/trades-flow/options-yields
The "Covered Call" strategy assumes the trader is long exactly one unit of underlying
asset after proceeds from selling their call.
Example: Underlying price = \$500, Trader position in underlying before selling the call = \$475
Short \$700 call proceeds = \$25 Trader positioning in underlying after short call proceeds = \$500
(one whole unit)
RETURN CALCULATIONS
Absolute Yield: \$25/\$475 Annualized Yield: \$25/\$475 * (525,600 / minutes left until expiration)
The "Cash Secured Put" yield assumes the trader maintains enough cash on hand AFTER proceeds
from selling the put.
Example: Trader's cash position BEFORE selling put = \$275 Short \$300 Put Proceeds = \$25
Trader cash balance AFTER short put proceeds = \$300 (100% cash secured)
RETURN CALCULATIONS
Absolute Yield: \$25/\$275 Annualized Yield: \$25/\$275 * (525,600 / minutes left until expiration)
# Put Call Ratio
Source: https://docs.amberdata.io/http/analytics/derivatives/put-call-ratio
get /analytics/trades-flow/put-call-ratio
This endpoint returns the Put Call Ratio for open interest and volume. The users can request the data in daily or hourly granularity.
# Put Call Trades Distribution
Source: https://docs.amberdata.io/http/analytics/derivatives/put-call-trades-distribution
get /analytics/trades-flow/put-call-distribution
Using proprietary algorithm (Amberdata direction) that assess real initiator of a trade, we sum by the amounts of contracts and premium of the last 24 hours (default) according to put/call/bought/sold metrics.
# Pairs Information
Source: https://docs.amberdata.io/http/analytics/derivatives/realized-volatility-information
get /analytics/realized-volatility/cones/information
This information endpoint returns the available spot data for realized volatility and price calculations provided for each specific exchange. (AVAILABLE EXCHANGE: binance, bithumb, bitstamp, gdax, gemini, kraken, okex, poloniex)
# Seasonality: Volatility Day of Week
Source: https://docs.amberdata.io/http/analytics/derivatives/seasonality:-volatility-day-of-week
get /analytics/realized-volatility/seasonality/day-of-week
This endpoint returns the average realized volatility, for a select date range, grouped by the day-of-the-week. Users can view how weekend volatility compares to say, Wednesday realized volatility, etc.
# Seasonality: Volatility Month of the Year
Source: https://docs.amberdata.io/http/analytics/derivatives/seasonality:-volatility-month-of-the-year
get /analytics/realized-volatility/seasonality/month-of-year
This endpoint returns the average realized volatility, for a select date range, grouped by the month-of-the-year. Users can view how Q4 volatility compares to say, Q1 volatility, etc.
# SVI - Historical
Source: https://docs.amberdata.io/http/analytics/derivatives/svi-historical
get /analytics/volatility/svi-hourly
This endpoint provides calibrated SVI (Stochastic Volatility Inspired) parameters for BTC and ETH options traded on Deribit, with hourly granularity. The data covers each hour from April 1, 2019, to the present, offering a historical view of volatility surface calibrations for these assets.
Download the SVI White Paper here: https://go.amberdata.io/hubfs/SVITrueLineWhitepaper.pdf
# SVI - Minutely
Source: https://docs.amberdata.io/http/analytics/derivatives/svi-minutely
get /analytics/volatility/svi-minutely
This endpoint provides calibrated SVI (Stochastic Volatility Inspired) parameters for BTC and ETH options traded on Deribit, with 5-minute granularity. Offering a timely calibration view of the volatility surface.
Download the SVI White Paper here: https://go.amberdata.io/hubfs/SVITrueLineWhitepaper.pdf
# Term Structures Constant
Source: https://docs.amberdata.io/http/analytics/derivatives/term-structures-constant
get /analytics/volatility/term-structures/forward-volatility/constant
This endpoint returns the term structure (for exchange listed expirations) with forward volatility calculations, for constant "daysToExpiration" maturities.
# Term Structures Floating
Source: https://docs.amberdata.io/http/analytics/derivatives/term-structures-floating
get /analytics/volatility/term-structures/forward-volatility/floating
This endpoint returns the term structure (for exchange listed expirations) with forward volatility calculations, for active exchange listed maturities.
# Term Structures Richness
Source: https://docs.amberdata.io/http/analytics/derivatives/term-structures-richness
get /analytics/volatility/term-structures/richness
This endpoint returns the term structure richness. The "Term Structure Richness" is the relative "level" of the Contango or Backwardation shape. A reading of 1.00 would be a perfectly flat term structure - as measured by our method - while readings below/above represent Contango/Backwardation respectively. Using the term structure levels enables us to quantify how extended the term structure pricing currently is, at any point in time. The calculation take a ratio of 7-day ATM IV versus, 30-day, 60-day. 90-day and 180-days.
# Top Trades
Source: https://docs.amberdata.io/http/analytics/derivatives/top-trades
get /analytics/options-scanner/top-trades
This endpoint contains all the relevant information about the most important trades both on screen and blocked. Besides the usual information this endpoint have some proprietary nuances that helps market watchers to read the flow deeply. Among the others: - "Amberdata Direction" is the metrics we developed for gauging the real initiator of a trade - "Delta Hedge" highlight is a block trade contained a futures leg - The information of the orderbook prior to the trade ("pre" columns) and post ("post" columns)
# Decorated Trades
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-decorated-trades
get /analytics/trades-flow/decorated-trades/tradfi
This endpoint returns option βtimes and salesβ data decorated with pre-trade level-1 order book data, along with Greeks and implied volatility metrics.Order book impact logic is used internally for GEX (βGamma Exposureβ) modeling. The TradFi decorated trades response does not include aggressor classification or direction fields such as amberdataDirection or exchangeDirection.
# Delta Surfaces Constant
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-delta-surfaces-constant
get /analytics/volatility/delta-surfaces/constant/tradfi
This endpoint returns the option delta surface with constant maturities.
USA Trading hours are 14:30:00 - 21:00:00 UTC (9:30a-4pm ET)
# Delta Surface Floating
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-delta-surfaces-floating
get /analytics/volatility/delta-surfaces/floating/tradfi
This endpoint returns the option delta surface with floating maturities (exchange listed expirations).
# Implied (vs) Realized
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-implied-vs-realized
get /analytics/realized-volatility/implied-vs-realized/tradfi
This endpoint returns the close-to-close daily realized volatility for 5-days and 21-days. Using the daysToExpiration parameter, users can choose which "at-the-money" implied volatility to compare. Implied Volatility is returned on an hourly interval.
USA Trading hours are 14:30:00 - 21:00:00 UTC (9:30a-4pm ET)
# Instruments Most Traded
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-instruments-most-traded
get /analytics/instruments/most-traded/tradfi
This endpoint returns the most traded instruments on a selected exchange for a selected underlying currency, for a given date range. This endpoint also returns the VWAP (Volume-Weighted-Average-Price) and VWAP of implied volatility. The calculation for VWAP uses each available trade, weighted by contract sizes and applied to Price USD and/or Implied Volatility, for the given date range.
# Level 1 Quotes
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-level-1-quotes
get /analytics/volatility/level-1-quotes/tradfi
This endpoint returns the "Level 1" option chain with associated volatilities, greeks and underlying prices. This is the core underlying options data for many analytics.\n\nNote: Due to the density of data historical date ranges are limited to 60x 1-minute or 24x 1 hour intervals, per call. If no date range is passed, the most recent option chain will be returned.
USA Trading hours are 14:30:00 - 21:00:00 UTC (9:30a-4pm ET)
# Level 1 Quotes Instrument
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-level-1-quotes-instrument
get /analytics/volatility/level-1-quotes-instrument/tradfi
# Open Interest
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-open-interest
get /analytics/volatility/open-interest/tradfi
This endpoint returns the end-of-day (EOD) open interest snapshot. Unlike the crypto landscape where open interest is continuously updated, the tradFi environment only updates open interest once per day. This is because the clearing house needs to tally up all the activity for the day, in order to publish outstanding open interest at the end-of-the-day.
# Option Volumes
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-option-volumes
get /analytics/trades-flow/option-volumes/tradfi
This endpoint returns the total traded options volume for a selected currency.
# Options Instruments
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-options-instruments
get /analytics/instruments/information/tradfi
This endpoint returns all available exchanges, currencies and option instruments. If a timestamp is used we can then filter the information for historical data.
USA Trading hours are 14:30:00 - 21:00:00 UTC (9:30a-4pm ET)
# Options Yields
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-options-yields
get /analytics/trades-flow/options-yields/tradfi
The "Covered Call" strategy assumes the trader is long exactly one unit of underlying asset after proceeds from selling their call.
Example: Underlying price = \$500, Trader position in underlying before selling the call = \$475 Short \$700 call proceeds = \$25 Trader positioning in underlying after short call proceeds = \$500 (one whole unit)
RETURN CALCULATIONS
Absolute Yield: \$25/\$475 Annualized Yield: \$25/\$475 * (525,600 / minutes left until expiration)
The "Cash Secured Put" yield assumes the trader maintains enough cash on hand AFTER proceeds from selling the put.
Example: Trader's cash position BEFORE selling put = \$275 Short \$300 Put Proceeds = \$25 Trader cash balance
AFTER short put proceeds = \$300 (100% cash secured)
RETURN CALCULATIONS
Absolute Yield: \$25/\$275 Annualized Yield: \$25/\$275 * (525,600 / minutes left until expiration)
# Realized Volatility (Close-to-Close)
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-realized-volatility-close-to-close
get /analytics/realized-volatility/tradfi
This endpoint returns the entire series of close-to-close realized volatility and OHLCV prices for a selected currency (ticker). Note the realized volatility calculation window must have enough data points to return a value.
# Term Structures Constant
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-term-structures-constant
get /analytics/volatility/term-structures/forward-volatility/constant/tradfi
This endpoint returns the term structure (for exchange listed expirations) with forward volatility calculations, for constant "daysToExpiration" maturities.
USA Trading hours are 14:30:00 - 21:00:00 UTC (9:30a-4pm ET)
# Term Structure Richness
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-term-structures-richness
get /analytics/volatility/term-structures/richness/tradfi
This endpoint returns the term structure richness. The "Term Structure Richness" is the relative "level" of the Contango or Backwardation shape. A reading of 1.00 would be a perfectly flat term structure - as measured by our method - while readings below/above represent Contango/Backwardation respectively. Using the term structure levels enables us to quantify how extended the term structure pricing currently is, at any point in time. The calculation take a ratio of 10-day ATM IV versus, 21-day, 63-day. 84-day and 189-days.
# Volatility Cones
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-volatility-cones
get /analytics/realized-volatility/cones/tradfi
The endpoint returns the percentile distribution of realized volatility for a specific spot trading pair. We can see the RV distribution for multiple measurement windows compared to the end date.
# Volatility Metrics (24 hr)
Source: https://docs.amberdata.io/http/analytics/derivatives/tradfi-volatility-metrics-24-hr
get /analytics/volatility/metrics/tradfi
This endpoint contains all the metrics useful for having an immediate overview of the options market, for each active expiry. The current Mark IV is updated every minute. These metrics are then compared according to the selected "daysBack" parameter. All the differences are found in the columns with the indication "change" (current metrics vs 24hr ago)
USA Trading hours are 14:30:00 - 21:00:00 UTC (9:30a-4pm ET)
# Volatility Cones
Source: https://docs.amberdata.io/http/analytics/derivatives/volatility-cones
get /analytics/realized-volatility/cones
The endpoint returns the percentile distribution of realized volatility for a specific spot trading pair. We can see the RV distribution for multiple measurement windows compared to the end date.
# Volatility Index
Source: https://docs.amberdata.io/http/analytics/derivatives/volatility-index
get /analytics/volatility/index
This endpoint returns the value of the BTC (or other altcoin) VIX. The methodology of this index is similar to the VIX but for the underlying crypto. Deribit developed their Bitcoin VIX called the DVOL index.
# Volatility Index Decorated
Source: https://docs.amberdata.io/http/analytics/derivatives/volatility-index-decorated
get /analytics/volatility/index-decorated
This endpoint returns the value of the BTC (or other altcoin) VIX. Along with the volatility index we are also returned underlying volatility surface datapoints (such as skew) and underlying spot prices.
# Volatility Index VRP (variance risk premium)
Source: https://docs.amberdata.io/http/analytics/derivatives/volatility-index-vrp-variance-risk-premium
get /analytics/volatility/variance-premium
This endpoint returns the Deribit "DVol" index, shifted to align with historical realized volatility. Since option implied volatility is pricing future realized volatility, this endpoint helps users measure the accuracy of such expectation. When the VRP (variance risk premium) is positive, implied volatility was higher than future realized volatility, meaning options were over priced. Vice versa when VRP was negative. The Deribit DVol index has 30-days to maturity and the measured realized volatility uses a 30-day calculation window. Realized volatility is measured using the high/low "Parkinson" volatility method.
# Volatility Metrics (24 hr)
Source: https://docs.amberdata.io/http/analytics/derivatives/volatility-metrics-24-hr
get /analytics/volatility/metrics
This endpoint contains all the metrics useful for having an immediate overview of the options market, for each active expiry. The current Mark IV is updated every minute. These metrics are then compared according to the selected "daysBack" parameter. All the differences are found in the columns with the indication "change" (current metrics vs days ago metrics)
# Volatility of Volatility (DVol Index)
Source: https://docs.amberdata.io/http/analytics/derivatives/volatility-of-volatility-dvol-index
get /analytics/volatility/volatility-of-volatility
This endpoint returns the Deribit "DVol" index and the associated 30-day rolling volatility of that index. This is a good measure of the volatility of volatility. The volatility of volatility method is calculated using the close-to-close volatility.
# Volume Aggregates
Source: https://docs.amberdata.io/http/analytics/derivatives/volume-aggregates
get /analytics/trades-flow/volume-aggregates
This endpoint returns the total traded options volume for a selected exchange and a selected underlying currency. The volume is broken out between onScreen exchange volume and 3rd party "blockTrades" (venues such as Paradigm, GreeksLive, etc).
# Volumes
Source: https://docs.amberdata.io/http/analytics/derivatives/volumes
get /analytics/futures-perpetuals/volumes
This endpoint returns the rolling 24h volume for both futures and perpetuals of the underlying asset. The endpoint returns the USD volume in millions of dollars and the volume in units of underlying coins.
# Average Depth
Source: https://docs.amberdata.io/http/analytics/spot/average-depth
get /depth/average-time-series
This endpoint allows user to view the average order book depth sizes per level. The depth will be displayed in base terms for a given pair, meaning btc_usd will have depth in btc terms. This endpoint is useful to quickly observe what times liquidity enters the market.
# Bid Ask Spread
Source: https://docs.amberdata.io/http/analytics/spot/bid-ask-spread
get /depth/bid-ask-spread
This endpoint allows users to explore the bid-ask spread for a specific trading pair or underlying asset across one or more exchanges. It provides both the absolute dollar spread (based on the best bid and offer) and the spread as a percentage of the mid-price.
# Depth
Source: https://docs.amberdata.io/http/analytics/spot/depth
get /depth
Percentage depth profiles offer insights into the order book structure and available liquidity at different price levels. By analyzing buy and sell liquidity within a specified percentage range from the best-bid/best-ask, traders can assess liquidity distribution and its impact on market behavior. The order book depth endpoint returns liquidity data in percentage-based tranches, measured in basis points, at 1-minute intervals. If no date range is specified, the most recent 24 hours of data will be returned.
# Depth Dashboard
Source: https://docs.amberdata.io/http/analytics/spot/depth-dashboard
get /depth/dashboard
This endpoint provides the average order book depth across exchanges and currency pairs over a specified time period. To retrieve the average depth for the past 24 hours, set the hourAgo parameter to 24. The response includes depth measurements at various basis point levels from the BBO.
# Information Depth Analytics Pairs and Exchanges
Source: https://docs.amberdata.io/http/analytics/spot/information-depth-analytics-pairs-and-exchanges
get /depth/information
This endpoint retrieves all available exchanges and their associated currency pairs, along with the earliest and latest dates of historical data. It applies specifically to spot order book depth analytics.
# Information Trade Analytics Pairs
Source: https://docs.amberdata.io/http/analytics/spot/information-trade-analytics-pairs
get /trade/information/pairs
This endpoint returns all the available pairs for a given exchange in the spot "Trade Analytics" section. The associated startDate and endDate represent the available history of trade data.
# Information Trade Exchange Support per Pair
Source: https://docs.amberdata.io/http/analytics/spot/information-trade-exchange-support-per-pair
get /trade/information/exchanges
This endpoint returns all the exchanges that provide support for a given pair in the spot "Trade Analytics" section. The associated startDate and endDate represent the available history of trade data.
# LWAP
Source: https://docs.amberdata.io/http/analytics/spot/lwap
get /depth/lwap
Liquidity Weighted Average Price (LWAP) represents the average execution price achieved when trading through all resting orders in the order book (sweeping the book), up to a specified depth. For example, if you sell through the book down to 50 basis points away from the best-bid/best-ask, LWAP calculates the average execution price for that trade.
# Pressure
Source: https://docs.amberdata.io/http/analytics/spot/pressure
get /depth/pressure
Order book pressure is a market indicator that measures the relative balance between buy and sell orders. It is calculated as: Order_Book_Pressure = (bid depth β ask depth) This metric provides insight into market sentiment by quantifying the dominance of buyers or sellers. A positive value indicates stronger bid depth, while a negative value signals sell-side dominance.
# Trade Frequency
Source: https://docs.amberdata.io/http/analytics/spot/trade-frequency
get /trade/frequency
This endpoint condenses raw trade data into 1-minute increments, making it easier to analyze aggregated statistics without parsing millions of individual trades. It includes a breakdown of trades by quote size, allowing users to filter by specific trade sizes or view all trades. Key metrics provided are total volume traded, VWAP (volume-weighted average price), trade count, and net buy/sell aggressor volumes.
# Trade Pressure
Source: https://docs.amberdata.io/http/analytics/spot/trade-pressure
get /trade/pressure
This endpoint provides net trade data (buy aggressors minus sell aggressors) to help users identify which side of the market is more aggressive. Users can also filter by "orderSizeCategoryUsd" to analyze behavior across different market segments. Other details revolve around trade count.
# Asset Volume USD
Source: https://docs.amberdata.io/http/analytics/spot/volumes-asset
get /volumes/asset
This endpoint displays the total volume per base asset or specifc pair, normalized to USD. This means that crypto-to-crypto pairs (such as ETH_BTC) are converted to USD before aggregation. Users can pass an optional boolean parameter to include pairs where the asset is on the quote side, example xyz_btc where btc is target asset.
# Exchange Volume USD
Source: https://docs.amberdata.io/http/analytics/spot/volumes-exchange
get /volumes/exchange
This endpoint displays the total volume per exchange for all available pairs, normalized to USD. This means that crypto-to-crypto pairs (such as ETH_BTC) are converted to USD before aggregation. Users can pass an exchange parameter to isolate volume data for a specific exchange or leave it blank to retrieve data for all supported exchanges. Users can also isolate volume that meet a size threshold using the βorderSizeCategoryUsdβ parameter. A useful example might be to pass 100k+ threshold to measure which exchanges have the most βlarge ticketβ volume (aka βwhaleβ volume).
# VWAP - TWAP
Source: https://docs.amberdata.io/http/analytics/spot/vwap-twap
get /trade/vwap
The VWAP (Volume Weighted Average Price) for BTC/USDT and other pairs on a crypto exchanges like Binance, is calculated every minute using trade data. VWAP is computed by taking the sum of the product of each tradeβs price and size (i.e., trade price Γ trade volume) within the 1-minute interval, and dividing that by the total traded volume in that same interval. This provides a time-specific average price that accounts for trade size, offering a more accurate reflection of market activity than a simple average. The TWAP users the time-weighted average of the βcloseβ price for each 1-minute candle. We use the close price because itβs the last traded price for that minute, which provides as consistent price that matches the minuteβs end as closely as possible.
# Exchange Statistics
Source: https://docs.amberdata.io/http/arc/exchange-statistics
get /exchanges/statistics
Retrieve the **latest** known instruments statistics from exchanges that Amberdata supports.
# List Classifications
Source: https://docs.amberdata.io/http/arc/list-classifications
get /classifications
Retrieve the **latest** known classifications for assets in ARC.
# Search Assets
Source: https://docs.amberdata.io/http/arc/search-assets
get /search
Filter and identify various assets indexed by ARC.
# Updates
Source: https://docs.amberdata.io/http/arc/updates
get /updates
Retrieve the **latest** updates of assets and instruments added to ARC.
# Account & Token Balances Latest Batch - Multiple Wallets
Source: https://docs.amberdata.io/http/blockchain/account-&-token-balances-latest-batch--multiple-wallets
get /addresses/balances
Retrieves the latest account and token balances for the specified addresses.
This is useful if you want to get an entire portfolio's summary in a single call. Get totals for ETH & all token amounts with market prices.
# Asset Market Cap
Source: https://docs.amberdata.io/http/blockchain/analytics-asset-marketcap
get /analytics/assets/{arcId}/marketcap
Retrieves the market cap timeseries for a specific asset.
# On-chain Analytics Supported Assets
Source: https://docs.amberdata.io/http/blockchain/analytics-assets-information
get /analytics/assets/information
Retrieves information about supported assets for on-chain analytics.
# Account and Token Balance Latest
Source: https://docs.amberdata.io/http/blockchain/balance-&-tokens-latest--by-address
get /addresses/{hash}/balances
Retrieves the latest account and token balances for the specified address.
# Account Balance Historical
Source: https://docs.amberdata.io/http/blockchain/balance-historical--by-address
get /addresses/{hash}/account-balances/historical
Retrieves the historical (time series) account balances for the specified address.
# Account Balance Latest
Source: https://docs.amberdata.io/http/blockchain/balance-latest--by-address
get /addresses/{hash}/account-balances/latest
Retrieves the current account balance for the specified address.
# Contract Details
Source: https://docs.amberdata.io/http/blockchain/contract-details
get /contracts/{hash}
Retrieves all the detailed information for the specified contract (ABI, bytecode, sourcecode...).
# Current Holders - By Token Address
Source: https://docs.amberdata.io/http/blockchain/current-holders--by-token-address
get /tokens/{hash}/holders/latest
Retrieves the token holders for the specified address.
# Token Supplies by Address Historical
Source: https://docs.amberdata.io/http/blockchain/historical--token-supplies-by-address
get /tokens/{hash}/supplies/historical
Retrieves the historical token supplies (and derivatives) for the specified address.
Note: This endpoint returns a max of 6 months of historical data. In order to get more than 6 months you must use the `startDate` & `endDate` parameters to move the time frame window to get the next ***n*** days/months of data.
# Metrics - By Blockchain
Source: https://docs.amberdata.io/http/blockchain/metrics--by-blockchain
get /metrics/latest
Get metrics for a specific blockchain.
# Blocks Metrics Historical
Source: https://docs.amberdata.io/http/blockchain/metrics-historical--confirmed-blocks
get /blocks/metrics/historical
Get metrics for historical confirmed blocks for a given blockchain.
# Transaction Metrics Historical
Source: https://docs.amberdata.io/http/blockchain/metrics-historical--confirmed-transactions
get /transactions/metrics/historical
Retrieve metrics for historical confirmed transactions for a given blockchain.
# Stablecoins Supported Assets & Insights
Source: https://docs.amberdata.io/http/blockchain/stablecoins-information-gold
get /analytics/stablecoins/information
Retrieve the collection of supported stablecoins and insights.
If the `blockchain` query parameter is not provided, the API will return data from all of the supported chains.
Contract addresses for an asset are **unique** per blockchain. If you would like to see the analytics for a specific asset, say **USDC** across all chains, use the `assetSymbol` query parameter and omit the `blockchain` query parameter.
# Stablecoin Transfers - Aggregated Insights
Source: https://docs.amberdata.io/http/blockchain/stablecoins-transfers-hourly-gold
get /analytics/stablecoins/transfers
Analyze stablecoin adoption, liquidity flows and transaction values across multiple chains and multiple assets.
The dataset is updated on an hourly cadence.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 24 hrs of data.
If the `blockchain` query parameter is not provided, the API will return data from all of the supported chains.
Contract addresses for an asset are **unique** per blockchain. If you would like to see the analytics for a specific asset, say **USDC** across all chains, use the `assetSymbol` query parameter and omit the `blockchain` query parameter.
# Token Balances Historical
Source: https://docs.amberdata.io/http/blockchain/token-balances-historical--by-address
get /addresses/{hash}/token-balances/historical
Retrieves the historical (time series) token balances for the specified address.
# Token Balances Latest
Source: https://docs.amberdata.io/http/blockchain/token-balances-latest--by-address
get /addresses/{hash}/token-balances/latest
Retrieves the tokens this address is holding.
# Token Metrics Historical
Source: https://docs.amberdata.io/http/blockchain/token-metrics-historical
get /tokens/metrics/{symbol}/historical
Retrieves the historical metrics for the specified ERC token symbol.
# Token Transfers - By Token Address
Source: https://docs.amberdata.io/http/blockchain/token-transfers--by-token-address
get /tokens/{hash}/transfers
Retrieves all token transfers involving the specified token address.
# Token Transfers - By Wallet Address
Source: https://docs.amberdata.io/http/blockchain/token-transfers--by-wallet-address
get /addresses/{hash}/token-transfers
Retrieves all token transfers involving the specified address.
If you intend to traverse all the token-transfers, it is recommended to specify the flag `direction=ascending`, which will guarantee that the pagination is stable and will not change with the arrival of new token-transfers.
# Transaction Logs - By Wallet Address
Source: https://docs.amberdata.io/http/blockchain/transaction-logs--by-wallet-address
get /addresses/{hash}/logs
Retrieves the logs for the transactions where this address is either the originator or a recipient.
# Transactions - By Wallet Address
Source: https://docs.amberdata.io/http/blockchain/transactions--by-address
get /addresses/{hash}/transactions
Retrieves the confirmed transactions where this address was either the originator or a recipient.
Currently supported on `ethereum-mainnet` only.
Note that transactions are returned in descending order by default (block number and transaction index), which means the most recent transactions are on page 0, and the oldest transactions are on the last page.
If you intend to traverse all the transactions, it is recommended to specify the flag `direction=ascending`, which will guarantee that the pagination is stable and will not change with the arrival of new transactions.
**Filtering:** when `blockNumber` is supplied it takes precedence over `startDate`/`endDate`. A `[startDate, endDate)` window is capped at 90 days; supplying only one bound fills the other in (missing `endDate` β now, missing `startDate` β `endDate` β 30 days). Supplying neither returns the most recent transactions with no time bound.
**Unsupported parameters:** `from`, `to`, `includeLogs`, `includeTokenTransfers`, `includePrice` and `validationMethod` are not supported on this endpoint and are rejected with a `400`.
# Account and Token Balance - Wallet Portfolio
Source: https://docs.amberdata.io/http/blockchain/wallet-portfolio--balance-&-token-holdings
get /addresses/{address}/portfolio
Shows the last known portfolio composition of an address, including native and token holdings.
# Information - DEX Protocols
Source: https://docs.amberdata.io/http/defi-market/dex-exchanges
get /dex/exchanges
Retrieves list of supported Ethereum decentralized exchanges (DEX).
# Latest
Source: https://docs.amberdata.io/http/defi-market/dex-ohlcv-latest
get /ohlcv/{pool}/latest/
Retrieves the latest open-high-low-close for the specified pair. Includes data for exchanges depending on where the pair is traded.
Asset information is included in the payload.
Base & Quote information is using the first and second asset in a pool/pair, which is the represented price.
# Information - Pairs in DEX Protocols
Source: https://docs.amberdata.io/http/defi-market/dex-pairs
get /dex/pairs
Retrieves supported DEX Pairs.
# Exchanges Historical
Source: https://docs.amberdata.io/http/defi-market/exchanges-historical
get /metrics/exchanges/{exchange}/historical
Retrieves historical daily exchange metrics for the specified decentralized exchange.
# Exchanges Latest
Source: https://docs.amberdata.io/http/defi-market/exchanges-latest
get /metrics/exchanges/{exchange}/latest
Retrieves the latest exchange daily metrics for the specified decentralized exchange.
# Assets Historical
Source: https://docs.amberdata.io/http/defi-market/metrics-assets-historical
get /metrics/exchanges/{exchange}/assets/{asset}/historical
Retrieves historical daily metrics for the specified asset (for example DAI).
# Assets Latest
Source: https://docs.amberdata.io/http/defi-market/metrics-assets-latest
get /metrics/exchanges/{exchange}/assets/{asset}/latest
Retrieves the latest daily metrics for the specified asset (for example DAI).
# Pairs Historical
Source: https://docs.amberdata.io/http/defi-market/metrics-exchanges-pairs-historical
get /metrics/exchanges/{exchange}/pairs/{pair}/historical
Retrieves historical daily metrics for the specified pair (for example DAI_WETH).
# Pairs Latest
Source: https://docs.amberdata.io/http/defi-market/metrics-exchanges-pairs-latest
get /metrics/exchanges/{exchange}/pairs/{pair}/latest
Retrieves the latest minute by minute metrics for the specified pair (for example DAI_WETH).
# Historical
Source: https://docs.amberdata.io/http/defi-market/ohlcv-historical
get /ohlcv/{pool}/historical/
Retrieves the historical (time series) open-high-low-close for the specified pair. Includes data for exchanges depending on where the pair is traded.
Base & Quote information is using the first and second asset in a pool/pair, which is the represented price.
# DEX Protocols Information
Source: https://docs.amberdata.io/http/defi/dex-information
get /dex/information
Retrieves information about the supported liquidity pools across blockchains and DEX protocols.
# Information
Source: https://docs.amberdata.io/http/defi/dex-ohlcv-information
get /dex/ohlcv/information/
Retrieves information about supported exchange-pairs for ohlcv.
# DEX Trades Historical
Source: https://docs.amberdata.io/http/defi/dex-trades-historical
get /dex/trades
Retrieves the historical (time series) DEX trades.
# Asset Lens
Source: https://docs.amberdata.io/http/defi/lending-assets
get /lending/{protocolId}/assets/{asset}
This API retrieves information about all of the actions that occurred for a specific asset on the protocol within a certain timespan.
# Information - Assets in Lending Protocols
Source: https://docs.amberdata.io/http/defi/lending-assets-information
get /lending/assets/information
This API lists the supported assets across the available lending protocols and provides snapshots of aggregate metrics.
# Lending Asset Summary Metrics
Source: https://docs.amberdata.io/http/defi/lending-assets-metrics-summary
get /lending/{protocolId}/assets/{assetId}/metrics/summary
This API provides aggregated insights into the asset markets across various lending protocols.
# Governance Lens
Source: https://docs.amberdata.io/http/defi/lending-governance
get /lending/{protocolId}/governance
This API retrieves information about all of the governance actions that occurred for the protocol within a certain timespan.
# Lending Protocol Summary Metrics
Source: https://docs.amberdata.io/http/defi/lending-metrics-summary
get /lending/{protocolId}/metrics/summary
This API provides aggregated insights into the lending protocols.
# Protocol Lens
Source: https://docs.amberdata.io/http/defi/lending-protocol
get /lending/{protocolId}/protocol
This API retrieves information about all of the actions that occurred on the protocol within a certain timespan.
# Information - Lending Protocols
Source: https://docs.amberdata.io/http/defi/lending-protocols-information
get /lending/protocols/information
This API lists the supported DeFi lending protocols and provides snapshots of aggregate metrics.
# Wallet Lens
Source: https://docs.amberdata.io/http/defi/lending-wallets
get /lending/{protocolId}/wallets/{walletAddress}
This API retrieves information about all of the actions taken by a specific wallet on the protocol within a certain timespan.
# Track Positions - Lending Wallets
Source: https://docs.amberdata.io/http/defi/lending-wallets-portfolio
get /lending/{protocolId}/wallets/{address}/portfolio
This API retrieves the balances of a given address within supported lending protocols.
# Profit & Loss Analytics in DeFi Lending
Source: https://docs.amberdata.io/http/defi/lending-wallets-returns
get /lending/wallets/{walletAddress}/returns
Analyze a wallet's historical yield, net worth and interest owed from lending and borrowing assets across different DeFi protocols.
# Stablecoins in DeFi Lending - Aggregate Insights
Source: https://docs.amberdata.io/http/defi/stablecoins-lending-metrics-summary
get /stablecoins/{assetSymbol}/lending/metrics/summary
Easily analyze a stablecoin's metrics across multiple DeFi lending protocols.
# API Fundamentals
Source: https://docs.amberdata.io/http/http-api-fundamentals
The Amberdata API delivers comprehensive market and on-chain data through RESTful endpoints. This guide outlines the key concepts and best practices to help you integrate our API quickly and effectively.
## Authentication
All requests to our servers require a unique user-specific API Key. Requests without a valid API Key will be refused.
### Usage
Every request (*with the exception of WebSockets*) requires the `x-api-key` header:
```bash theme={null}
curl --request GET
--url 'https://api.amberdata.com/markets/spot/trades/eth_usd'
--header 'Accept-Encoding: gzip, deflate, br'
--header 'Accept: application/json'
--header 'x-api-key: YOUR_API_KEY'
```
## HTTP Response Structure
The body of every response includes the following fields:
| Field | Description |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `description` | Description of the response. |
| `payload` | The object containing the actual data requested. |
| `status` | The status of the response. |
| `title` | The human readable name associated with the HTTP status according to the [HTTP Status Code Registry](http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml). |
### Response Codes
In an erroneous response, the `description` field will indicate the reason for the error.
| Status Code | Description |
| ----------- | ------------------------------------------------------------------------ |
| 200 | Successful Request |
| 400 | Bad Request β Invalid request format or query results exceed 10 MB limit |
| 401 | Unauthorized β Invalid or missing API Key |
| 403 | Forbidden β Access to endpoint is not authorized |
| 404 | Not Found β instrument or address does not exist for example |
| 429 | Too Many Requests β rate limit was exceeded |
| 5xx | Internal Server Error β We had a problem with our server |
| 502 | Bad Gateway |
| 504 | Gateway Timeout β Exceeded 28 second limit |
## API Versioning
When backwards-incompatible changes are made to the API, a new, dated version is released. To set the API version on a specific request, use the `api-version` header:
```bash theme={null}
curl --request GET
--url 'https://api.amberdata.com/markets/spot/trades/eth_usd'
--header 'Accept-Encoding: gzip, deflate, br'
--header 'Accept: application/json'
--header 'api-version: 2023-09-30'
--header 'x-api-key: YOUR_API_KEY'
```
### Backwards Compatible Changes
Amberdata considers the following changes to be backwards-compatible:
* Adding new API resources
* Adding new optional request parameters to existing API methods
* Adding new properties to existing API responses
* Changing the order of properties in existing API responses
* Changing the length or format of opaque, Amberdata generated strings, such as object IDs, error messages, and other human-readable strings
> **Note:** Trading pairs, instruments, asset symbols etc. are not considered opaque. Such strings could only be modified with a new dated version.
## Rate Limits
| Subscription | API Key Type | Description | Rate Limits / Daily Quotas |
| --------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------ | -------------------------- |
| Trial Access | UAT | Temporary access to all API endpoints and datasets. | 15 calls/sec - 20k / day |
| On-Demand Order | UAO | Paid subscription for production usage of data (*for select markets/exchanges only, ie. Spot/Coinbase, Options/Deribit, etc.*) | 20 calls/sec - 250k / day |
| Enterprise | UAK | Paid subscription for production usage of data. | 60 calls/sec |
### On-Demand Order Subscriptions
On-Demand order subscriptions are provisioned upon successful payment after completing the order form. Customers must pay upfront via credit card, and API keys are typically provisioned within 24-48 business hours.
On-Demand order subscriptions are limited to Market Data endpoints and do not include white-glove support services. Customers requiring assistance can contact [support@amberdata.io](mailto:support@amberdata.io).
**Examples of Supported and Unsupported API Calls:**
On-Demand order subscriptions are restricted to specific markets and exchanges. For example, if a customer purchases a subscription for Spot GDAX:
**Supported Calls:**
* `/markets/spot/tickers?exchange=gdax`
* `/markets/spot/trades?exchange=gdax&pair=btc_usd`
* `/markets/spot/order-book-snapshots/btc_usd?exchange=gdax`
**Unsupported Calls:**
* `/markets/spot/tickers` (*missing exchange=gdax*)
* `/markets/spot/trades?exchange=kraken` (*subscription is for GDAX only*)
* `/markets/futures/tickers?exchange=gdax` (*subscription does not include Futures*)
Specify the correct exchange and use endpoints in your subscription to avoid issues.
# Pagination and Timeframes
Source: https://docs.amberdata.io/http/http-pagination-and-timeframes
## API Pagination
The Amberdata API uses **cursor pagination** to handle large datasets efficiently. The API automatically generates the URL for the next page of results when applicable.
### Pagination Response Structure
For a **200 - OK** HTTP response, the URL for the next page is found under the `payload.metadata.next` property:
```json theme={null}
{
"status": 200,
"title": "OK",
"description": "Successful request",
"payload": {
"metadata": {
"next": "https://api.amberdata.com/api/v2/defi/lending/compoundv2/assets/ZRX?cursor=N4IgRgNg9gxg1jAFgQwJYDsCSATEAuEARhgE5SA2EgBnIFYAzGbY%2BkAGhAAcAnKAF1hQIOfCBhQAtpygBXdNgBuAJnYgJybnACmffOhkQIHDDAgzsWgIKGAKt2ToAzshh9UUdAFEFW9H0f49MgQjlocbhJaAGJQ3Oq6BIgy6ugASlrI2MiQWqrYqNxaru7oopYAygDCqo58GnwAIsh8uXiE5OSEACwkXYQA7AAcVCMcvthNLfjtnSTUXSOLHI6oAF6thKMgFj7QnFrcALJQFoHBoRz0sfGiAFaOHqqcyADmGxyxqC8YweV13I1mhs6CQAMyEJSLJYgT7fdDBTzySbA2bzKFUDjIRyhPgiAhUAAeWj62CUXUGJFo-UI2FBSiUhApZPIWSCtC0YAshHoXUoJB5JEGqggWL4NlQkVqyCkohm3V6AyFHBFtQAMlAXph5FoCdNwQBfIA"
},
...
}
}
```
If the full payload returns in the first request, the `next` response will be `null`.
### Accessing Next Pages
To access the next page of results:
1. Retrieve the URL from `payload.metadata.next`
2. Copy your request headers from your initial API call (e.g., `x-api-key`, etc.)
3. Make a HTTP GET request with the next page URL and the copied headers
## Page Parameter
Some endpoints contain column names in the metadata instead of a `next` field. For these endpoints, use the `page` parameter to loop through all pages of data, beginning at page `0`.
**Query parameter:** `page`
**Options:** `0 - β`
## Querying Long Timeframes
API endpoints have a maximum supported range for the query parameters `endDate` and `startDate`.
> **Note:** Amberdata reserves the right to increase the supported range for `endDate` and `startDate` for any endpoint. An increase in the supported range is *fully backwards compatible*.
### Example: Getting 1 Year of Data
The following example demonstrates how to get **1 year** of data for the DEX - Trades endpoint, which has a maximum range of 30 days.
> **Warning:** The code below has been verified and tested for **demonstration purposes only**.
#### Main Script (rest\_endpoints.py)
```python theme={null}
import os
from datetime import datetime
from dataclasses import dataclass, field
from endpoint_timerange_handler import EndpointTimeRangeHandler, Endpoint
from endpoint_caller_v2 import EndpointCaller
def http_ok_next_page_url_extractor(page):
"""
Function that extracts the next page url from the current page of data
Parameters
----------
page: dict
Returns
-------
next_page_url: str
"""
if 'payload' in page and page['payload'] is not None:
payload = page['payload']
if 'metadata' in payload and payload['metadata'] is not None:
metadata = payload['metadata']
if 'next' in metadata and metadata['next'] is not None:
next_page_url = metadata['next']
return next_page_url
return ""
@dataclass(kw_only=True)
class DEXTradesHistorical(Endpoint):
poolAddress: str
path_template: str = field(default='/market/defi/trades/{}/historical')
max_interval_in_seconds: int = field(default=2592000) #30 days * 24 hrs * 60 min * 60 seconds
def format_path(self) -> str:
return self.path_template.format(self.poolAddress)
def get_api_responses(start_date: datetime, end_date: datetime, endpoint: DEXTradesHistorical) -> None:
"""
Get all pages of data between `start_date` and `end_date`.
"""
endpoint_caller = EndpointCaller(os.getenv('PRODUCTION_API_KEY'))
endpoint_timerange_handler = EndpointTimeRangeHandler(endpoint_caller)
for page in endpoint_timerange_handler.get_data_for_timerange(
start_date,
end_date,
endpoint,
http_ok_next_page_url_extractor
):
response = page.data
print(f"Timestamp of first entry in the page: {response['payload']['data'][0][1]}")
def call_dex_trades_historical() -> None:
"""
Example configuration of an endpoint to be called.
"""
start_date = "2022-01-01T00:00:00"
end_date = "2023-01-01T00:00:00"
start_date_as_dt = datetime.fromisoformat(start_date).replace(microsecond=0)
end_date_as_dt = datetime.fromisoformat(end_date).replace(microsecond=0)
poolAddress = '0xcbcdf9626bc03e24f779434178a73a0b4bad62ed' # WBTC/ETH 0.3%
exchange = 'uniswapv3'
dex_trades_historical = DEXTradesHistorical(poolAddress=poolAddress)
dex_trades_historical.add_query_parameter('exchange', exchange)
get_api_responses(start_date_as_dt, end_date_as_dt, dex_trades_historical)
if __name__ == "__main__":
call_dex_trades_historical()
```
#### Endpoint Timerange Handler (endpoint\_timerange\_handler.py)
```python theme={null}
from datetime import datetime, timedelta
from dataclasses import dataclass, field
from endpoint_caller_v2 import EndpointCaller
@dataclass(kw_only=True)
class Endpoint:
"""
This is a parent class that should be inherited and implemented for specific endpoints.
"""
query: dict = field(default_factory=dict)
headers: dict = field(default_factory=dict)
def add_query_parameter(self, parameter_name: str, parameter_value) -> None:
if parameter_name is not None and len(parameter_name) > 0:
self.query[parameter_name] = parameter_value
def format_path(self) -> str:
"""
Child classes must implement this function.
"""
return ""
def add_header(self, header_name: str, header_value: str) -> None:
if header_name is not None and len(header_name) > 0:
self.headers[header_name] = header_value
class EndpointTimeRangeHandler:
def __init__(self, endpoint_caller: EndpointCaller) -> None:
self.endpoint_caller = endpoint_caller
def get_data_for_timerange(self, start_date: datetime, end_date: datetime,
endpoint: Endpoint, http_ok_next_page_url_extractor):
"""
Given an arbitrarily large timerange, this function will call the endpoint
continuously by breaking up the requested time range into chunks.
The chunks do not exceed the single request maximum range (endDate - startDate)
for the specific endpoint.
"""
duration = end_date - start_date
intervals = duration.total_seconds()/endpoint.max_interval_in_seconds
hours = duration.total_seconds()/3600
print(f"Getting {hours} hours of data (# of intervals: {intervals})")
start_date_copy = start_date
timerange_stack = []
while start_date_copy + timedelta(seconds=endpoint.max_interval_in_seconds) <= end_date:
intermediate_end_date = start_date_copy + timedelta(seconds=endpoint.max_interval_in_seconds)
timerange_stack.append((start_date_copy, intermediate_end_date))
start_date_copy = intermediate_end_date
timerange_stack.append((start_date_copy, end_date))
timerange_stack.reverse()
while len(timerange_stack) > 0:
timerange = timerange_stack.pop()
print(f"Retrieving data from {str(timerange[0])} to {str(timerange[1])}")
yield from self.get_data(timerange[0], timerange[1], endpoint, http_ok_next_page_url_extractor)
```
This approach allows you to efficiently retrieve data for timeframes longer than the maximum supported range by automatically chunking requests and handling pagination across multiple time periods.
# Query Parameters and Optimization
Source: https://docs.amberdata.io/http/http-query-parameters-and-optimization
## Performance Optimization with Compression
To improve the efficiency and performance of data transfer, we enforce compression when interacting with our **Market Data APIs**. Using compression reduces the size of the data payload, allowing for faster fetch times and better bandwidth utilization.
### Supported Compression Methods
Our API supports the following compression methods via the `Accept-Encoding` header:
* **gzip** (default and recommended)
* **deflate**
* **br** (Brotli)
### Benefits of Compression
1. **Faster Data Transfers:** Smaller payloads reduce the time needed to fetch data, especially for endpoints returning large datasets
2. **Efficient Bandwidth Usage:** Compression minimizes data transfer costs by reducing the volume of data sent over the network
3. **Broad Compatibility:** Widely supported compression methods like gzip ensure compatibility across most HTTP clients
4. **Future-Ready:** Prepares you for upcoming mandatory compression requirements
### Implementation Examples
#### cURL
```bash theme={null}
curl -H "Accept-Encoding: gzip" "https://api.amberdata.com/markets/spot/tickers"
```
#### Python (Requests Library)
```python theme={null}
import requests
url = "https://api.amberdata.com/markets/spot/tickers"
headers = {"Accept-Encoding": "gzip"}
response = requests.get(url, headers=headers)
print(response.content) # Decompressed content
```
#### JavaScript (Fetch API)
```javascript theme={null}
fetch("https://api.amberdata.com/markets/spot/tickers", {
headers: { "Accept-Encoding": "gzip" }
})
.then(response => response.json())
.then(data => console.log(data));
```
#### Postman
1. Go to the **Headers** tab in your request
2. Add `Accept-Encoding` as the header key and `gzip` as the value
3. Send the request and observe the compressed data being returned
## Query Parameters
Some endpoints have optional query parameters which attach additional data in the response. Below is a comprehensive list of those parameters and their respective responses.
### Validation Method
**Query parameter:** `validationMethod`
All blockchain related endpoints have the option to return the necessary data used to prove the validity of the associated data returned with the response.
| Value | Description |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| none | Default. No validation data is returned in the response |
| basic | Returns validation information about the principal components of a block |
| full\* | Returns all of the validation information about the components of a block, and each of its sub-components (transactions and uncles). This allows one to fully verify a block and each of its component |
*Note: Only applies to endpoints that return block data*
#### Example Response: Block Validation
```json theme={null}
{
"validation": {
"hash": {
"data": {
"difficulty": "2957101900364072",
"extraData": "0x76697231",
"gasLimit": "8000029",
"gasUsed": "7992790",
"logsBloom": "0x007412...",
"miner": "0xb2930b35844a230f00e51431acae96fe543a0347",
"mixHash": "0x1f7cf0...",
"nonce": "3191105210499409716",
"number": "7280000",
"parentHash": "0x215060...",
"receiptsRoot": "0xbea5cd...",
"sha3Uncles": "0x1dcc4d...",
"stateRoot": "0x1e3022...",
"timestamp": "2019-02-28T19:52:04.000Z",
"transactionsRoot": "0x4eb851..."
},
"value": "0xeddb0590e1095fbe51205a51a297daef7259e229af0432214ae6cb2c1f750750"
},
"receiptsRoot": {
"value": "0xbea5cd80cb9a2264ea6d48320cae033f863592771513ee1addcabb40327db129"
},
"sha3Uncles": {
"value": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347"
},
"stateRoot": {
"value": "0x1e302241298f913b30f7a0df60272c9983d8d8726932f66582f182bd99ef42bc"
},
"transactionsRoot": {
"value": "0x4eb851a13c63ad37eb8e7ca618cc23987469fc347539689a28484c5d1ccd31d7"
}
}
}
```
#### Example Response: Transaction Validation
```json theme={null}
{
"validation": {
"hash": {
"data": {
"gas": "4436670",
"gasPrice": "1400000000",
"input": "0x724ef9...",
"nonce": "6",
"to": "0x4459b42d034330ecc1e4d604c0a5c855b857df2c",
"value": "0",
"r": "0x1c3cb405d96057e71706761611512d89508e9316fa9999c9d214f0240ac14ba5",
"s": "0x418f42217acf527bee526c626bd144d0cd4de2529148c165fbbd0ab44d992087",
"v": "38"
},
"value": "0x5c0eac44212b783822d0b725319304b7bc43e81ff0cf7db648a11d096b47598e"
}
}
}
```
### Include Price
**Query parameter:** `includePrice`
| Value | Description |
| ----- | --------------------------------- |
| true | Include price data |
| false | Default. Don't include price data |
Blockchain data endpoints have the option to include price data in the response.
#### Example Response
```json theme={null}
{
"price": {
"value": {
"currency": "usd",
"quote": "174.623263251",
"total": "91.24846943967798225000000000000"
}
}
}
```
### Currency
*(To be used in conjunction with `includePrice`)*
**Query parameter:** `currency`
**Options:** `usd` `btc` `eth` *(These vary by endpoint)*
| Value | Description |
| ----- | --------------------- |
| usd | United States Dollar |
| btc | Bitcoin (coming soon) |
| eth | Ether (coming soon) |
This option selects the currency type to be returned with the `includePrice` parameter.
#### Example Response
```json theme={null}
{
"price": {
"value": {
"currency": "eth",
"quote": "174.623263251",
"total": "91.24846943967798225000000000000"
}
}
}
```
### Page Parameter
**Query parameter:** `page`
**Options:** `0 - β`
Some endpoints contain the column names in the metadata instead of a `next` field to retrieve the URL of the next page of data. Therefore, you will need to use the `page` parameter to loop through all pages of data returned, which begins at page `0` for all endpoints where this query parameter is available.
## Compression FAQ
### What is the recommended compression method?
We recommend using **gzip**, as it is widely supported and balances speed and compression ratio effectively.
### Will compression impact my API usage limits?
No, enabling compression does not affect your API usage limits. It simply optimizes the data transfer process.
If you encounter any issues while setting up compression, please contact our support team at [support@amberdata.io](mailto:support@amberdata.io).
# Batch Historical
Source: https://docs.amberdata.io/http/market/futures-batch-funding-rates
get /futures/batch-funding-rates/{exchange}
Returns batched historical funding rate data for futures instruments within a specified date range, including timestamps, actual funding rates, and projected rates across exchanges.
The maximum time range (difference between `startDate` and `endDate`) is:
* 62 days of daily, hourly or minutely data
* This endpoint only stores the most recent 62 days of data.
* Queries with a startDate older than 62 days from the current date will result in a 410 error.
In order to get more than the maximum allowed, you can use the Historical endpoint found [here](/http/md/futures-funding-rates) .
If you omit `startDate` and `endDate`, the API will return the most recent 62 days of daily data (not data older than 62 days from the current date).
# Batch Historical
Source: https://docs.amberdata.io/http/market/futures-batch-ohlcv
get /futures/batch-ohlcv/{exchange}
Provides batched historical OHLCV (Open, High, Low, Close, Volume) data for multiple futures instruments within a specified date range, including timestamps, price levels, and trading volumes across exchanges.
BitMEXβs `volume` field represents the **number of contracts traded**, not the volume in the base asset.
To obtain the correct volume, users must adjust for **contract size** using the `underlyingToPositionMultiplier` from our [Reference endpoint](/http/md/futures-exchanges-reference).
For details on this calculation and how to retrieve the correct values, see our [Changelog Update](/changelog/bitmex-volume-mapping).
The maximum time range (difference between `startDate` and `endDate`) is:
* 62 days of daily, hourly or minutely data
* This endpoint only stores the most recent 62 days of data.
* Queries with a startDate older than 62 days from the current date will result in a 410 error.
In order to get more than the maximum allowed, you can use the Historical endpoint found [here](/http/md/futures-ohlcv) .
If you omit `startDate` and `endDate`, the API will return the most recent 62 days of daily data (not data older than 62 days from the current date).
# Batch Historical
Source: https://docs.amberdata.io/http/market/futures-batch-open-interest
get /futures/batch-open-interest/{exchange}
Provides batched historical open interest data for multiple futures instruments within a specified date range, including timestamps, open interest values, and contract types across exchanges.
The maximum time range (difference between `startDate` and `endDate`) is:
* 62 days of daily, hourly or minutely data
* This endpoint only stores the most recent 62 days of data.
* Queries with a startDate older than 62 days from the current date will result in a 410 error.
In order to get more than the maximum allowed, you can use the Historical endpoint found [here](/http/md/futures-open-interest) .
If you omit `startDate` and `endDate`, the API will return the most recent 62 days of daily data (not data older than 62 days from the current date).
# Instruments
Source: https://docs.amberdata.io/http/market/futures-exchanges-information
get /futures/exchanges/information
Provides detailed metadata and trading activity timelines for futures instruments across exchanges, including funding rates, liquidations, long/short ratios, OHLCV, open interest, order book snapshots and events, ticker updates, and trade history.
# Reference
Source: https://docs.amberdata.io/http/market/futures-exchanges-reference
get /futures/exchanges/reference
Provides comprehensive reference data for futures instruments across exchanges, including details on base and quote symbols, price and volume limits, precision, contract terms, and trading availability.
### precisionVolume
Occasionally, you may encounter a value of `0` for `precisionVolume`. This is due to the underlying exchange returning 0 for the instrument's trade size precision.
We have noticed this behavior with several instruments on Kraken.
# Historical
Source: https://docs.amberdata.io/http/market/futures-funding-rates
get /futures/funding-rates/{instrument}
Provides historical funding rate data for futures instruments, including timestamps, actual and projected rates, and details on upcoming funding times across exchanges.
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the startDate and endDate query parameters are not provided, the API will return the data from the previous 24 hours at the tick granularity.
# Information
Source: https://docs.amberdata.io/http/market/futures-funding-rates-information
get /futures/funding-rates/information
Delivers information on funding rate periods for futures instruments across exchanges, including start and end dates for available funding data.
# Historical
Source: https://docs.amberdata.io/http/market/futures-insurance-fund
get /futures/insurance-fund/{instrument}
Delivers historical data on insurance fund balances for futures instruments, including timestamps, fund amounts, and underlying assets across exchanges.
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the startDate and endDate query parameters are not provided, the API will return the data from the previous 24 hours.
# Information
Source: https://docs.amberdata.io/http/market/futures-insurance-fund-information
get /futures/insurance-fund/information
Provides details on insurance fund data availability for futures instruments, including exchanges, underlying assets, and date ranges for historical coverage.
# Historical
Source: https://docs.amberdata.io/http/market/futures-liquidations
get /futures/liquidations/{instrument}
Provides historical liquidation data for futures instruments, including timestamps, order details, price, volume, and position type for each liquidation event across exchanges.
BitMEXβs `volume` field represents the **number of contracts traded**, not the volume in the base asset.
To obtain the correct volume, users must adjust for **contract size** using the `underlyingToPositionMultiplier` from our [Reference endpoint](/http/md/futures-exchanges-reference).
For details on this calculation and how to retrieve the correct values, see our [Changelog Update](/changelog/bitmex-volume-mapping).
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the startDate and endDate query parameters are not provided, the API will return the data from the previous 24 hours.
# Information
Source: https://docs.amberdata.io/http/market/futures-liquidations-information
get /futures/liquidations/information
Provides available date ranges for liquidation data on futures instruments across exchanges, including start and end timestamps for each instrument.
# Historical
Source: https://docs.amberdata.io/http/market/futures-long-short-ratio
get /futures/long-short-ratio/{instrument}
Provides historical long/short ratio data for futures instruments, including timestamps, long and short account distributions, and ratio values across exchanges.
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the startDate and endDate query parameters are not provided, the API will return the data from the previous 24 hours at the tick granularity.
# Information
Source: https://docs.amberdata.io/http/market/futures-long-short-ratio-information
get /futures/long-short-ratio/information
Provides available date ranges for long/short ratio data on futures instruments across exchanges, detailing the start and end dates for each instrument.
# Historical
Source: https://docs.amberdata.io/http/market/futures-ohlcv
get /futures/ohlcv/{instrument}
Delivers historical OHLCV (Open, High, Low, Close, Volume) data for futures instruments, including timestamps, price levels, and trading volume across exchanges.
BitMEXβs `volume` field represents the **number of contracts traded**, not the volume in the base asset.
To obtain the correct volume, users must adjust for **contract size** using the `underlyingToPositionMultiplier` from our [Reference endpoint](/http/md/futures-exchanges-reference).
For details on this calculation and how to retrieve the correct values, see our [Changelog Update](/changelog/bitmex-volume-mapping).
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 12 months of daily data.
# Information
Source: https://docs.amberdata.io/http/market/futures-ohlcv-information
get /futures/ohlcv/information
Provides available date ranges for OHLCV (Open, High, Low, Close, Volume) data on futures instruments across exchanges, including start and end dates for each instrument.
# Historical
Source: https://docs.amberdata.io/http/market/futures-open-interest
get /futures/open-interest/{instrument}
Provides historical open interest data for futures instruments, including timestamps, open interest values, and contract types across exchanges.
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the startDate and endDate query parameters are not provided, the API will return the data from the previous 24 hours at the tick granularity.
# Information
Source: https://docs.amberdata.io/http/market/futures-open-interest-information
get /futures/open-interest/information
Provides available date ranges for open interest data on futures instruments across exchanges, including start and end dates for each instrument.
# Events/Updates Historical
Source: https://docs.amberdata.io/http/market/futures-order-book-events
get /futures/order-book-events/{instrument}
Provides historical event updates for futures order books, including bid and ask price levels, volumes, and sequence information for each update across exchanges.
BitMEXβs `volume` field represents the **number of contracts traded**, not the volume in the base asset.
To obtain the correct volume, users must adjust for **contract size** using the `underlyingToPositionMultiplier` from our [Reference endpoint](/http/md/futures-exchanges-reference).
For details on this calculation and how to retrieve the correct values, see our [Changelog Update](/changelog/bitmex-volume-mapping).
The maximum time range (difference between `startDate` and `endDate`) is **18 months**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 24 hours.
# Snapshots Historical
Source: https://docs.amberdata.io/http/market/futures-order-book-snapshots
get /futures/order-book-snapshots/{instrument}
Provides historical snapshots of futures order books, capturing bid and ask price levels, volumes, and sequence details at specific timestamps across exchanges.
BitMEXβs `volume` field represents the **number of contracts traded**, not the volume in the base asset.
To obtain the correct volume, users must adjust for **contract size** using the `underlyingToPositionMultiplier` from our [Reference endpoint](/http/md/futures-exchanges-reference).
For details on this calculation and how to retrieve the correct values, see our [Changelog Update](/changelog/bitmex-volume-mapping).
The maximum time range (difference between `startDate` and `endDate`) is **18 months**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 24 hours.
# Information
Source: https://docs.amberdata.io/http/market/futures-order-book-snapshots-information
get /futures/order-book-snapshots/information
Provides available date ranges for order book snapshot data on futures instruments across exchanges, including start and end timestamps for each instrument.
# Historical
Source: https://docs.amberdata.io/http/market/futures-tickers
get /futures/tickers/{instrument}
Provides historical ticker data for futures instruments, including bid, ask, mid prices, volumes, mark and index prices, and sequence information across exchanges.
BitMEXβs `volume` field represents the **number of contracts traded**, not the volume in the base asset.
To obtain the correct volume, users must adjust for **contract size** using the `underlyingToPositionMultiplier` from our [Reference endpoint](/http/md/futures-exchanges-reference).
For details on this calculation and how to retrieve the correct values, see our [Changelog Update](/changelog/bitmex-volume-mapping).
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the startDate and endDate query parameters are not provided, the API will return the data from the previous 24 hours.
# Information
Source: https://docs.amberdata.io/http/market/futures-tickers-information
get /futures/tickers/information
Provides available date ranges for ticker data on futures instruments across exchanges, including start and end timestamps for each instrument.
# Historical
Source: https://docs.amberdata.io/http/market/futures-trades
get /futures/trades/{instrument}
Provides historical trade data for futures instruments, including timestamps, trade prices, volumes, buy/sell side information, and trade identifiers across exchanges.
BitMEXβs `volume` field represents the **number of contracts traded**, not the volume in the base asset.
To obtain the correct volume, users must adjust for **contract size** using the `underlyingToPositionMultiplier` from our [Reference endpoint](/http/md/futures-exchanges-reference).
For details on this calculation and how to retrieve the correct values, see our [Changelog Update](/changelog/bitmex-volume-mapping).
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the startDate and endDate query parameters are not provided, the API will return the data from the previous 24 hours.
# Information
Source: https://docs.amberdata.io/http/market/futures-trades-information
get /futures/trades/information
Provides available date ranges for trade data on futures instruments across exchanges, including start and end timestamps for each instrument.
# Batch Historical
Source: https://docs.amberdata.io/http/market/options-batch-ohlcv
get /options/batch-ohlcv/{exchange}
Delivers historical OHLCV (Open, High, Low, Close, Volume) data in batch format for multiple Options market contracts, providing comprehensive price and volume history over specified time ranges for efficient analysis across multiple instruments.
The maximum time range (difference between `startDate` and `endDate`) is:
* 62 days of daily, hourly or minutely data
* This endpoint only stores the most recent 62 days of data.
* Queries with a startDate older than 62 days from the current date will result in a 410 error.
In order to get more than the maximum allowed, you can use the Historical endpoint found [here](/http/md/options-ohlcv) .
If you omit `startDate` and `endDate`, the API will return the most recent 62 days of daily data (not data older than 62 days from the current date).
Block trades are included in the calculation of OHLCV for Deribit.
# Batch Historical
Source: https://docs.amberdata.io/http/market/options-batch-open-interest
get /options/batch-open-interest/{exchange}
Delivers batch historical open interest data for multiple options contracts, providing timestamped values that reflect the total number of outstanding contracts over specified time ranges across supported exchanges.
The maximum time range (difference between `startDate` and `endDate`) is:
* 62 days of daily, hourly or minutely data
* This endpoint only stores the most recent 62 days of data.
* Queries with a startDate older than 62 days from the current date will result in a 410 error.
In order to get more than the maximum allowed, you can use the Historical endpoint found [here](/http/md/options-open-interest) .
If you omit `startDate` and `endDate`, the API will return the most recent 62 days of daily data (not data older than 62 days from the current date).
# Instruments
Source: https://docs.amberdata.io/http/market/options-exchanges-information
get /options/exchanges/information
Provides metadata for available options contracts on supported exchanges, including exchange names, contract symbols, and data types (Order Book Events, Ticker, Trades, etc.) with associated data coverage periods.
# Reference
Source: https://docs.amberdata.io/http/market/options-exchanges-reference
get /options/exchanges/reference
Provides essential reference details for options contracts on supported exchanges, including contract symbols, underlying assets, strike prices, expiration dates, settlement types, price and volume limits, and precision requirements.
# Historical
Source: https://docs.amberdata.io/http/market/options-liquidations
get /options/liquidations/{instrument}
Provides historical liquidation data for options contracts, detailing liquidation actions, prices, volumes, mark and index prices, and buy/sell sides to track liquidation events over time across supported exchanges.
The maximum time range (difference between `startDate` and `endDate`) is **365 days (1 year)**.
# Information
Source: https://docs.amberdata.io/http/market/options-liquidations-information
get /options/liquidations/information
Provides availability details for options contract liquidation data across supported exchanges, including contract symbols, underlying assets, and data coverage periods for tracking liquidation events.
# Historical
Source: https://docs.amberdata.io/http/market/options-ohlcv
get /options/ohlcv/{instrument}
Provides historical OHLCV (Open, High, Low, Close, Volume) data for options contracts, enabling analysis of price movements and trading volumes over time for specific contracts across supported exchanges.
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 12 months of daily data.
Block trades are included in the calculation of OHLCV for Deribit.
# Information
Source: https://docs.amberdata.io/http/market/options-ohlcv-information
get /options/ohlcv/information
Provides availability details for OHLCV (Open, High, Low, Close, Volume) data on options contracts across supported exchanges, including contract symbols, underlying assets, and data coverage periods.
# Historical
Source: https://docs.amberdata.io/http/market/options-open-interest
get /options/open-interest/{instrument}
Provides historical open interest data for options contracts, detailing the total number of outstanding contracts at specific timestamps to help assess market interest over time across supported exchanges.
The maximum time range (difference between `startDate` and `endDate`) is **365 days (1 year)**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 1 year.
# Information
Source: https://docs.amberdata.io/http/market/options-open-interest-information
get /options/open-interest/information
Provides availability details for open interest data on options contracts, including contract symbols, underlying assets, and data coverage periods across supported exchanges.
# Events Historical
Source: https://docs.amberdata.io/http/market/options-order-book-events
get /options/order-book-events/{instrument}
Provides historical order book events for options contracts, detailing bid and ask levels, volumes, and order counts at specific timestamps to track market depth and activity over time across supported exchanges.
The maximum time range (difference between `startDate` and `endDate`) is **1 hour**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 10 minutes.
# Events Information
Source: https://docs.amberdata.io/http/market/options-order-book-events-information
get /options/order-book-events/information
Provides availability details for options order book events, including contract symbols, underlying assets, and data coverage periods across supported exchanges to track order book activity over time.
# Snapshots Historical
Source: https://docs.amberdata.io/http/market/options-order-book-snapshots
get /options/order-book-snapshots/{instrument}
Provides detailed historical snapshots of options order books, including bid and ask levels, underlying prices, market statistics, open interest, and Greeks, enabling in-depth analysis of market depth and options pricing over time across supported exchanges.
The maximum time range (difference between `startDate` and `endDate`) is **1 hour**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 10 minutes.
# Snapshots Information
Source: https://docs.amberdata.io/http/market/options-order-book-snapshots-information
get /options/order-book-snapshots/information
Provides availability details for options order book snapshots, including contract symbols, underlying assets, and data coverage periods across supported exchanges to support historical market depth analysis.
# Historical
Source: https://docs.amberdata.io/http/market/options-tickers
get /options/tickers/{instrument}
Provides detailed historical data for options tickers, including price metrics, trading volumes, Greeks, and implied volatility. This endpoint is particularly useful for analyzing past market conditions for specific options on various exchanges.
The maximum time range (difference between `startDate` and `endDate`) is **1 hour**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 1 hour.
# Information
Source: https://docs.amberdata.io/http/market/options-tickers-information
get /options/tickers/information
Provides details about available options tickers on various exchanges, including essential information about each options contract's underlying asset, trading period, and contract type.
# Historical
Source: https://docs.amberdata.io/http/market/options-trades
get /options/trades/{instrument}
Provides detailed historical trade data for a specific options instrument, including the trade's timestamp, side (buy or sell), price, volume, and other relevant metrics like the index price, mark price, and implied volatility (IV) at the time of the trade.
The maximum time range (difference between `startDate` and `endDate`) is **1 hour**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 1 hour.
# Information
Source: https://docs.amberdata.io/http/market/options-trades-information
get /options/trades/information
Povides metadata on available options trades across various exchanges. This includes information on instruments (specific options contracts) such as their exchange, underlying asset, and the time period during which the trade data is available.
# Batch Historical
Source: https://docs.amberdata.io/http/market/spot-batch-ohlcv
get /spot/batch-ohlcv/{exchange}
Delivers historical OHLCV (Open, High, Low, Close, Volume) data in batch format for multiple Spot market trading pairs, providing comprehensive price and volume history over specified time ranges for efficient analysis across multiple assets.
BitMEXβs `volume` field represents the **number of contracts traded**, not the volume in the base asset.
To obtain the correct volume, users must adjust for **contract size** using the `underlyingToPositionMultiplier` from our [Reference endpoint](/http/md/spot-exchanges-reference).
For details on this calculation and how to retrieve the correct values, see our [Changelog Update](/changelog/bitmex-volume-mapping).
The maximum time range (difference between `startDate` and `endDate`) is:
* 62 days of daily, hourly or minutely data
* This endpoint only stores the most recent 62 days of data.
* Queries with a startDate older than 62 days from the current date will result in a 410 error.
In order to get more than the maximum allowed, you can use the Historical endpoint found [here](/http/md/spot-ohlcv) .
If you omit `startDate` and `endDate`, the API will return the most recent 62 days of daily data (not data older than 62 days from the current date).
# Instruments
Source: https://docs.amberdata.io/http/market/spot-exchanges-information
get /spot/exchanges/information
Provides detailed metadata for available trading pairs on supported Spot market exchanges, including exchange names, trading instruments, and available data types (OHLCV, Order Book Snapshots, Order Book Events, Ticker, and Trades) with respective data availability periods.
# Reference
Source: https://docs.amberdata.io/http/market/spot-exchanges-reference
get /spot/exchanges/reference
Returns essential reference details for Spot market trading pairs on supported exchanges, including symbols, market status, price and volume limits, cost and leverage constraints, precision requirements, and listing metadata.
By default, instrument names are normalized to the `"base_quote"` format. If you wish to see the original exchange-native instrument names and details, set the `includeOriginalReference` parameter to `true` in your request. The response will then include an `originalReference` object with the exchange's native data for each instrument.
# Historical
Source: https://docs.amberdata.io/http/market/spot-ohlcv
get /spot/ohlcv/{instrument}
Provides historical OHLCV (Open, High, Low, Close, Volume) data for Spot market trading pairs, enabling analysis of price movements and trading volumes over time across supported exchanges.
BitMEXβs `volume` field represents the **number of contracts traded**, not the volume in the base asset.
To obtain the correct volume, users must adjust for **contract size** using the `underlyingToPositionMultiplier` from our [Reference endpoint](/http/md/spot-exchanges-reference).
For details on this calculation and how to retrieve the correct values, see our [Changelog Update](/changelog/bitmex-volume-mapping).
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 12 months of daily data.
# Information
Source: https://docs.amberdata.io/http/market/spot-ohlcv-information
get /spot/ohlcv/information
Provides availability details for Spot market OHLCV (Open, High, Low, Close, Volume) data across supported exchanges, including trading pairs and data coverage periods.
# Events/Updates Historical
Source: https://docs.amberdata.io/http/market/spot-order-book-events
get /spot/order-book-events/{instrument}
Provides historical updates to Spot market order books, capturing real-time changes in bid and ask levels, volumes, and order counts for specified trading pairs, with precise timestamps for event sequencing and tracking market activity.
BitMEXβs `volume` field represents the **number of contracts traded**, not the volume in the base asset.
To obtain the correct volume, users must adjust for **contract size** using the `underlyingToPositionMultiplier` from our [Reference endpoint](/http/md/spot-exchanges-reference).
For details on this calculation and how to retrieve the correct values, see our [Changelog Update](/changelog/bitmex-volume-mapping).
The maximum time range (difference between `startDate` and `endDate`) is **18 months**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 24 hours.
# Snapshots Historical
Source: https://docs.amberdata.io/http/market/spot-order-book-snapshots
get /spot/order-book-snapshots/{instrument}
Delivers historical order book snapshots for specified Spot market trading pairs, including detailed bid and ask levels, volume, and order count per price level, along with timestamps to track market depth over time.
BitMEXβs `volume` field represents the **number of contracts traded**, not the volume in the base asset.
To obtain the correct volume, users must adjust for **contract size** using the `underlyingToPositionMultiplier` from our [Reference endpoint](/http/md/spot-exchanges-reference).
For details on this calculation and how to retrieve the correct values, see our [Changelog Update](/changelog/bitmex-volume-mapping).
The maximum time range (difference between `startDate` and `endDate`) is **18 months**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 24 hours.
# Information
Source: https://docs.amberdata.io/http/market/spot-order-book-snapshots-information
get /spot/order-book-snapshots/information
Provides availability details for Spot market order book snapshots across supported exchanges, including trading pairs, data coverage start and end times, and exchange-specific information.
# Hourly & Daily Reference Rates
Source: https://docs.amberdata.io/http/market/spot-reference-rates
get /spot/reference-rates/{assetId}
Retrieve the historical (time series) hourly and daily reference rates for a specific asset.
# Historical
Source: https://docs.amberdata.io/http/market/spot-tickers
get /spot/tickers/{instrument}
Delivers historical ticker data for Spot market trading pairs, providing bid, ask, mid, and last prices, along with respective volumes, timestamps, and sequencing for tracking market price changes over time.
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 24 hours.
# Information
Source: https://docs.amberdata.io/http/market/spot-tickers-information
get /spot/tickers/information
Provides availability details for Spot market ticker data across supported exchanges, including trading pairs, data coverage start and end times, and exchange-specific information.
# Historical
Source: https://docs.amberdata.io/http/market/spot-trades
get /spot/trades/{instrument}
Provides historical trade data for Spot market trading pairs, detailing individual trade prices, volumes, buy/sell indicators, and timestamps to track transaction activity over time on supported exchanges.
The maximum time range (difference between `startDate` and `endDate`) is **731 days (2 years)**.
If the `startDate` and `endDate` query parameters are not provided, the API will return the data from the previous 24 hours.
# Information
Source: https://docs.amberdata.io/http/market/spot-trades-information
get /spot/trades/information
Provides availability details for Spot market trade data across supported exchanges, including trading pairs, data coverage start and end times, and exchange-specific information.
# Asset Information
Source: https://docs.amberdata.io/http/price/new-asset-information
get /prices/spot/assets/information
This endpoint returns all available exchange and asset combinations for price data. Users can also isolate a specific asset to see all exchanges that support it.
# Asset Price
Source: https://docs.amberdata.io/http/price/new-asset-price
get /prices/spot/assets
This endpoint returns the asset price. This asset price is derived from trading data across various exchanges and cross-asset pairs, weighted by trade volume.
# Pair Information
Source: https://docs.amberdata.io/http/price/new-instrument-pair-information
get /prices/spot/instruments/information
This endpoint returns all available exchange and instrument pair combinations for price data. Users can also isolate a specific instrument pair to see all exchanges that support it.
# Pair Price
Source: https://docs.amberdata.io/http/price/new-instrument-price
get /prices/spot/instruments
This endpoint returns the pair price. This pair price is derived from trading data across various exchanges weighted by trade volume.
# Amberdata Docs
Source: https://docs.amberdata.io/index
Comprehensive digital asset data and analytics APIs β your gateway to institutional-grade digital asset intelligence.
Amberdata Documentation
Build with institutional-grade digital asset data and analytics
From on-chain metrics and DeFi protocol flows to granular order books and derivatives analytics,
Amberdata gives you a single, normalized view of the crypto economyβfast, reliable, and production-ready.
# Getting Started
Source: https://docs.amberdata.io/intelligence/custom-dashboards/quick-start
Learn the basics of creating and adding a custom insight to your first dashboard.
This guide explains various ways in which you can create and manage custom dashboards inside Amberdata Intelligence.
***
## **Create an Insight and Add to a new Dashboard**
1. Once you have an insight from Data Weaver that you want to save, click on the *Pin* button in the top right corner.
2. This will open an additional menu, where you'll see the list of available dashboards. Your menu may look one of two ways depending on whether you have or have not previously created a dashboard.
### No Previous Dashboards Exist
1. If you have no dashboards available, click on the *Create Liveboard* button, which will create an empty text section for you to type in your dashboard name
2. Once you have a name for your dashboard, click on the blue check to the right of the name to save it
3. And to finish saving the insight to the newly created dashboard, click on the *Pin* button at the bottom of the menu
### Some Previous Dashboards Exist
1. If you already have existing dashboards, click on the dropdown menu just left of the *Pin* button
2. You'll see the list of your available dashboards, click to choose which dashboard you want to save the insight to. When selected, a checkmark will appear to the right of the dashboard name
3. And to finish saving the insight to the selected dashboard, click on *Pin* in the bottom right
## **Navigate to Your Dashboards**
1. In the top right, click on the *Dashboard Gallery* button, this will take you to a new screen where you will see your complete list of dashboards
2. From this view, you also have the option to create additional dashboards or delete existing ones
3. Click on any of the dashboards in the list to navigate to that dashboard
4. Once you are within your dashboard, you can see the insights (if any) that you've already added
### Resizing & Moving Dashboard Visualizations
1. Within the dashboard page, click on the *Edit* button in the top right, this will transform your current screen.
2. For each visualization you should now see a corner icon in the bottom right, hovering over it will reveal a compass pointer. Click and drag your mouse to resize your chart to your desired size.
3. Also for each visualization, if you hover at the top, you'll see a drag icon. Click and drag your mouse to move the entire visualization to another part of the dashboard if you desire.
4. Once you are satisfied with your edits, click on *Save* in the top right
# Amberdata Intelligence
Source: https://docs.amberdata.io/intelligence/getting-started/quick-start
Learn the basics of navigating the intelligence UI.
Welcome to the Amberdata Intelligence Platform! This guide explains the layout of the UI and four powerful features that enable in-depth on-chain and off-chain digital asset analysis: **Drill Down**, **Deep Research,** **Change Analysis,** and **Explore.**
***
## **Navigating the UI**
There are several key components of the UI
1. This is where you can login and logout of your account
2. This is the sidebar where you can explore all of the datasets that you can analyze within the platform
3. This is the main area where you can interact with insights for various datasets
4. This area contains auxiliary functions, from left to right, you have the following buttons
* Refresh, this will pull in the latest data via a hard reload of the current page
* Data Weaver, this tool allows you to customize your insights and visualizations
* Knowledge Base, this links you to these docs that you are currently reading
* Theme Switch, this allows you to switch between light and dark mode
5. Click on the arrow to collapse the sidebar and gain more visual real-estate
### Light Mode
***
## **1. Drill Down: Dive Deeper into Your Data**
The **Drill Down** feature gives a detailed analysis of the underlying data behind any chart, breaking it down by specific dimensions.
### **How to Use Drill Down**
1. **Select a Chart**: Start with any chart on the platform, such as spot trading volume for Coinbase or stablecoin liquidity.
2. **Right-Click to Drill Down**: Right-click on a specific data point (e.g., a bar representing a dayβs trading volume).
3\. **Choose a Dimension**: Select a category to break down the data, such as:
* **Instrument**: View top instruments traded (e.g., Bitcoin USD, ETH USD).
* **Blockchain**: Ethereum, Tron, etc
* **Order Size Category**: Analyze trade size distributions (e.g., trades over \$100K).
* **Blockchain or Asset Symbol**: For stablecoin data, break down liquidity by chain (e.g., Ethereum, Polygon) or asset (e.g., USDC, Tether).
4. **View Results**: The platform generates a new visualization or table showing the breakdown. For example, drilling down into \$5.62 billion of Coinbaseβs spot trading volume might reveal \$500 million in trades over \$100K.
5. **Go Deeper**: Repeat the process to explore additional layers, such as breaking down Bitcoin USD trades by order size or blockchain.
**Example**
To understand which instruments drove Coinbaseβs spot trading volume on a specific day:
* Right-click a bar in the Coinbase spot trading volume chart.
* Select βBreak out by Instrument.β
* Which outputs a chart showing that Bitcoin/USD contributed \$5.62 billion, with smaller contributions from ETH/USD, USDT/USD, and others.
***
## **2. Change Analysis: Compare Data Points to Understand Trends**
The **Change Analysis** feature allows comparison between two data points on a chart (e.g., different days or values) to understand what drove changes in the data, such as shifts in trading volume or liquidity.
### **How to Use Change Analysis**
1. **Select a Chart**: Choose a chart, such as net liquidity for stablecoins or spot trading volume.
2. **Pick Two Data Points**: Hold the βAltβ (on Windows) or βCommandβ (on MacOS) key and click on two data points to compare them, for example, the bars for August 15th and August 16th in stablecoin net liquidity.
3. **Run Change Analysis**: Right-click and select βChange Analysisβ to generate a report explaining the differences. See pic below.
4. **Review Results**: The platform provides a detailed breakdown, including:
* Percentage change (e.g., an 86.23% decrease in net liquidity from \$1.6 billion to \$220 million).
* Key contributors (e.g., Ethereum and Polygon Mainnets accounted for 97.68% of the decrease).
* Asset-specific insights (e.g., USDS contributed 8.60% to net liquidity on August 15th vs. 61.77% on August 16th).
5. **Dive Deeper**: Break down the results further by dimensions such as asset symbol or blockchain for increased granularity.
**Example**
To understand a drop in stablecoin net liquidity:
* Select bars for August 15th (\$1.6 billion) and August 16th (\$220 million).
* Run Change Analysis to see an 86.23% decrease, with Ethereum Mainnet and USDS as major contributors.
* Break down by asset symbol to see USDSβs shift in contribution.
***
## **3. Deep Research: Create Charts with Natural Language Queries**
The **Deep Research** feature is powered by conversational analytics. Ask questions in natural language and instantly generate charts or tables, making data analysis intuitive, flexible, and no-code.
### **How to Use Deep Research**
**Access Deep Research**: Locate the Deep Research input field on any chart by hovering over the upper-right corner. The Deep Research button will appear.
1. **Ask a Question**: Type a question about the data, such as:
* βWhat was the spot trading volume for Binance in April 2025?β
* βShow daily transfer volume for USDC on Base Mainnet for the last 90 days.β
2. **Review the Interpretation**: Deep Research maps the question to relevant data columns (e.g., trading volume, date, blockchain) and displays which columns were used, ensuring transparency.
3. **View the Chart or Table**: The platform generates a visualization (e.g., a bar chart of daily Binance trading volumes) or a table (e.g., total volume of \$3.14 trillion for April 2025).
4. **Refine or Combine**: Ask follow-up questions to adjust the output (e.g., βBreak it out by daily volumesβ) or use Drill Down on the generated chart for deeper analysis.
**Example**
To analyze ETF flows:
* Type: βWhich funds had the largest flows in the first quarter of this year?β
* Deep Research returns all the funds with the largest flows, including BlackRock, Fidelity, and more.
* Type: βShow the daily values for these flows.β A chart appears showing the daily value for each fund, and you can choose which funds to focus on.
***
## **4. Explore: Customize Charts with Flexible Filters**
Modify charts with the **Explore** feature by adjusting variables like timeframe, blockchain, or asset to create tailored views of the data.
### **How to Use Explore**
**Access Explore**: Click the βExploreβ option on any chart (e.g., stablecoin liquidity or trading volume); hover over the top right of a chart and click the 3 dots to see βExploreβ
1. **Modify Filters**: Adjust variables such as:
* Timeframe: Change from daily to hourly or select a specific date range (e.g., last 90 days).
* Blockchain: Filter by chains like Ethereum, Polygon, or Base Mainnet.
* Asset Symbol: Focus on specific assets like USDC or Tether.
2. **Add Comparisons**: Use contextual recommendations to compare assets or blockchains relevant to the chart.
3. **Apply Changes**: Update the chart to reflect new filters or comparisons.
4. **Save or Export**: Download the customized chart as an image, Excel, or CSV file by clicking the ellipses (...).
**Example**
To customize a stablecoin liquidity chart:
* Click βExploreβ on a net liquidity chart.
* Set the timeframe to the last 90 days, filter by USDC, and select Base Mainnet.
* Add a comparison for Tether to see both assets side by side.
* View the updated chart and export it for further analysis.
***
## **Tips for Success**
* **Combine Features**: Use Deep Research to create a chart, then Drill Down to explore specific data points for more granular insights.
* **Build Your Own Chart**: Use Data Weaver to create custom charts to more accurately match your exact use case.
* **Save and Share** (coming soon): Save charts to custom dashboards for easy reference and collaboration.
* **Download Data**: Export charts or data as images, Excel, or CSV files by clicking the ellipses (...) on any chart.
# Futures
Source: https://docs.amberdata.io/real-time/market/websocket-market-futures
Real-time market data for futures trading.
## Funding Rates
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:futures:funding_rates", { "instrument": "ICXUSDT", "exchange": "binance" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "8d5b4e5a-435d-40d4-9701-b3d8c2d15148",
"result": {
"exchange": "binance",
"instrument": "GASUSDT",
"timestamp": 1711571101000,
"insertionTimestamp": 1711571101000,
"fundingInterval": null,
"fundingRate": 0.00019676,
"nextFundingRate": null,
"nextFundingTime": 1711584000000,
"isActualFundingRate": false
}
}
}
```
| Field | Type | Description |
| :------------------ | :----------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| exchange | `string` | The exchange. |
| instrument | `string` | The asset pair |
| timestamp | `number` | The time at which the funding rate took place. |
| insertionTimestamp | `number` | The time at which the funding rate insert to database |
| fundingInterval | `number` \| `null` | The interval funding |
| fundingRate | `number` | The funding rate value |
| nextFundingRate | `number` | The next funding rate for which data is available. |
| nextFundingTime | `number` \| `null` | The next funding time for which data is available. |
| isActualFundingRate | `boolean` | If `true`, then it's the actual funding rate that has been realized and applied. If `false`, then it's a projected/estimated funding rate for an upcoming funding interval. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/futures', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:futures:funding_rates', {'instrument': 'BTCUSD_PERP', 'exchange': 'binance'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Insurance Funds
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:futures:insurance_funds", { "instrument": "EOS", "exchange": "huobi" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```
"result": {
"exchange": "huobi",
"instrument": "EOS",
"timestamp": 1613289600,
"fund": 1056094
}
```
| Field | Type | Description |
| :--------- | :------- | :----------------------------------------------- |
| exchange | `string` | The exchange. |
| instrument | `string` | The asset pair |
| timestamp | `number` | The time at which the insurance fund took place. |
| fund | `number` | The insurance fund value |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/futures', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:futures:insurance_funds', {'instrument': 'EOS', 'exchange': 'huobi'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Liquidations
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:futures:liquidations", { "instrument": "BTCUSDT", "exchange": "binance" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "bc79013c-6051-49ff-b4d5-754082bf8e47",
"result": {
"exchange": "binance",
"instrument": "AEVOUSDT",
"timestamp": 1711571204802,
"price": 2.9643448,
"side": "SELL",
"status": "FILLED",
"type": "LIMIT",
"timeInForce": "IOC",
"action": null,
"orderId": null,
"volume": 31
}
}
}
```
| Field | Type | Description |
| :---------- | :------- | :-------------------------------------------------------------------------------------------------------------------------------------- |
| exchange | `string` | The exchange name. |
| instrument | `string` | The instrument name. |
| timestamp | `number` | The time at which the liquidation took place. |
| price | `number` | The price at which the liquidation occurred. |
| side | `string` | Indicates whether the liquidated position was a buy or sell. |
| status | `string` | The status of the order at the time of the message. |
| type | `string` | The type of order that was liquidated. |
| timeInForce | `string` | Describes how long an order will remain active before it is executed or expires. |
| action | `string` | This field will show as `null` for all exchanges except Bitmex. |
| orderId | | An identifier for the specific order that was liquidated (this field will show as `null` for most exchanges except Deribit and Bitmex). |
| volume | `number` | The amount of the asset that was liquidated. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/futures', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:futures:liquidations', {'instrument': 'XRPUSDT', 'exchange': 'binance'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Long/Short Ratios
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:futures:long_short_ratios", { "instrument": "XRPUSDT", "exchange": "binance", "period": "minutely" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "1a71b04a-4f9f-4638-8cb2-b0f2d9c7e51e",
"result": {
"exchange": "binance",
"instrument": "BTCUSDT",
"timestamp": 1711571100000,
"longAccount": 0.6069,
"ratio": 1.5439,
"shortAccount": 0.3931,
"period": 5
}
}
}
```
| Field | Type | Description |
| :----------- | :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| exchange | `string` | The exchange name. |
| instrument | `string` | The instrument name. |
| timestamp | `number` | The time at which the long/short ratio was updated. |
| longAccount | `number` | The proportion of accounts on the long side of the futures contract. |
| ratio | `number` | The long/short ratio. |
| shortAccount | `number` | The proportion of accounts on the short side of the futures contract. |
| period | `number` | The frequency of the timeInterval. When `timeInterval=minutes`, the period is `5`, indicating 5 minutes. When `timeInterval=days`, the period is `1`, indicating 1 day. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/futures', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:futures:long_short_ratios', {'instrument': 'XRPUSDT', 'exchange': 'binance', 'period': 'minutely'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## OHLCV
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:futures:ohlcv", { "instrument": "XRPUSDT", "exchange": "binance"} ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "c17c567a-6bd0-4335-85ed-61197c845f3f",
"result": {
"exchange": "binance",
"instrument": "ADAUSD_PERP",
"timestamp": 1711570860000,
"open": 0.6478,
"high": 0.6478,
"low": 0.6476,
"close": 0.6476,
"volume": 4075.73706105
}
}
}
```
| Field | Type | Description |
| :--------- | :------- | :----------------------------------------------------------------------- |
| exchange | `string` | The exchange name. |
| instrument | `string` | The instrument name. |
| timestamp | `number` | The timestamp associated with this record in UTC. |
| open | `number` | The price at which the first trade occurred during the specified period. |
| high | `number` | The highest price at which a trade took place during the period. |
| low | `number` | The lowest price at which a trade occurred during the period. |
| close | `number` | The price at which the last trade occurred during the specified period. |
| volume | `number` | The total quantity traded during the period. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/futures', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:futures:ohlcv', {'instrument': 'XRPUSDT', 'exchange': 'binance'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Open Interest
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:futures:open_interests", { "instrument": "XRPUSDT", "exchange": "binance" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "e91d68fa-84c8-445b-8da4-62c9e6036b56",
"result": {
"exchange": "binance",
"instrument": "BTCUSDT",
"timestamp": 1711582494214,
"value": "82862.305",
"type": null
}
}
}
```
| Field | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| exchange | `string` | The exchange name. |
| instrument | `string` | The instrument name. |
| timestamp | `number` | The time at which the data was received. |
| value | `string` | The total open interest for the specified instrument. |
| type | `string` | The type of futures contract. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/futures', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:futures:open_interests', {'instrument': 'XRPUSDT', 'exchange': 'binance'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Order Book Events
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:futures:order:events", { "instrument": "XRPUSDT", "exchange": "binance" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "daa10b81-e434-417c-a172-a0ac73a6cb25",
"result": {
"exchange": "binance",
"instrument": "BTCUSDT",
"timestamp": 1711570943299,
"exchangeTimestamp": 1711570943297,
"exchangeTimestampNanoseconds": 0,
"receivedTimestamp": 1711570943299,
"receivedTimestampNanoseconds": 658463,
"isBid": false,
"data": [
[
69020,
0.353,
null
],
[
69028.7,
0.112,
null
],
[
69030.4,
0.009,
null
]
],
"sequence": 4292890252329
}
}
}
```
| Field | Type | Description |
| :--------------------------- | :-------- | :----------------------------------------------------------------------------------------------- |
| exchange | `string` | The exchange name. |
| instrument | `string` | The instrument name. |
| timestamp | `number` | The timestamp at which the order book event took place. |
| exchangeTimestamp | `number` | The timestamp at which the event was recorded by the exchange. |
| exchangeTimestampNanoseconds | `number` | The nanosecond timestamp at which the event was recorded by the exchange. |
| receivedTimestamp | `number` | The timestamp for when the update was received by our system. |
| receivedTimestampNanoseconds | `number` | The nanosecond timestamp for when the update was received by our system. |
| isBid | `boolean` | A boolean value indicating whether the data pertains to bid orders (true) or ask orders (false). |
| data\[0] | `number` | The price level of the order(s). |
| data\[1] | `number` | The quantity of the contract(s) at that price level. |
| data\[2] | `number` | The number of individual orders at the specified price level. |
| sequence | `number` | A unique identifier for the order book event. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/futures', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:futures:order:events', {'instrument': 'XRPUSDT', 'exchange': 'binance'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Order Book Snapshots
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:futures:order:snapshots", { "instrument": "XRPUSDT", "exchange": "binance" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :--------------------------------------------------------------- |
| instrument | `string` | The asset instrument. (REQUIRED) |
| exchange | `string` | The exchange for which to retrieve asset instruments. (OPTIONAL) |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "8e1f5873-5023-4989-8573-2e91a6e4112c",
"result": [
{
"exchange": "binance",
"instrument": "BTCUSDT",
"timestamp": 0,
"exchangeTimestamp": 1711570980336,
"isBid": false,
"data": [
[
69135.8,
0.07,
null
],
[
69136.4,
0.029,
null
]
],
"sequence": 4292893574687,
"currentFunding": null
}
]
}
}
```
| Field | Type | Description |
| :---------------- | :-------- | :-------------------------------------------------------------------------------- |
| exchange | `string` | The exchange name. |
| instrument | `string` | The instrument name. |
| timestamp | `number` | The time at which the order book snapshot took place. |
| exchangeTimestamp | `number` | The timestamp at which the event was recorded by the exchange. |
| isBid | `boolean` | A boolean indicator of whether the orders in the snapshot are buy (bid) orders. |
| data\[0] | `number` | The price level of the order. |
| data\[1] | `number` | The quantity of the asset available at the specified price level. |
| data\[2] | `number` | The number of individual orders that are aggregated at the specified price level. |
| sequence | `number` | A unique identifier for the order book state. |
| currentFunding | `number` | The current funding rate for perpetual futures contracts. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.io/', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:futures:order:snapshots'],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Tickers Snapshots
This subscription delivers 1-second snapshots. For each instrument/pair and exchange, we emit at most one update per second, using the first ticker event observed in that UTC-second. If your workflow requires event-level (tick-by-tick) tickers, they are available on our Enterprise plan. Please contact your Amberdata sales representative for details.
### Request
```json theme={null}
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:futures:tickers:snapshots", { "instrument": "BTCUSDT", "exchange": "binance" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```json theme={null}
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "d5475b6c-552a-4ab6-903a-ba054e468ab5",
"result": {
"exchange": "binance",
"instrument": "BTCUSDT",
"exchangeTimestamp": 1711571015981,
"exchangeTimestampNanoseconds": 0,
"timestamp": 1711571015981,
"bid": 69135.9,
"ask": 69136,
"mid": 69135.95,
"last": null,
"sequence": 4292896044090,
"markPrice": 69136.1,
"lastVolume": null,
"bidVolume": 9.517,
"askVolume": 0.527
}
}
}
```
| Field | Type | Description |
| :--------------------------- | :------- | :------------------------------------------------------------------------------------------------- |
| exchange | `string` | The exchange name. |
| instrument | `string` | The instrument name. |
| exchangeTimestamp | `number` | The exchange provided timestamp. |
| exchangeTimestampNanoseconds | `number` | The exchange provided nanosecond part of the `exchangeTimestamp` (if available from the exchange). |
| timestamp | `number` | The timestamp at which the event took place. |
| bid | `number` | The bid of the instrument. |
| ask | `number` | The ask of the instrument. |
| mid | `number` | The mid of the instrument. |
| last | `number` | The last of the instrument. |
| sequence | `number` | The sequence number (equal to `null` if it is not provided by the exchange). |
| lastVolume | `number` | The last volume for the instrument. |
| bidVolume | `number` | The order size of the best bid. |
| askVolume | `number` | The order size of the best ask. |
#### Example
```javascript theme={null}
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/futures', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:futures:tickers:snapshots', {'instrument': 'BTCUSDT', 'exchange': 'binance'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Trades
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:futures:trades", { "instrument": "XRPUSDT", "exchange": "binance" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "1e235200-b099-457c-956d-e981605ab105",
"result": {
"exchange": "binance",
"instrument": "XRPUSDT",
"exchangeTimestamp": 1711571031275,
"exchangeTimestampNanoseconds": 0,
"isBuySide": false,
"quoteSize": null,
"price": 0.6159,
"size": 211.4,
"tradeId": "1443425767"
}
}
}
```
| Field | Type | Description |
| :--------------------------- | :-------- | :------------------------------------------------------------------------------------------- |
| exchange | `string` | The exchange name. |
| instrument | `string` | The instrument name. |
| exchangeTimestamp | `number` | The timestamp at which the event was recorded by the exchange. |
| exchangeTimestampNanoseconds | `number` | The nanosecond timestamp at which the event was recorded by the exchange. |
| isBuySide | `boolean` | A boolean value indicating the direction of the trade from the perspective of the initiator. |
| quoteSize | `number` | The total amount of the quote asset of the instrument that was traded. |
| price | `number` | The price at which the futures contract was traded. |
| size | `number` | The quantity of the contract that was traded. |
| tradeId | `string` | A unique identifier for this specific trade. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/futures', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:futures:trades', {'instrument': 'XRPUSDT', 'exchange': 'binance'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
# Options
Source: https://docs.amberdata.io/real-time/market/websocket-market-options
Real-time market data for options trading.
## Liquidations
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:options:liquidations", { "instrument": "ETH-30SEP22-9000-P", "exchange": "deribit" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
| period | `string` | 'minutely' 'hourly' 'daily' |
### Response
```
"result": {
"exchange": "deribit",
"instrument": "ETH-30SEP22-9000-P",
"timestamp": 1637916913907,
"originalQuantity": 2.0,
"price": 0.001,
"side": "BUY",
"status": null,
"type": null,
"timeInForce": null,
"action": null,
"orderId": "ETH-104154743"
}
```
| Field | Type | Description |
| :--------------- | :------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| exchange | `string` | The exchange. |
| timestamp | `number` | The time at which the liquidation took place. |
| originalQuantity | `number` | The original quantity before the liquidation occurred. |
| price | `number` | The price of the instrument at the time of the liquidation. |
| side | `string` | The direction of the trade. |
| status | `string` | The status of the liquidation. |
| type | `string` | The type of liquidation. |
| timeInForce | `string` | How long the order is to remain active before it is executed or expires, for example: IOC: immediate-or-cancel, FOK: fill-or-kill, GTC: good-'till-canceled, etc |
| action | `string` | The type of action taken during the liquidation process (for example: delete, insert, update, etc). |
| orderId | `string` | The order identifier. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/options', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:options:liquidations', {'instrument': 'ETH-30SEP22-9000-P', 'exchange': 'deribit'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## OHLCV
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:options:ohlcv", { "instrument": "BTC-10DEC21-100000-C", "exchange": "deribit"} ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "203e79ed-3985-4fb8-a8d6-bef7cebc2fda",
"result": {
"exchange": "deribit",
"instrument": "BTC-12APR24-71000-C",
"timestamp": 1711571340000,
"open": 0.049,
"high": 0.049,
"low": 0.049,
"close": 0.049,
"volume": 0
}
}
}
```
| Field | Type | Description |
| :--------- | :------- | :----------------------------------------------------------------------- |
| exchange | `string` | The exchange name. |
| instrument | `string` | The instrument name. |
| timestamp | `number` | The time at which the event took place. |
| open | `number` | The price at which the first trade occurred during the specified period. |
| high | `number` | The highest price at which a trade took place during the period. |
| low | `number` | The lowest price at which a trade occurred during the period. |
| close | `number` | The price at which the last trade occurred during the specified period. |
| volume | `number` | The total quantity traded during the period. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/options', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:options:ohlcv', {'instrument': 'BTC-10DEC21-100000-C', 'exchange': 'deribit'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Open Interest
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:options:open_interests", { "instrument": "ETH-17DEC21-4100-C", "exchange": "deribit" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :--------------------------------------------------------------- |
| instrument | `string` | The asset instrument. (OPTIONAL) |
| exchange | `string` | The exchange for which to retrieve asset instruments. (OPTIONAL) |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "4ce0d4c7-905a-44c0-ba96-121992670f13",
"result": {
"instrument": "BTC-12APR24-71000-C",
"exchange": "deribit",
"timestamp": 1711571535660,
"value": 293.2
}
}
}
```
| Field | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| exchange | `string` | The exchange name. |
| instrument | `string` | The instrument name. |
| timestamp | `number` | The timestamp associated with this record in UTC. |
| value | `number` | The total open interest for the specified instrument. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/options', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:options:open_interests'],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Order Book Events
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:options:order:events", { "instrument": "BTC-30SEP22-50000-P", "exchange": "deribit" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "74212dc1-f25e-41b5-a3ae-f239d5155b6b",
"result": {
"exchange": "deribit",
"instrument": "BTC-12APR24-71000-C",
"timestamp": 1711571405282,
"exchangeTimestamp": 1711571404974,
"exchangeTimestampNanoseconds": 0,
"receivedTimestamp": 1711571405282,
"receivedTimestampNanoseconds": 184986,
"isBid": false,
"sequence": 68116490254,
"data": [
[
0.0485,
0.3,
null
],
[
0.049,
62.2,
null
],
[
0.0495,
9.6,
null
]
]
}
}
}
```
| Field | Type | Description |
| :--------------------------- | :----------------- | :------------------------------------------------------------ |
| exchange | `string` | The exchange. |
| instrument | `string` | The instrument. |
| timestamp | `number` | The time at which the order book event took place. |
| exchangeTimestamp | `number` | Timestamp that the exchange returned. |
| exchangeTimestampNanoseconds | `number` | Nanoseconds part of `exchangeTimestamp`. |
| receivedTimestamp | `number` | Timestamp when Amberdata received order book event. |
| receivedTimestampNanoseconds | `number` | Nanoseconds part of `receivedTimestamp`. |
| isBid | `boolean` | `true` if the order is a bid, false otherwise. |
| sequence | `number` \| `null` | A unique identifier for the order book event. |
| data\[0] | `number` | The price level of the order(s). |
| data\[1] | `number` | The quantity of the contract(s) at that price level. |
| data\[2] | `number` \| `null` | The number of individual orders at the specified price level. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/options', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:options:order:events', {'instrument': 'BTC-30SEP22-50000-P', 'exchange': 'deribit'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Order Book Snapshots
### Request
```json theme={null}
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:options:order:snapshots", { "instrument": "BTC-24JUN22-15000-P", "exchange": "deribit" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :--------------------------------------------------------------- |
| instrument | `string` | The asset instrument. (REQUIRED) |
| exchange | `string` | The exchange for which to retrieve asset instruments. (OPTIONAL) |
### Response
```json theme={null}
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "cd09d018-fa34-408d-aef7-8a5ef2c641b3",
"result": {
"exchange": "deribit",
"instrument": "BTC-12APR24-71000-C",
"timestamp": 1711571460000,
"exchangeTimestamp": 1711571461951,
"exchangeTimestampNanoseconds": 0,
"underlyingPrice": 69599.7133,
"underlyingIndex": "SYN.BTC-12APR24",
"stats": {
"volume_usd": 376871.48,
"volume": 88.7,
"price_change": -16.9492,
"low": 0.049,
"high": 0.0669
},
"state": "open",
"openInterest": 293.2,
"minPrice": 0.017,
"maxPrice": 0.1,
"markPrice": 0.0477,
"markIv": 69.04,
"lastPrice": 0.049,
"interestRate": 0,
"indexPrice": 68922.78,
"greeks": {
"rho": 12.53638,
"theta": -127.22042,
"vega": 57.04281,
"gamma": 0.00004,
"delta": 0.47249
},
"estimatedDeliveryPrice": 68922.78,
"bids": [
[
0.0475,
4.7
],
[
0.047,
53.7
],
[
0.0465,
13.4
]
],
"bidIv": 68.75,
"bestBidPrice": 0.0475,
"bestBidAmount": 4.7,
"bestAskPrice": 0.0485,
"bestAskAmount": 26.4,
"asks": [
[
0.0485,
26.4
],
[
0.049,
38.8
],
[
0.0495,
8
]
],
"askIv": 69.97,
"sequence": 68116518368,
"metadata": {
"settlementPrice": 0.05367167
}
}
}
}
```
| Field | Type | Description |
| :--------------------------- | :------------------------- | :------------------------------------------------------------------------------------------------------------------- |
| exchange | `string` | The exchange. |
| instrument | `string` | The instrument. |
| timestamp | `number` | The time at which the order book snapshot took place. |
| exchangeTimestamp | `number` \| `null` | Timestamp that the exchange returned. |
| exchangeTimestampNanoseconds | `number` \| `null` | Nanoseconds part of `exchangeTimestamp`. |
| underlyingPrice | `number` \| `null` | Underlying price for implied volatility calculations. |
| underlyingIndex | `string` \| `null` | Name of the underlying future, or `indexPrice`. |
| stats | `object` \| `null` | |
| stats.high | `number` \| `null` | Highest price during 24h. |
| stats.low | `number` \| `null` | Lowest price during 24h. |
| stats.price\_change | `number` \| `null` | 24-hour price change expressed as a percentage, null if there weren't any trades. |
| stats.volume | `number` \| `null` | Volume during last 24h in base currency. |
| stats.volume\_usd | `number` \| `null` | |
| state | `string` \| `null` | The state of the order book. Possible values are `open` and `closed`. |
| openInterest | `number` \| `null` | The amount of corresponding cryptocurrency contracts, e.g., BTC or ETH. |
| minPrice | `number` \| `null` | The minimum price for the future. Any sell orders you submit lower than this price will be clamped to this minimum. |
| maxPrice | `number` \| `null` | The maximum price for the future. Any buy orders you submit higher than this price, will be clamped to this maximum. |
| markPrice | `number` \| `null` | The mark price for the instrument. |
| markIv | `number` \| `null` | Implied volatility for mark price. |
| lastPrice | `number` \| `null` | The price for the last trade. |
| interestRate | `number` \| `null` | Interest rate used in implied volatility calculations. |
| indexPrice | `number` \| `null` | Current index price |
| greeks | `object` \| `null` | |
| greeks.delta | `number` \| `null` | The delta value for the option. |
| greeks.gamma | `number` \| `null` | The gamma value for the option. |
| greeks.rho | `number` \| `null` | The rho value for the option. |
| greeks.theta | `number` \| `null` | The theta value for the option. |
| greeks.vega | `number` \| `null` | The vega value for the option. |
| estimatedDeliveryPrice | `number` \| `null` | The settlement price for the instrument. Only when `state = open`. |
| bids | `array of [price, amount]` | List of bids. |
| bidIv | `number` \| `null` | Implied volatility for best bid. |
| bestBidPrice | `number` \| `null` | The current best bid price, `null` if there aren't any bids. |
| bestBidAmount | `number` \| `null` | It represents the requested order size of all best bids. |
| bestAskPrice | `number` \| `null` | The current best ask price, `null` if there aren't any asks. |
| bestAskAmount | `number` \| `null` | It represents the requested order size of all best asks. |
| asks | `array of [price, amount]` | List of asks. |
| askIv | `number` \| `null` | Implied volatility for best ask. |
| sequence | `number` \| `null` | |
| metadata | `object` \| `null` | |
#### Example
```javascript theme={null}
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/options', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:options:order:snapshots'],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Tickers Snapshots
This subscription delivers 1-second snapshots. For each instrument/pair and exchange, we emit at most one update per second, using the first ticker event observed in that UTC-second. If your workflow requires event-level (tick-by-tick) tickers, they are available on our Enterprise plan. Please contact your Amberdata sales representative for details.
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:options:tickers:snapshots", { "instrument": "ETH-30SEP22-9000-P", "exchange": "deribit" } ]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "cd9738ab-54e9-4bcf-a3f8-be3c7976e694",
"result": {
"exchange": "deribit",
"instrument": "BTC-12APR24-71000-C",
"timestamp": 1711571450748,
"exchangeTimestamp": 1711571450748,
"exchangeTimestampNanoseconds": 0,
"bid": 0.0475,
"ask": 0.0485,
"mid": 0.048,
"last": 0.049,
"baseVolume": null,
"quoteVolume": null,
"bidVolume": 4.7,
"askVolume": 26.4,
"sequence": null,
"metadata": null,
"underlyingPrice": 69593.63,
"underlyingIndex": "SYN.BTC-12APR24",
"stats": {
"volume_usd": 376871.48,
"volume": 88.7,
"price_change": -16.9492,
"low": 0.049,
"high": 0.0669
},
"state": "open",
"settlementPrice": 0.05367167,
"openInterest": 293.2,
"minPrice": 0.017,
"maxPrice": 0.1,
"markPrice": 0.0477,
"markIv": 69.03,
"interestRate": 0,
"indexPrice": 68916.13,
"greeks": {
"rho": 12.52907,
"theta": -127.19004,
"vega": 57.0353,
"gamma": 0.00004,
"delta": 0.47224
},
"estimatedDeliveryPrice": 68916.13,
"bidIv": 68.79,
"askIv": 70.01
}
}
}
```
| Field | Type | Description |
| :--------------------------- | :----------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| exchange | `string` | The exchange. |
| instrument | `string` | The instrument. |
| exchangeTimestamp | `number` \| `null` | Timestamp that the exchange returned. |
| exchangeTimestampNanoseconds | `number` \| `null` | Nanoseconds part of `exchangeTimestamp`. |
| timestamp | `number` \| `null` | The time at which the ticker took place. |
| bid | `number` \| `null` | The bid of the market pair. |
| ask | `number` \| `null` | The ask of the market pair. |
| mid | `number` \| `null` | The mid of the market pair. |
| last | `number` \| `null` | The last of the market pair. |
| baseVolume | `number` \| `null` | |
| quoteVolume | `number` \| `null` | |
| bidVolume | `number` \| `null` | It represents the requested order size of all best bids. |
| askVolume | `number` \| `null` | It represents the requested order size of all best asks. |
| sequence | `number` \| `null` | |
| metadata | `number` \| `null` | |
| underlyingPrice | `string` \| `null` | Underlying price for implied volatility calculations. |
| underlyingIndex | `string` \| `null` | Name of the underlying future, or `indexPrice`. |
| stats | `object` \| `null` | |
| stats.high | `number` \| `null` | Highest price during 24h. |
| stats.low | `number` \| `null` | Lowest price during 24h. |
| stats.volume | `number` \| `null` | Volume during last 24h in base currency. |
| stats.price\_change | `number` \| `null` | 24-hour price change expressed as a percentage, `null` if there weren't any trades. |
| state | `string` \| `null` | The state of the order book. Possible values are `open` and `closed`. |
| settlementPrice | `number` \| `null` | The settlement price for the instrument. Only when `state = open`. |
| openInterest | `number` \| `null` | The total amount of outstanding contracts in the corresponding amount units. For perpetual and futures the amount is in USD units, for options it is amount of corresponding cryptocurrency contracts, e.g., BTC or ETH. |
| minPrice | `number` \| `null` | The minimum price for the future. Any sell orders you submit lower than this price will be clamped to this minimum. |
| maxPrice | `number` \| `null` | The maximum price for the future. Any buy orders you submit higher than this price, will be clamped to this maximum. |
| markPrice | `number` \| `null` | The mark price for the instrument. |
| markIv | `number` \| `null` | Implied volatility for mark price. |
| interestRate | `number` \| `null` | Interest rate used in implied volatility calculations. |
| indexPrice | `number` \| `null` | Current index price. |
| greeks | `object` \| `null` | |
| greeks.delta | `number` \| `null` | The delta value for the option. |
| greeks.gamma | `number` \| `null` | The gamma value for the option. |
| greeks.rho | `number` \| `null` | The rho value for the option. |
| greeks.theta | `number` \| `null` | The theta value for the option. |
| greeks.vega | `number` \| `null` | The vega value for the option. |
| estimatedDeliveryPrice | `number` \| `null` | Estimated delivery price for the market. |
| bidIv | `number` \| `null` | Implied volatility for best bid. |
| askIv | `number` \| `null` | Implied volatility for best ask. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/options', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:options:tickers:snapshots', {'instrument': 'ETH-30SEP22-9000-P', 'exchange': 'deribit'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Trades
### Request
```
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": [
"market:options:trades",
{
"instrument": "BTC-16JUN23-26000-P",
"exchange": "deribit"
}
]
}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------- |
| instrument | `string` | The asset instrument. |
| exchange | `string` | The exchange for which to retrieve asset instruments. |
### Response
```json theme={null}
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "c148c36c-ba18-4364-abd6-528b61b4e068",
"result": {
"instrument": "ETH-29MAR24-3650-C",
"exchange": "deribit",
"exchangeTimestamp": 1711571475505,
"exchangeTimestampNanoseconds": 0,
"isBuySide": true,
"price": 0.005,
"size": 1,
"tradeId": "ETH-201932780",
"tradeSequence": "1535",
"tickDirection": 1,
"markPrice": 0.00497,
"iv": 71.45,
"indexPrice": 3503.08
}
}
}
```
| Field | Type | Description |
| :--------------------------- | :------------------ | :-------------------------------------------------- |
| exchange | `string` | The exchange. |
| instrument | `string` | |
| exchangeTimestamp | `number` | Timestamp that the exchange returned. |
| exchangeTimestampNanoseconds | `number` | Nanoseconds part of `exchangeTimestamp`. |
| isBuySide | `boolean` \| `null` | `true` if the trade is a buy, `false` otherwise. |
| quoteSize | `number` \| `null` | |
| price | `number` \| `null` | The price at which the instrument was traded. |
| size | `number` \| `null` | The total amount of the instrument that was traded. |
| tradeId | `string` \| `null` | The exchange provided id of the trade. |
| tradeSequence | `number` | |
| tickDirection | `number` | |
| markPrice | `number` | |
| iv | `number` | The implied volatility of the instrument. |
| indexPrice | `number` | The price of the underlying asset. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/options', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:options:trades', {'instrument': 'BTC-16JUN23-26000-P', 'exchange': 'deribit'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
# Spot
Source: https://docs.amberdata.io/real-time/market/websocket-market-spot
Real-time market data for spot trading.
## OHLCV
### Request
```
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:spot:ohlcv", { "pair": "btc_usd", "exchange": "gdax" } ]
}
```
| Param | Type | Description |
| :------- | :------- | :---------------------------------------------- |
| pair | `string` | The asset pair. |
| exchange | `string` | The exchange for which to retrieve asset pairs. |
### Response
```
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "bff1a804-1cd6-48c7-ac7f-9e7242a3cdf3",
"result": {
"exchange": "gdax",
"pair": "btc_usd",
"timestamp": 1711570440000,
"open": 68892.28,
"high": 68925.5,
"low": 68878.72,
"close": 68904.59,
"volume": 6.97651585
}
}
}
```
| Field | Type | Description |
| :-------- | :------- | :----------------------------------------------------------------------- |
| exchange | `string` | The exchange name. |
| pair | `string` | The instrument name. |
| timestamp | `number` | The timestamp associated with this record in UTC. |
| open | `number` | The price at which the first trade occurred during the specified period. |
| high | `number` | The highest price at which a trade took place during the period. |
| low | `number` | The lowest price at which a trade occurred during the period. |
| close | `number` | The price at which the last trade occurred during the specified period. |
| volume | `number` | The total quantity traded during the period. |
#### Example
```
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/spot', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:spot:ohlcv', {'pair': 'btc_usd', 'exchange': 'gdax'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Order Book Events
### Request
All exchanges:
```json theme={null}
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["market:spot:order:events",{"pair":"btc_usd"}]}
```
Specific exchange:
```json theme={null}
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["market:spot:order:events",{"pair":"btc_usd","exchange":"gdax"}]}
```
| Param | Type | Description |
| :------- | :------- | :---------------------------------------------- |
| pair\* | `string` | The asset pair. |
| exchange | `string` | The exchange for which to retrieve asset pairs. |
\**required*
*Note*: Subscription response will include a field `metadata` which includes the names of the columns in the order in which they appeared in the event notification response.
### Response
```json theme={null}
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "0f46d7af-3c49-4f2d-8e20-711efb9dc49a",
"result": [
[
"gdax",
"btc_usd",
1711570660806,
782000,
68894.26,
0.01136045,
false,
480582155806700
]
]
}
}
```
| Field | Type | Description |
| :------------------- | :------- | :---------------------------------------------------------------------------------- |
| exchange | `string` | The exchange name. |
| pair | `string` | The pair name. |
| timestamp | `number` | The time at which the order book event took place. |
| timestampNanoseconds | `number` | The nano second part of the `timestampMilliseconds`, where applicable. |
| price | `number` | The quote price of the asset pair. |
| volume | `number` | The number of assets traded in a specific asset pair within a given period of time. |
| isBid | `bool` | Indicates if it is a bid or ask order: `true` for a bid and `false` for an ask. |
| sequence | `number` | A unique identifier for the order book event. |
#### Example
```javascript theme={null}
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/spot', {headers: {'x-api-key':''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ["market:spot:order:events", {"pair": "btc_usd", "exchange": "gdax"}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Order Book Snapshots
### Request
All exchanges:
```json theme={null}
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["market:spot:order:snapshots",{"pair":"btc_usd"}]}
```
Specific exchange:
```json theme={null}
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["market:spot:order:snapshots",{"pair":"btc_usd","exchange":"gdax"}]}
```
| Param | Type | Description |
| :------- | :------- | :---------------------------------------------- |
| pair\* | `string` | The asset pair. |
| exchange | `string` | The exchange for which to retrieve asset pairs. |
\**required*
*Note*: Subscription response will include a field `metadata` which includes the names of the columns in the order in which they appeared in the event notification response.
### Response
```json theme={null}
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "b6491c56-3660-47f3-896c-0890a551d42c",
"result": [
{
"exchange": "gdax",
"instrument": "btc_usd",
"timestamp": 1711570680000,
"exchangeTimestamp": 1711570680436,
"isBid": false,
"data": [
[
68886.37,
0.02257637,
1
],
[
68886.85,
0.01000001,
1
],
[
68887.58,
0.04482475,
1
]
],
"sequence": 76615491457
}
]
}
}
```
| Field | Type | Description |
| :---------------- | :------- | :---------------------------------------------------------------------------------- |
| exchange | `string` | The exchange name. |
| instrument | `string` | The pair name. |
| timestamp | `number` | The time at which the order book snapshot took place. |
| exchangeTimestamp | `number` | The timestamp from the exchange. |
| isBid | `bool` | Indicates if it is a bid or ask order: `true` for a bid and `false` for an ask. |
| data.price | `number` | The quote price of the asset pair. |
| data.volume | `number` | The number of assets traded in a specific asset pair within a given period of time. |
| data.numOrders | `number` | The number of orders aggregated at this price level. |
| sequence | `string` | A unique identifier associated with this snapshot. |
#### Example
```javascript theme={null}
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/spot', {headers: {'x-api-key':''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ["market:spot:order:snapshots", {"pair": "btc_usd", "exchange": "gdax"}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Tickers Snapshots
This subscription delivers 1-second snapshots. For each instrument/pair and exchange, we emit at most one update per second, using the first ticker event observed in that UTC-second. If your workflow requires event-level (tick-by-tick) tickers, they are available on our Enterprise plan. Please contact your Amberdata sales representative for details.
### Request
```json theme={null}
{
"jsonrpc" : "2.0",
"id" : 1,
"method" : "subscribe",
"params" : [ "market:spot:tickers:snapshots", { "pair": "btc_usdt", "exchange": "binance" } ]
}
```
| Param | Type | Description |
| :------- | :------- | :---------------------------------------------- |
| pair | `string` | The asset pair. |
| exchange | `string` | The exchange for which to retrieve asset pairs. |
### Response
```json JSON theme={null}
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "ac936208-0c53-4c0a-9bc4-63188a61eb7e",
"result": {
"exchange": "binance",
"pair": "btc_usdt",
"exchangeTimestamp": 1712238263524,
"exchangeTimestampNanoseconds": 780195,
"timestamp": 1712238263524,
"bid": 67427.98,
"ask": 67427.99,
"mid": 67427.985,
"last": null,
"sequence": 45375530797,
"lastVolume": null,
"bidVolume": 3.25905,
"askVolume": 2.17779,
"open24H": null,
"low24H": null,
"high24H": null
}
}
}
```
| Field | Type | Description |
| :--------------------------- | :------- | :-------------------------------------------------------------------------------------------------- |
| exchange | `string` | The exchange. |
| pair | `string` | The asset pair. |
| exchangeTimestamp | `number` | The exchange provided timestamp at which the trade took place. |
| exchangeTimestampNanoseconds | `number` | The exchange provided nano second part of the `exchangeTimestamp` (if available from the exchange). |
| timestamp | `number` | The timestamp. |
| bid | `number` | The bid of the pair. |
| ask | `number` | The ask of the pair. |
| mid | `number` | The mid of the pair. |
| last | `number` | The last of the pair. |
| sequence | `number` | The sequence number (equal to `null` if it is not provided by the exchange). |
| lastVolume | `number` | The last volume. |
| bidVolume | `number` | Best bid volume. |
| askVolume | `number` | Best ask volume. |
| open24H | `number` | The 24 hour open. |
| low24H | `number` | The 24 hour low. |
| high24H | `number` | The 24 hour high. |
#### Example
```javascript theme={null}
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/spot', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['market:spot:tickers:snapshots', {'pair': 'btc_usdt', 'exchange': 'binance'}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Trades
### Request
```json theme={null}
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["market:spot:trades",{"pair":"btc_usd","exchange":"gdax"}]}
```
| Param | Type | Description |
| :------- | :------- | :---------------------------------------------- |
| pair | `string` | The asset pair. |
| exchange | `string` | The exchange for which to retrieve asset pairs. |
*Note*: Subscription response will include a field `metadata` which includes the names of the columns in the order in which they appeared in the event notification response.
### Response
```json theme={null}
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "6ad60ce3-0738-452e-a6e9-6ce73b61e90d",
"result": [
[
"gdax",
"btc_usd",
1712238290888,
589000,
"626365469",
67431.41,
0.10287182,
false
]
]
}
}
```
| Field | Type | Description |
| :------------------- | :------- | :------------------------------------------------------------------------------------- |
| exchange | `string` | The exchange. |
| pair | `string` | The normalized pair name. |
| timestamp | `number` | The time at which the trade took place. |
| timestampNanoseconds | `number` | The nano second part of the `timestampMilliseconds`, where applicable. |
| tradeId | `string` | The unique id given by an exchange. |
| price | `number` | The quote price of the asset pair. |
| volume | `number` | The number of assets traded in a specific asset pair within a given period of time. |
| isBuy | `bool` | Indicates if it is a buy or sell trade: `true` for a buy trade and `false` for a sell. |
#### Example
```javascript theme={null}
const WebSocket = require('ws');
const ws = new WebSocket('wss://ws.amberdata.com/spot', {headers: {x-api-key:''}});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ["market:spot:trades", {"pair": "btc_usd", "exchange": "gdax"}],
id: 1,
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
# Prices
Source: https://docs.amberdata.io/real-time/price/websocket-price-spot
Minutely spot asset and instrument price data.
## WebSocket URL Notice
This endpoint currently uses the following WebSocket URL:
```text theme={null}
wss://analytics-ws.amberdata.com/prices
```
This temporary URL applies only to the Prices WebSocket endpoint while we complete internal infrastructure updates for the new Prices WebSocket service. All other WebSocket endpoints will continue to use the existing standard WebSocket URL.
Once this work is complete, the Prices WebSocket endpoint will be migrated to align with our standard WebSocket URL structure. We will provide notice before making any changes that require client-side updates.
## Asset Prices
### Request
All assets:
```json theme={null}
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["prices:spot:asset",{"asset":"all"}]}
```
Specific asset:
```json theme={null}
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["prices:spot:asset",{"asset":"btc"}]}
```
| Param | Type | Description |
| :---- | :------- | :------------------------------------------------------ |
| asset | `string` | The asset by which to filter. Use `all` for all assets. |
### Response
```json theme={null}
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "a3fd4e8d-b344-480f-b1c4-2726c014ae85",
"result": {
"asset": "btc",
"assetArcId": "AMB:BTC000000000",
"priceUSD": 81650.48236869258,
"timestamp": 1777995360000,
"type": "asset",
"volumeAsset": 74.17509235915826
}
}
}
```
| Field | Type | Description |
| :---------- | :------- | :------------------------------------------- |
| asset | `string` | The asset symbol. |
| assetArcId | `string` | The Amberdata ARC ID for the asset. |
| priceUSD | `number` | The USD price of the asset. |
| timestamp | `number` | The time at which the price update occurred. |
| type | `string` | The price update type. |
| volumeAsset | `number` | The asset volume. |
#### Example
```js theme={null}
const WebSocket = require('ws');
const ws = new WebSocket('wss://analytics-ws.amberdata.com/prices', {
headers: { 'x-api-key': '' }
});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['prices:spot:asset', { asset: 'all' }],
id: 1
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
## Instrument Prices
### Request
All instruments:
```json theme={null}
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["prices:spot:instrument",{"instrument":"all"}]}
```
Specific instrument:
```json theme={null}
{"jsonrpc":"2.0","id":1,"method":"subscribe","params":["prices:spot:instrument",{"instrument":"btc_usdt"}]}
```
| Param | Type | Description |
| :--------- | :------- | :---------------------------------------------------------------- |
| instrument | `string` | The instrument by which to filter. Use `all` for all instruments. |
### Response
```json theme={null}
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "3276cfc7-0d2d-43bb-8b5a-0ff4f94af296",
"result": {
"arcInstrumentId": "AMB:BTC000000000_AMB:USD000000335",
"instrument": "btc_usdt",
"priceUSD": 81640.61888782766,
"timestamp": 1777995360000,
"type": "instrument",
"volumeAsset": 28.394765248158286
}
}
}
```
| Field | Type | Description |
| :-------------- | :------- | :------------------------------------------- |
| arcInstrumentId | `string` | The Amberdata ARC ID for the instrument. |
| instrument | `string` | The instrument symbol. |
| priceUSD | `number` | The USD price of the instrument. |
| timestamp | `number` | The time at which the price update occurred. |
| type | `string` | The price update type. |
| volumeAsset | `number` | The asset volume. |
#### Example
```js theme={null}
const WebSocket = require('ws');
const ws = new WebSocket('wss://analytics-ws.amberdata.com/prices', {
headers: { 'x-api-key': '' }
});
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'subscribe',
params: ['prices:spot:instrument', { instrument: 'all' }],
id: 1
}));
});
ws.on('message', data => {
console.log(JSON.stringify(JSON.parse(data), null, 2));
});
```
# Advanced Configuration & Error Handling
Source: https://docs.amberdata.io/real-time/websocket-advanced
Master error handling, troubleshooting, and advanced configuration options for production WebSocket implementations.
This guide covers advanced error handling, troubleshooting scenarios, and production-ready configuration for Amberdata's WebSocket services.
## Error Handling & Response Codes
This section describes common WebSocket subscription errors and how to resolve them.
### Common Error Scenarios
#### 1. Wildcards Not Supported for This Feature
Wildcard subscriptions are **not supported** for **Tickers** or **Order Book Event** streams.
**Error Response:**
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"description": "not authorized to access this resource",
"code": 403
}
}
```
**Cause**: Attempting to subscribe to Tickers or Order Book Events without explicitly specifying both:
* exchange
* pair/instrument
**Solution**:
```javascript theme={null}
// β This will fail
{
"params": ["market:spot:tickers", {"exchange": "binance"}]
}
// β Use explicit instrument subscriptions
{
"params": ["market:spot:tickers", {"exchange": "binance", "pair": "btc_usdt"}]
}
```
#### 2. Invalid Subscription Error
**Error Response:**
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"description": "subscription 'market:spot:tickers:snapsh000ts' is not supported",
"code": 400
}
}
```
**Cause**: Attempting to subscribe with non-existent or misspelled subscription name.
**Solution**:
```javascript theme={null}
// β This will fail
{
"params": ["market:spot:tickers:snapsh000ts", {"exchange": "bitget", "pair": "btc_usdt"}]
}
// β Use a valid subscription name
{
"params": ["market:spot:tickers:snapshots", {"exchange": "bitget", "pair": "btc_usdt"}]
}
```
#### 3. Invalid API Key
**Error**: Connection closes with message `invalid api key ''`
**Solution**: Verify API key and permissions:
```javascript theme={null}
const connectWithRetry = (apiKey, maxRetries = 3) => {
let retries = 0;
const connect = () => {
const ws = new WebSocket('wss://ws.amberdata.com', {
headers: {
'x-api-key': apiKey,
'x-amberdata-blockchain-id': 'ethereum-mainnet'
}
});
ws.on('error', (error) => {
if (error.message.includes('invalid api key') && retries < maxRetries) {
retries++;
console.log(`Retrying connection (${retries}/${maxRetries})...`);
setTimeout(connect, 1000 * retries); // Exponential backoff
} else {
console.error('Connection failed:', error);
}
});
return ws;
};
return connect();
};
```
#### 4. Missing API Key
**Error Response:**
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"description": "missing api key",
"code": 401
}
}
```
**Cause**: Attempting to connect/subscribe with a missing API key.
**Solution**:
```javascript theme={null}
// β This will fail
const ws = new WebSocket('wss://ws.amberdata.com/spot');
// β Must provide API key
const ws = new WebSocket('wss://ws.amberdata.com/spot', {
headers: { 'x-api-key': 'VALID_API_KEY_HERE' }
});
```
#### 5. Missing Parameter(s)
**Error Response:**
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"error": {
"description": "params must contain either 1 or 2 elements",
"code": 400
}
}
```
**Cause**: Attempting to subscribe with no parameters.
**Solution**:
```javascript theme={null}
// β This will fail
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe"
}
// β Must provide params
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": [
"market:spot:trades",
{
"pair": "btc_usd",
"exchange": "gdax"
}
]
}
```
## Production Error Handling Patterns
### Robust Reconnection Logic
```javascript theme={null}
class RobustWebSocket {
constructor(url, options = {}) {
this.url = url;
this.options = options;
this.reconnectAttempts = 0;
this.maxReconnectAttempts = options.maxReconnectAttempts || 10;
this.reconnectDelay = options.reconnectDelay || 1000;
this.subscriptions = new Map();
this.connect();
}
connect() {
try {
this.ws = new WebSocket(this.url, {
headers: this.options.headers
});
this.ws.on('open', () => {
console.log('WebSocket connected');
this.reconnectAttempts = 0;
this.resubscribeAll();
});
this.ws.on('message', (data) => {
this.handleMessage(JSON.parse(data));
});
this.ws.on('close', () => {
console.log('WebSocket disconnected');
this.handleReconnect();
});
this.ws.on('error', (error) => {
console.error('WebSocket error:', error);
this.handleReconnect();
});
} catch (error) {
console.error('Connection failed:', error);
this.handleReconnect();
}
}
handleReconnect() {
if (this.reconnectAttempts < this.maxReconnectAttempts) {
this.reconnectAttempts++;
const delay = this.reconnectDelay * Math.pow(2, this.reconnectAttempts - 1);
console.log(`Reconnecting in ${delay}ms (attempt ${this.reconnectAttempts})`);
setTimeout(() => this.connect(), delay);
} else {
console.error('Max reconnection attempts reached');
}
}
subscribe(params) {
const id = Date.now();
const request = {
jsonrpc: "2.0",
id: id,
method: "subscribe",
params: params
};
// Store subscription for reconnection
this.subscriptions.set(id, params);
if (this.ws && this.ws.readyState === WebSocket.OPEN) {
this.ws.send(JSON.stringify(request));
}
}
resubscribeAll() {
for (const [id, params] of this.subscriptions) {
this.subscribe(params);
}
}
handleMessage(message) {
if (message.error) {
console.error('Subscription error:', message.error);
this.handleSubscriptionError(message);
} else if (message.method === 'subscription') {
this.handleSubscriptionData(message.params);
}
}
handleSubscriptionError(message) {
const { error, id } = message;
switch (error.code) {
case 400:
if (error.description.includes('Wildcard subscription')) {
console.error('Wildcard subscription not allowed for:', id);
// Remove invalid subscription
this.subscriptions.delete(id);
} else if (error.description.includes('Max subscription limit')) {
console.error('Subscription limit reached');
// Implement connection pooling logic
this.handleSubscriptionLimit();
}
break;
default:
console.error('Unknown subscription error:', error);
}
}
}
```
### Message Processing & Buffering
```javascript theme={null}
class MessageProcessor {
constructor(batchSize = 100, flushInterval = 1000) {
this.buffer = [];
this.batchSize = batchSize;
this.flushInterval = flushInterval;
this.processing = false;
// Flush buffer periodically
setInterval(() => this.flush(), flushInterval);
}
addMessage(message) {
this.buffer.push({
...message,
timestamp: Date.now()
});
if (this.buffer.length >= this.batchSize) {
this.flush();
}
}
async flush() {
if (this.processing || this.buffer.length === 0) return;
this.processing = true;
const batch = this.buffer.splice(0, this.batchSize);
try {
await this.processBatch(batch);
} catch (error) {
console.error('Batch processing failed:', error);
// Re-queue failed messages
this.buffer.unshift(...batch);
} finally {
this.processing = false;
}
}
async processBatch(messages) {
// Process messages in batch
const grouped = this.groupMessagesByType(messages);
for (const [type, msgs] of Object.entries(grouped)) {
await this.processMessageType(type, msgs);
}
}
groupMessagesByType(messages) {
return messages.reduce((groups, msg) => {
const type = this.getMessageType(msg);
if (!groups[type]) groups[type] = [];
groups[type].push(msg);
return groups;
}, {});
}
}
```
## Advanced Configuration
### Connection Optimization
**Multiple Endpoint Strategy:**
```javascript theme={null}
class MultiEndpointManager {
constructor() {
this.connections = {
spot: new RobustWebSocket('wss://ws.amberdata.com/spot', {
headers: { 'x-api-key': process.env.API_KEY }
}),
futures: new RobustWebSocket('wss://ws.amberdata.com/futures', {
headers: { 'x-api-key': process.env.API_KEY }
}),
options: new RobustWebSocket('wss://ws.amberdata.com/options', {
headers: { 'x-api-key': process.env.API_KEY }
}),
blockchain: new RobustWebSocket('wss://ws.amberdata.com', {
headers: {
'x-api-key': process.env.API_KEY,
'x-amberdata-blockchain-id': 'ethereum-mainnet'
}
})
};
}
subscribe(dataType, params) {
const endpoint = this.getEndpointForDataType(dataType);
if (endpoint) {
this.connections[endpoint].subscribe([dataType, params]);
} else {
throw new Error(`No endpoint configured for data type: ${dataType}`);
}
}
getEndpointForDataType(dataType) {
if (dataType.startsWith('market:spot:')) return 'spot';
if (dataType.startsWith('market:futures:')) return 'futures';
if (dataType.startsWith('market:options:')) return 'options';
if (dataType.includes('block') || dataType.includes('transaction')) return 'blockchain';
return null;
}
}
```
### Health Monitoring
```javascript theme={null}
class ConnectionHealthMonitor {
constructor(connections) {
this.connections = connections;
this.metrics = {
messageCount: 0,
errorCount: 0,
lastMessageTime: Date.now(),
connectionStatus: {}
};
this.startHealthChecks();
}
startHealthChecks() {
// Check connection health every 30 seconds
setInterval(() => this.performHealthCheck(), 30000);
// Send ping every 10 seconds
setInterval(() => this.sendPings(), 10000);
}
performHealthCheck() {
const now = Date.now();
const timeSinceLastMessage = now - this.metrics.lastMessageTime;
// Alert if no messages in 60 seconds
if (timeSinceLastMessage > 60000) {
console.warn('No messages received in 60 seconds');
this.triggerReconnection();
}
// Log health metrics
console.log('Health Status:', {
messageCount: this.metrics.messageCount,
errorCount: this.metrics.errorCount,
timeSinceLastMessage: timeSinceLastMessage,
activeConnections: Object.keys(this.connections).length
});
}
sendPings() {
for (const [name, connection] of Object.entries(this.connections)) {
if (connection.ws && connection.ws.readyState === WebSocket.OPEN) {
connection.ws.ping();
}
}
}
recordMessage() {
this.metrics.messageCount++;
this.metrics.lastMessageTime = Date.now();
}
recordError() {
this.metrics.errorCount++;
}
}
```
## Enterprise Features & Customization
### Custom Rate Limits
Enterprise customers can request custom configurations:
```javascript theme={null}
// Example enterprise configuration request
const enterpriseConfig = {
maxConnections: 100,
maxSubscriptionsPerConnection: 500,
wildcardSupport: true,
customEndpoints: true,
prioritySupport: true,
dedicatedInfrastructure: true
};
// Contact sales team with requirements
```
### Advanced Subscription Patterns
**Conditional Subscriptions:**
```javascript theme={null}
class ConditionalSubscriber {
constructor(websocket) {
this.ws = websocket;
this.conditions = new Map();
}
subscribeWithCondition(params, condition) {
const subscriptionId = this.ws.subscribe(params);
this.conditions.set(subscriptionId, condition);
}
handleMessage(message) {
const { subscription, result } = message.params;
const condition = this.conditions.get(subscription);
if (condition && condition(result)) {
this.processMessage(result);
}
}
}
```
## Troubleshooting Checklist
### Connection Issues
* [ ] Verify API key is valid and active
* [ ] Check network connectivity and firewall settings
* [ ] Ensure proper WebSocket library configuration
* [ ] Verify endpoint URL is correct for data type
### Subscription Issues
* [ ] Confirm subscription parameters are valid
* [ ] Check subscription limits haven't been exceeded
* [ ] Verify exchange and pair names are correct
* [ ] Ensure proper JSON-RPC 2.0 format
### Performance Issues
* [ ] Monitor message processing latency
* [ ] Check for memory leaks in message handling
* [ ] Verify connection distribution across endpoints
* [ ] Review subscription patterns for efficiency
### Data Quality Issues
* [ ] Implement message deduplication
* [ ] Add timestamp validation
* [ ] Monitor for missing sequence numbers
* [ ] Verify data format expectations
## Getting Support
For enterprise-level support and custom configurations:
* **Technical Issues**: Contact support with connection logs and error messages
* **Custom Rate Limits**: Reach out to sales team with requirements
* **Performance Optimization**: Schedule consultation for high-volume use cases
* **Integration Support**: Request dedicated technical account management
Enterprise customers receive priority support with guaranteed response times and dedicated infrastructure options.
# Getting Started
Source: https://docs.amberdata.io/real-time/websocket-getting-started
Learn how to connect to Amberdata's WebSocket services and make your first subscription for real-time, low-latency data streaming.
Amberdata's WebSocket services provide real-time, low-latency data streaming across multiple blockchain and market data feeds. This guide will get you connected and subscribed quickly.
## Quick Start
### Prerequisites
* Valid Amberdata API key
* WebSocket client (we'll use `wscat` for examples)
### Installation
```bash theme={null}
npm install -g wscat
```
### Your First Connection
Connect to Amberdata's WebSocket endpoint with your API key:
```bash theme={null}
wscat -c "wss://ws.amberdata.com/spot" -H "x-api-key: "
```
### Your First Subscription
Once connected, subscribe to block events:
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": ["market:spot:trades", {"exchange": "binance", "pair": "btc_usdt"}]
}
```
**Response:**
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"result": "a04c6fe3-f85a-402c-8f29-d17627b48576",
"metadata": [
"exchange",
"pair",
"timestamp",
"timestampNanoseconds",
"tradeId",
"price",
"volume",
"isBuy"
]
}
```
You'll now receive real-time trade events like this:
```json theme={null}
{
"jsonrpc": "2.0",
"method": "subscription",
"params": {
"subscription": "a04c6fe3-f85a-402c-8f29-d17627b48576",
"result": [
[
"binance",
"btc_usdt",
1755108576827,
747408,
"5154882831",
121651.18,
0.00041,
true
]
]
}
}
```
## Connection Endpoints
Use the appropriate endpoint for optimal performance based on your data type:
| Data Type | Connection URL | Best For |
| ---------------- | --------------------------------- | ---------------------------------------------- |
| **General** | `wss://ws.amberdata.com` | Blockchain data, general subscriptions |
| **Spot Markets** | `wss://ws.amberdata.com/spot` | Spot trading data (OHLCV, tickers, trades) |
| **Futures** | `wss://ws.amberdata.com/futures` | Futures data (funding rates, liquidations, OI) |
| **Options** | `wss://ws.amberdata.com/options` | Options data (liquidations, OI, trades) |
| **DEX** | `wss://ws.amberdata.com/defi/dex` | Decentralized exchange trades |
## Subscription Format
All subscription requests follow JSON-RPC 2.0 format:
### Request Structure
| Field | Type | Required | Description |
| --------- | ------ | -------- | -------------------------------------- |
| `jsonrpc` | string | Yes | Must be "2.0" |
| `method` | string | Yes | "subscribe" or "unsubscribe" |
| `params` | array | Yes | \[subscription\_type, options\_object] |
| `id` | number | Yes | Client-generated identifier |
### Market Data Subscription Examples
**Spot Market Data:**
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": ["market:spot:trades", {"exchange": "coinbase", "pair": "btc_usd"}]
}
```
**Multiple Instruments (make separate requests):**
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": ["market:spot:trades", {"exchange": "binance", "pair": "btc_usdt"}]
}
```
```json theme={null}
{
"jsonrpc": "2.0",
"id": 2,
"method": "subscribe",
"params": ["market:spot:trades", {"exchange": "binance", "pair": "eth_usdt"}]
}
```
**Exchange-wide Subscription (Spot only):**
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": ["market:spot:trades", {"pair": "btc_usdt"}]
}
```
## Supported Blockchains
For specifc blockchains, specify as a header in the initial HTTP upgrade request.
```bash theme={null}
wscat -c "wss://ws.amberdata.com" -H "x-api-key: " -H "x-amberdata-blockchain-id: ethereum-mainnet"
```
| Blockchain | Network | Blockchain ID |
| ------------ | ------- | --------------------- |
| Bitcoin | Mainnet | `bitcoin-mainnet` |
| Bitcoin Cash | Mainnet | `bitcoin-abc-mainnet` |
| Ethereum | Mainnet | `ethereum-mainnet` |
| Litecoin | Mainnet | `litecoin-mainnet` |
## Unsubscribing
Stop receiving notifications by sending an unsubscribe request:
```json theme={null}
{
"jsonrpc": "2.0",
"method": "unsubscribe",
"params": ["242d29d5c0ec9268f51a39aba4ed6a36c757c03c183633568edb0531658a9799"],
"id": 1
}
```
**Response:**
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"result": true
}
```
## Authentication Errors
If your API key is invalid, you'll receive this error and the connection will close:
```json theme={null}
{
"jsonrpc": "2.0",
"id": 0,
"error": {
"description": "invalid api key 'UAKHelloCryptoHiAmberdata'",
"code": 401
}
}
```
## Next Steps
* Learn about [subscription guidelines and best practices β](/real-time/websocket-guidelines)
* Explore [advanced configuration and error handling β](/real-time/websocket-advanced)
# WebSocket Guidelines & Best Practices
Source: https://docs.amberdata.io/real-time/websocket-usage-guidelines
This page outlines recommended usage patterns and operational guidelines for Amberdataβs real-time WebSocket APIs to help ensure stable, scalable, and efficient integrations.
## Wildcard Subscription Support
### General rule:
* β **All WebSocket features support wildcard subscriptions**
* β **Except for Tickers and Order Book Events**
Wildcard subscriptions allow you to subscribe broadly (for example, all instruments on an exchange) without specifying every instrument individually.
***
### Example β wildcard subscription (supported features)
Subscribe to **all spot OHLCV data on Binance**:
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": [
"market:spot:ohlcv",
{ "exchange": "binance" }
]
}
```
This will stream OHLCV updates for **all spot instruments** available on Binance.
***
### β Tickers & Order Book Events (No wildcards)
For Tickers and Order Book Event streams:
* Wildcard subscriptions are **not supported**
* You **must explicitly specify both**:
* exchange
* pair/instrument
Subscriptions that omit either field will be rejected.
### Example β valid subscription
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": [
"market:spot:tickers",
{ "exchange": "binance", "instrument": "btc_usdt" }
]
}
```
### Example β invalid subscription
```json theme={null}
// β instrument missing
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": [
"market:spot:tickers",
{ "exchange": "binance" }
]
}
```
***
## Instrument Wildcards on Futures & Options
While wildcard subscriptions are supported across all features (except Tickers and Order Book Events), **instrument-level wildcards on Futures and Options should be used with caution.**
### Why this matters
Unlike Spot markets, **Futures and Options instrument names are not normalized across exchanges.**
The same underlying asset may have different instrument identifiers depending on the venue.
For example:
* BTCUSDT
* BTC-USD-PERP
* XBTUSD
* BTC\_USDT\_240329
Because of this:
* Subscribing with an instrument wildcard such as:
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": ["market:futures:trades", { "instrument": "BTCUSDT" }]
}
```
may return **incomplete or unexpected coverage** across exchanges.
### Recommended approach for Futures & Options
Best practices
* Prefer exchange-scoped wildcard subscriptions, for example:
```json theme={null}
{
"jsonrpc": "2.0",
"id": 1,
"method": "subscribe",
"params": ["market:futures:trades", { "exchange": "binance" }]
}
```
* Or explicitly subscribe to specific instruments per exchange using known instrument identifiers.
* Avoid assuming a single instrument name maps consistently across venues.
### When instrument wildcards make sense
* Spot markets, where instrument naming is normalized
* Use cases where you intentionally want only instruments that match a specific naming convention on a single exchange
***
## Throughput & Connection Strategy
### High-throughput instruments
Some instruments β particularly major pairs on top exchanges β produce very high message volumes.
**Best practices**
* Use dedicated WebSocket connections for high-throughput instruments
* Avoid mixing high-volume and low-volume subscriptions on the same connection
* This improves reliability and simplifies monitoring and troubleshooting
***
### Scaling subscriptions
As subscription counts grow:
* Distribute subscriptions across multiple connections
* Group subscriptions logically, for example:
* Connection A: A **single high-throughput instrument** (e.g., BTC/USDT trades on a major exchange)
* Connection B: Long-tail instruments
* Connection C: Aggregated wildcard feeds
This helps avoid connection-level bottlenecks and keeps message handling predictable.
***
## Performance Best Practices
### Connection Stability
**Implement Proper Error Handling:**
* Monitor connection health continuously
* Implement automatic reconnection with exponential backoff
* Handle subscription errors gracefully
**Resource Management:**
* Monitor subscription count per connection
* Distribute load evenly across connections
* Close unused subscriptions promptly
### Data Processing Efficiency
**Handle High-Frequency Data:**
* Buffer incoming messages for batch processing
* Implement proper message queuing
* Use connection-specific threading if needed
**Memory Management:**
* Process messages promptly to avoid buildup
* Implement proper cleanup for closed subscriptions
* Monitor memory usage in high-volume scenarios
***
## Rate Limits by Access Tier
| Access Level | API Key Type | Concurrent Connections | Subscriptions/Connection |
| -------------- | ------------ | ---------------------- | ------------------------ |
| **Trial** | UAT | 5 | 100 |
| **On-Demand** | UAO | 20 | 100 |
| **Enterprise** | UAK | Custom | Custom |