Skip to main content

Overview

Get trading volume data for a token across different exchanges. Three functions are available: aggregated volume by exchange, historical volume feed per exchange, and transfer volume.

SDK Methods

getVolumeByExchange

Get aggregated volume distribution across exchanges for a date range.
getVolumeByExchange(
  tokenAddress: string,
  simpleProps: SimpleFeedProps,
  options?: AvnuOptions
): Promise<ExchangeRangeDataPoint[]>

getExchangeVolumeFeed

Get historical volume data over time with configurable resolution, broken down by exchange.
getExchangeVolumeFeed(
  tokenAddress: string,
  feedProps: FeedProps,
  options?: AvnuOptions
): Promise<ExchangeDataPoint[]>

getTransferVolumeFeed

Get historical transfer volume (all on-chain transfers, not just DEX trades).
getTransferVolumeFeed(
  tokenAddress: string,
  feedProps: FeedProps,
  options?: AvnuOptions
): Promise<DataPointWithUsd[]>

Parameters

tokenAddress
string
required
Token contract address
simpleProps
SimpleFeedProps
required
Date range configuration
feedProps
FeedProps
required
Feed configuration with resolution

Returns

// getVolumeByExchange response
interface ExchangeRangeDataPoint {
  value: number;
  valueUsd: number;
  exchange: string;
  startDate: string;
  endDate: string;
}

// getExchangeVolumeFeed response
interface ExchangeDataPoint {
  date: string;
  value: number;
  valueUsd: number;
  exchange: string;
}

// getTransferVolumeFeed response
interface DataPointWithUsd {
  date: string;
  value: number;
  valueUsd: number;
}

Examples

import { getVolumeByExchange, FeedDateRange } from '@avnu/avnu-sdk';

const ETH = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7';

const volumeData = await getVolumeByExchange(
  ETH,
  { dateRange: FeedDateRange.ONE_WEEK }
);

// Each entry represents an exchange's volume for the period
volumeData.forEach(item => {
  console.log(`${item.exchange}: $${item.valueUsd.toLocaleString()}`);
  console.log(`  Period: ${item.startDate} to ${item.endDate}`);
});

// Calculate total volume
const totalVolume = volumeData.reduce((sum, item) => sum + item.valueUsd, 0);
console.log(`Total Volume: $${totalVolume.toLocaleString()}`);