> ## Documentation Index
> Fetch the complete documentation index at: https://docs.avnu.fi/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Transfer Volume

> Retrieve historical transfer volume data over time

## Overview

Returns historical transfer volume data for a token over time. This includes all on-chain transfers, not just DEX trading activity.

## Path Parameters

<ParamField path="tokenAddress" type="string" required>
  Token contract address (hex format)
</ParamField>

## Query Parameters

<ParamField query="startDate" type="string" required>
  Start date (ISO 8601 format)
</ParamField>

<ParamField query="endDate" type="string" required>
  End date (ISO 8601 format)
</ParamField>

<ParamField query="resolution" type="string" default="1H">
  Data point frequency: `1`, `5`, `15`, `1H`, `4H`, `1D`, `1W`
</ParamField>

## Response

Returns an array of volume data points (`DataPointWithUsd`).

<ResponseField name="date" type="string" required>
  ISO 8601 timestamp
</ResponseField>

<ResponseField name="value" type="number" required>
  Transfer volume in token amount
</ResponseField>

<ResponseField name="valueUsd" type="number" required>
  Transfer volume in USD
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://starknet.impulse.avnu.fi/v3/tokens/0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7/volumes/line?startDate=2024-02-01T00:00:00Z&endDate=2024-02-14T00:00:00Z&resolution=1D"
  ```

  ```typescript TypeScript theme={null}
  const tokenAddress = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7';
  const endDate = new Date();
  const startDate = new Date(endDate.getTime() - 7 * 24 * 60 * 60 * 1000);

  const params = new URLSearchParams({
    startDate: startDate.toISOString(),
    endDate: endDate.toISOString(),
    resolution: '1D'
  });

  const response = await fetch(
    `https://starknet.impulse.avnu.fi/v3/tokens/${tokenAddress}/volumes/line?${params}`
  );

  const volumeData = await response.json();

  // Calculate total and average volume
  const total = volumeData.reduce((sum, d) => sum + d.valueUsd, 0);
  const avg = total / volumeData.length;

  console.log(`Total volume: $${total.toLocaleString()}`);
  console.log(`Average daily volume: $${avg.toLocaleString()}`);
  ```

  ```python Python theme={null}
  import requests
  from datetime import datetime, timedelta

  token_address = '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7'
  end_date = datetime.now()
  start_date = end_date - timedelta(days=7)

  params = {
      'startDate': start_date.isoformat() + 'Z',
      'endDate': end_date.isoformat() + 'Z',
      'resolution': '1D'
  }

  response = requests.get(
      f'https://starknet.impulse.avnu.fi/v3/tokens/{token_address}/volumes/line',
      params=params
  )

  volume_data = response.json()

  total = sum(d['valueUsd'] for d in volume_data)
  avg = total / len(volume_data) if volume_data else 0

  print(f"Total volume: ${total:,.0f}")
  print(f"Average daily volume: ${avg:,.0f}")
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  [
    {
      "date": "2024-02-13T00:00:00Z",
      "value": 6172.456,
      "valueUsd": 15000000
    },
    {
      "date": "2024-02-14T00:00:00Z",
      "value": 7612.789,
      "valueUsd": 18500000
    },
    {
      "date": "2024-02-15T00:00:00Z",
      "value": 5062.123,
      "valueUsd": 12300000
    }
  ]
  ```
</ResponseExample>
