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

# Get Ticker Data

> Retrieve mark price, 24h statistics, and funding data for a symbol across supported exchanges.

Retrieve consolidated ticker information for Hyperliquid, Lighter, and Aster perpetual markets. The response includes the best available mark price (or proxy), 24-hour statistics, and funding data provided by each exchange.

## Features

* **Multi-exchange aggregation**: Combines ticker data from Hyperliquid, Lighter, and Aster
* **Real-time pricing**: Mark price, last price, and 24-hour statistics
* **Funding rates**: Current funding rates and next funding times
* **Exchange-specific endpoints**: Query individual exchanges for debugging

## Request

* **Method**: `GET`
* **Endpoint**: `/api/trading/ticker/{symbol}`
* **Path Parameters**: `symbol` (required - e.g., BTC, ETH, SOL)

```bash theme={null}
curl -X GET "https://api.tide.ag/api/trading/ticker/BTC" \
  -H "Content-Type: application/json"
```

## Response Example

```json theme={null}
{
  "success": true,
  "data": {
    "symbol": "BTC",
    "exchanges": {
      "hyperliquid": {
        "success": true,
        "exchange": "hyperliquid",
        "symbol": "BTC",
        "markPrice": "106372.0",
        "lastPrice": "106370.5",
        "prevDayPrice": "102326.0",
        "change24h": "3.95",
        "change24hAbs": "4046.00",
        "volume24h": "3322746739.22",
        "fundingRate": "0.0000125",
        "openInterest": "29434.34754",
        "timestamp": 1762780625878
      },
      "lighter": {
        "success": true,
        "exchange": "lighter",
        "symbol": "BTC",
        "marketId": 1,
        "markPrice": "106547.1",
        "lastPrice": "106547.1",
        "indexPrice": "0",
        "prevDayPrice": "106544.04",
        "change24h": "0.00",
        "change24hAbs": "3.06",
        "volume24h": "5655214564.52",
        "high24h": "106666",
        "low24h": "102735",
        "openInterest": "3126.73",
        "note": "Mark price uses last_trade_price as Lighter's calculated mark price is not exposed via API",
        "timestamp": 1762780962864
      },
      "aster": {
        "success": true,
        "exchange": "aster",
        "symbol": "BTC",
        "asterSymbol": "BTCUSDT",
        "markPrice": "106372.50",
        "indexPrice": "106365.00",
        "lastPrice": "106372.50",
        "prevDayPrice": "102448.10",
        "openPrice": "102448.1",
        "change24h": "3.73",
        "change24hAbs": "3816.90",
        "volume24h": "7012103458.28",
        "volumeBase": "67021.693",
        "high24h": "106623.8",
        "low24h": "102425.0",
        "fundingRate": "0.000125",
        "nextFundingTime": 1762783200000,
        "timestamp": 1762781323662
      }
    }
  },
  "timestamp": 1762781600000
}
```

## Use Cases

* Cross-check mark prices across multiple exchanges
* Monitor funding rate discrepancies for arbitrage opportunities
* Display consolidated market data in trading dashboards
* Track 24-hour price changes and volume across venues

<Tip>
  Use the aggregated route to cross-check mark prices across venues or surface discrepancies in monitoring dashboards.
</Tip>

## Exchange-Specific Endpoints

For debugging or latency testing, you can query each exchange directly:

* **Hyperliquid**: `GET /api/trading/hyperliquid/ticker/{symbol}`
* **Lighter**: `GET /api/trading/lighter/ticker/{symbol}`
* **Aster**: `GET /api/trading/aster/ticker/{symbol}`

All endpoints return the same `success` wrapper and per-exchange payload shape as shown in the aggregated example.

## Authentication

* **Aster** requires HMAC-SHA256 credentials supplied via server environment variables (`ASTER_API_KEY`, `ASTER_API_SECRET`). The API layer signs requests automatically.
* **Hyperliquid** and **Lighter** routes do not require authentication for ticker data.

## Response Fields

**Common fields across all exchanges:**

* `markPrice` — Most recent mark price
* `lastPrice` — Most recent trade price
* `prevDayPrice` — Price 24 hours ago
* `change24h` — 24-hour percentage change
* `change24hAbs` — 24-hour absolute change
* `volume24h` — Quote currency volume
* `timestamp` — Unix epoch in milliseconds

**Exchange-specific fields:**

* **Hyperliquid**: `fundingRate`, `openInterest`
* **Lighter**: `marketId`, `indexPrice`, `high24h`, `low24h`, `note`
* **Aster**: `asterSymbol`, `indexPrice`, `openPrice`, `high24h`, `low24h`, `fundingRate`, `nextFundingTime`, `volumeBase`

<Note>
  Lighter's mark price uses `last_trade_price` as the calculated mark price is not exposed via API.
</Note>

## Error Handling

* Unknown symbols return `success: false` with an exchange-specific error message that includes a preview of available tickers
* Missing Aster credentials trigger an authentication error; verify environment variables on the API server
* Individual exchange failures are isolated; other exchanges will still return data


## OpenAPI

````yaml GET /api/trading/ticker/{symbol}
openapi: 3.1.0
info:
  title: Tide API
  description: >-
    Decentralized Perpetual Aggregator API for multi-exchange trading across
    Hyperliquid, Aster, Lighter, and Pacifica
  version: 1.0.0
  contact:
    name: Tide Support
    email: support@tide.ag
    url: https://tide.ag
  license:
    name: MIT
servers:
  - url: https://api.tide.ag
    description: Production server
security:
  - ApiKeyAuth: []
tags:
  - name: Market Data
    description: Public market data endpoints
  - name: Trading
    description: Order placement and management
  - name: Positions
    description: Position management and history
  - name: Account
    description: Account and balance management
  - name: System
    description: System status and health
paths:
  /api/trading/ticker/{symbol}:
    get:
      tags:
        - Market Data
      summary: Get Aggregated Ticker Data
      description: >-
        Retrieve mark price, 24h statistics, and funding data for a symbol
        across supported exchanges.
      parameters:
        - name: symbol
          in: path
          required: true
          description: Asset symbol using uppercase format (e.g., BTC, ETH, SOL).
          schema:
            type: string
            example: BTC
      responses:
        '200':
          description: Aggregated ticker data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AggregatedTickerResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security: []
components:
  schemas:
    AggregatedTickerResponse:
      type: object
      description: Standard API response envelope for aggregated ticker requests.
      properties:
        success:
          type: boolean
          description: Indicates if the aggregated request succeeded across exchanges.
        data:
          oneOf:
            - $ref: '#/components/schemas/AggregatedTicker'
            - $ref: '#/components/schemas/Ticker'
          description: Aggregated ticker data or an exchange-specific error payload.
        timestamp:
          type: integer
          description: Unix timestamp in milliseconds when the response was generated.
      required:
        - success
        - data
        - timestamp
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: HTTP status code
            type:
              type: string
              description: Error type identifier
            message:
              type: string
              description: Human-readable error message
            details:
              type: string
              description: Additional error details
    AggregatedTicker:
      type: object
      description: Aggregated ticker payload containing venue data keyed by exchange.
      properties:
        symbol:
          type: string
          example: BTC
          description: Requested asset symbol.
        exchanges:
          type: object
          description: Ticker data grouped by exchange name.
          properties:
            hyperliquid:
              $ref: '#/components/schemas/Ticker'
            lighter:
              $ref: '#/components/schemas/Ticker'
            aster:
              $ref: '#/components/schemas/Ticker'
          additionalProperties:
            $ref: '#/components/schemas/Ticker'
      required:
        - symbol
        - exchanges
    Ticker:
      type: object
      description: Ticker payload returned by an individual exchange ticker request.
      properties:
        success:
          type: boolean
          description: Whether the ticker data was fetched successfully from the exchange.
        exchange:
          type: string
          enum:
            - hyperliquid
            - lighter
            - aster
          description: Exchange identifier.
        symbol:
          type: string
          description: Normalized asset symbol.
          example: BTC
        markPrice:
          type: string
          description: Current mark price (or best available proxy).
        lastPrice:
          type: string
          description: Last traded price.
        prevDayPrice:
          type: string
          description: Price 24 hours ago or session open.
        change24h:
          type: string
          description: 24-hour price change percentage.
        change24hAbs:
          type: string
          description: Absolute 24-hour price change in quote currency.
        volume24h:
          type: string
          description: 24-hour trading volume in quote currency.
        openInterest:
          type: string
          description: Total open interest on the venue.
        high24h:
          type: string
          description: 24-hour high price.
        low24h:
          type: string
          description: 24-hour low price.
        indexPrice:
          type: string
          description: Index price provided by the venue, when available.
        openPrice:
          type: string
          description: 24-hour open price, if supplied by the venue.
        fundingRate:
          type: string
          description: Current funding rate.
        nextFundingTime:
          type: integer
          description: Next funding time in milliseconds.
        volumeBase:
          type: string
          description: 24-hour traded volume in base asset units.
        marketId:
          type: integer
          description: Lighter market identifier.
        note:
          type: string
          description: Additional context about the data (e.g., proxy usage).
        asterSymbol:
          type: string
          description: Exchange-specific symbol (e.g., BTCUSDT).
        error:
          type: string
          description: Error message returned when success is false.
        timestamp:
          type: integer
          description: Timestamp in milliseconds when the ticker was captured.
      required:
        - success
        - exchange
        - symbol
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        API key for authentication. Also requires X-API-SECRET, X-API-TIMESTAMP,
        and X-API-SIGNATURE headers for private endpoints.

````