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

# Update Tokens Stream

The Update Tokens stream provides real-time updates on the prices, volumes, market cap and liquidity of <strong>one or many tokens</strong> by tracking the highest-volume pool for each token. This documentation follows our standard streaming API structure. The `token_addresses` input is limited to a <strong>maximum of 5 addresses</strong> per subscription.

<CardGroup cols={2}>
  <Card title="Credit Cost"> 1 per minute </Card>

  <Card title="Supported Chains">
    * `BASE_MAINNET`
    * `BSC_MAINNET`
    * `ETH_MAINNET`
    * `HYPEREVM_MAINNET`
    * `MEGAETH_MAINNET`
    * `MONAD_MAINNET`
    * `POLYGON_MAINNET`
    * `ROBINHOOD_MAINNET`
    * `SOLANA_MAINNET`
  </Card>
</CardGroup>

<Tip>
  Estimate your monthly cost for this API using the [Pricing Calculator](/pricing-calculator?endpoint=%2Fapi-reference%2Fstreaming-api%2Fsubscriptions%2Fupdate-tokens-stream).
</Tip>

## Parameters

<ParamField body="chain_name" type="enum" required>
  Blockchain network to filter events

  Type: [`ChainName`](/api-reference/streaming-api/types/chain-name)
</ParamField>

<ParamField body="token_addresses" type="array<string>" required>
  Array of token addresses on supported DEXes and chains to track
</ParamField>

## Subscription

You can subscribe to the `updateTokens` endpoint to receive real-time swap updates for the highest-volume pool of each token.

```graphql theme={null}
subscription {
  updateTokens(
    chain_name: BASE_MAINNET
    token_addresses: ["0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b"]
  ) {
    trader
    liquidity
    pair_address
    base_token {
      contract_name
      contract_address
      contract_decimals
      contract_ticker_symbol
    }
    last_5m {
      volume {
        previous_value
        pct_change
        current_value
      }
      unique_sellers {
        previous_value
        pct_change
        current_value
      }
      sell_count {
        previous_value
        pct_change
        current_value
      }
      price {
        previous_value
        pct_change
        current_value
      }
      buy_count {
        previous_value
        pct_change
        current_value
      }
      sell_volume {
        previous_value
        pct_change
        current_value
      }
      volume_usd {
        previous_value
        pct_change
        current_value
      }
      buy_volume {
        previous_value
        pct_change
        current_value
      }
      swap_count {
        previous_value
        pct_change
        current_value
      }
      unique_buyers {
        previous_value
        pct_change
        current_value
      }
    }
    last_6hr {
      volume {
        previous_value
        pct_change
        current_value
      }
      unique_sellers {
        previous_value
        pct_change
        current_value
      }
      sell_count {
        previous_value
        pct_change
        current_value
      }
      price {
        previous_value
        pct_change
        current_value
      }
      buy_count {
        previous_value
        pct_change
        current_value
      }
      sell_volume {
        previous_value
        pct_change
        current_value
      }
      volume_usd {
        previous_value
        pct_change
        current_value
      }
      buy_volume {
        previous_value
        pct_change
        current_value
      }
      swap_count {
        previous_value
        pct_change
        current_value
      }
      unique_buyers {
        previous_value
        pct_change
        current_value
      }
    }
    market_cap
    quote_rate
    last_24hr {
      volume {
        previous_value
        pct_change
        current_value
      }
      unique_sellers {
        previous_value
        pct_change
        current_value
      }
      sell_count {
        previous_value
        pct_change
        current_value
      }
      price {
        previous_value
        pct_change
        current_value
      }
      buy_count {
        previous_value
        pct_change
        current_value
      }
      sell_volume {
        previous_value
        pct_change
        current_value
      }
      volume_usd {
        previous_value
        pct_change
        current_value
      }
      buy_volume {
        previous_value
        pct_change
        current_value
      }
      swap_count {
        previous_value
        pct_change
        current_value
      }
      unique_buyers {
        previous_value
        pct_change
        current_value
      }
    }
    last_1hr {
      volume {
        previous_value
        pct_change
        current_value
      }
      unique_sellers {
        previous_value
        pct_change
        current_value
      }
      sell_count {
        previous_value
        pct_change
        current_value
      }
      price {
        previous_value
        pct_change
        current_value
      }
      buy_count {
        previous_value
        pct_change
        current_value
      }
      sell_volume {
        previous_value
        pct_change
        current_value
      }
      volume_usd {
        previous_value
        pct_change
        current_value
      }
      buy_volume {
        previous_value
        pct_change
        current_value
      }
      swap_count {
        previous_value
        pct_change
        current_value
      }
      unique_buyers {
        previous_value
        pct_change
        current_value
      }
    }
    quote_rate_usd
    sender
    quote_token {
      contract_name
      contract_address
      contract_decimals
      contract_ticker_symbol
    }
    id
    chain_name
    direction
    timestamp
  }
}
```

## Response Format

Here's an example of the response data structure:

```json theme={null}
{
  "data": {
    "updateTokens": {
      "chain_name": "BASE_MAINNET",
      "pair_address": "0x9c087Eb773291e50CF6c6a90ef0F4500e349B903",
      "timestamp": "2025-06-28T14:30:00Z",
      "direction": "buy",
      "trader": "0xd2216ed62a5c84f285a051839e808902fe8fc90b",
      "sender": "0x198ef79f1f515f02dfe9e3115ed9fc07183f02fc",
      "quote_rate": 0.0002962,
      "quote_rate_usd": 1.39,
      "volume": 0.2079461510855417,
      "volume_usd": 975.515187,
      "market_cap": 1390000,
      "liquidity": 450000,
      "base_token": {
        "contract_name": "Virtual Protocol",
        "contract_address": "0x0b3e328455c4059EEb9e3f84b5543F74E24e7E1b",
        "contract_decimals": 18,
        "contract_ticker_symbol": "VIRTUAL"
      },
      "quote_token": {
        "contract_name": "Wrapped Ether",
        "contract_address": "0x4200000000000000000000000000000000000006",
        "contract_decimals": 18,
        "contract_ticker_symbol": "WETH"
      },
      "last_5m": {
        "price_delta": { "current_value": 1.39, "previous_value": 1.38, "pct_change": 0.72 },
        "swap_count": { "current_value": 12, "previous_value": 8, "pct_change": 50 },
        "buy_volume": { "current_value": 500.25, "previous_value": 320.10, "pct_change": 56.3 },
        "sell_volume": { "current_value": 475.26, "previous_value": 290.50, "pct_change": 63.6 },
        "unique_traders": { "current_value": 5, "previous_value": 3, "pct_change": 66.7 },
        "total_buy_txns": { "current_value": 7, "previous_value": 5, "pct_change": 40 },
        "total_sell_txns": { "current_value": 5, "previous_value": 3, "pct_change": 66.7 }
      }
    }
  }
}
```

### Field Descriptions

<ResponseField name="trader" type="string">
  Address of the trader who initiated the swap
</ResponseField>

<ResponseField name="liquidity" type="float">
  Total liquidity in the pool
</ResponseField>

<ResponseField name="pair_address" type="string">
  The address of the DEX pair
</ResponseField>

<ResponseField name="base_token" type="object">
  Information about the base token in the pair

  Type: [`TokenContractMetadata`](/api-reference/streaming-api/types/token-contract-metadata)

  <Expandable title="properties">
    <ResponseField name="contract_name" type="string">
      Name of the token contract
    </ResponseField>

    <ResponseField name="contract_address" type="string">
      Address of the token contract
    </ResponseField>

    <ResponseField name="contract_decimals" type="int">
      Number of decimal places for the token
    </ResponseField>

    <ResponseField name="contract_ticker_symbol" type="string">
      Ticker symbol of the token
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="last_5m" type="object">
  Aggregated trading metrics for the last 5 minutes

  Type: [`TimeframeMetrics`](/api-reference/streaming-api/types/timeframe-metrics)

  <Expandable title="properties">
    <ResponseField name="volume" type="object">
      Total volume in native/quote token (buy + sell)

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="unique_sellers" type="object">
      Number of unique seller addresses

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="sell_count" type="object">
      Number of sell transactions

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="price" type="object">
      Price: current\_value = current price, previous\_value = price at window start

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="buy_count" type="object">
      Number of buy transactions

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="sell_volume" type="object">
      Total sell volume in USD

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="volume_usd" type="object">
      Total volume in USD (buy + sell)

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="buy_volume" type="object">
      Total buy volume in USD

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="swap_count" type="object">
      Total number of swaps

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="unique_buyers" type="object">
      Number of unique buyer addresses

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="last_6hr" type="object">
  Aggregated trading metrics for the last 6 hours

  Type: [`TimeframeMetrics`](/api-reference/streaming-api/types/timeframe-metrics)

  <Expandable title="properties">
    <ResponseField name="volume" type="object">
      Total volume in native/quote token (buy + sell)

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="unique_sellers" type="object">
      Number of unique seller addresses

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="sell_count" type="object">
      Number of sell transactions

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="price" type="object">
      Price: current\_value = current price, previous\_value = price at window start

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="buy_count" type="object">
      Number of buy transactions

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="sell_volume" type="object">
      Total sell volume in USD

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="volume_usd" type="object">
      Total volume in USD (buy + sell)

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="buy_volume" type="object">
      Total buy volume in USD

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="swap_count" type="object">
      Total number of swaps

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="unique_buyers" type="object">
      Number of unique buyer addresses

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="market_cap" type="float">
  Market capitalization of the token pair
</ResponseField>

<ResponseField name="quote_rate" type="float">
  Exchange rate between base and quote tokens
</ResponseField>

<ResponseField name="last_24hr" type="object">
  Aggregated trading metrics for the last 24 hours

  Type: [`TimeframeMetrics`](/api-reference/streaming-api/types/timeframe-metrics)

  <Expandable title="properties">
    <ResponseField name="volume" type="object">
      Total volume in native/quote token (buy + sell)

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="unique_sellers" type="object">
      Number of unique seller addresses

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="sell_count" type="object">
      Number of sell transactions

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="price" type="object">
      Price: current\_value = current price, previous\_value = price at window start

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="buy_count" type="object">
      Number of buy transactions

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="sell_volume" type="object">
      Total sell volume in USD

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="volume_usd" type="object">
      Total volume in USD (buy + sell)

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="buy_volume" type="object">
      Total buy volume in USD

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="swap_count" type="object">
      Total number of swaps

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="unique_buyers" type="object">
      Number of unique buyer addresses

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="last_1hr" type="object">
  Aggregated trading metrics for the last 1 hour

  Type: [`TimeframeMetrics`](/api-reference/streaming-api/types/timeframe-metrics)

  <Expandable title="properties">
    <ResponseField name="volume" type="object">
      Total volume in native/quote token (buy + sell)

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="unique_sellers" type="object">
      Number of unique seller addresses

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="sell_count" type="object">
      Number of sell transactions

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="price" type="object">
      Price: current\_value = current price, previous\_value = price at window start

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="buy_count" type="object">
      Number of buy transactions

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="sell_volume" type="object">
      Total sell volume in USD

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="volume_usd" type="object">
      Total volume in USD (buy + sell)

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="buy_volume" type="object">
      Total buy volume in USD

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="swap_count" type="object">
      Total number of swaps

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="unique_buyers" type="object">
      Number of unique buyer addresses

      Type: [`MetricValue`](/api-reference/streaming-api/types/metric-value)

      <Expandable title="properties">
        <ResponseField name="previous_value" type="float">
          Total value for the previous duration
        </ResponseField>

        <ResponseField name="pct_change" type="float">
          Percent change between current\_value and previous\_value
        </ResponseField>

        <ResponseField name="current_value" type="float">
          Total value for the most recent duration
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="quote_rate_usd" type="float">
  Exchange rate between base and quote tokens in USD
</ResponseField>

<ResponseField name="sender" type="string">
  Address that sent the transaction
</ResponseField>

<ResponseField name="quote_token" type="object">
  Information about the quote token in the pair

  Type: [`TokenContractMetadata`](/api-reference/streaming-api/types/token-contract-metadata)

  <Expandable title="properties">
    <ResponseField name="contract_name" type="string">
      Name of the token contract
    </ResponseField>

    <ResponseField name="contract_address" type="string">
      Address of the token contract
    </ResponseField>

    <ResponseField name="contract_decimals" type="int">
      Number of decimal places for the token
    </ResponseField>

    <ResponseField name="contract_ticker_symbol" type="string">
      Ticker symbol of the token
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="id" type="string">
  Unique identifier for this swap event
</ResponseField>

<ResponseField name="chain_name" type="enum">
  The blockchain network where the pair exists

  Type: [`ChainName`](/api-reference/streaming-api/types/chain-name)
</ResponseField>

<ResponseField name="direction" type="string">
  Swap direction: buy or sell
</ResponseField>

<ResponseField name="timestamp" type="string">
  Timestamp of the latest swap (ISO-8601)
</ResponseField>
