Overlay Aggregator API

CoinGecko/CMC-style aggregator market-data feed.

OpenAPI Specification

overlay-aggregator-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Overlay Market Data Aggregator API
  version: v1
  description: Public, unauthenticated market-data API for the Overlay Protocol — a decentralized perpetual-futures protocol on BNB Smart Chain (chain id 56). Covers the CoinGecko/CMC-style aggregator feed, the market catalog, and the charts price-overview feed. All endpoints are read-only and public. Trading itself is executed on-chain against Overlay smart contracts (Shiva, OverlayV1State); this API surfaces the off-chain data/indexing layer.
  contact:
    name: Overlay Protocol
    url: https://docs.overlay.market/
  x-provenance:
    generated: '2026-07-20'
    method: searched
    source: https://docs.overlay.market/api/aggregator-market-data + live probes of https://api.overlay.market (2026-07-20, HTTP 200)
servers:
- url: https://api.overlay.market
  description: Production
tags:
- name: Aggregator
  description: CoinGecko/CMC-style aggregator market-data feed.
paths:
  /data/api/aggregator/contracts:
    get:
      operationId: getAggregatorContracts
      tags:
      - Aggregator
      summary: List aggregator market data for all enabled markets
      description: Returns comprehensive market data for every enabled derivative market (price, 24h volume, bid/ask, open interest, index price, funding rate). Responses are cached for 60 seconds. Unavailable markets are omitted.
      responses:
        '200':
          description: Array of market data records.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AggregatorContract'
        '503':
          description: All markets failed and no cached data was available.
  /data/api/aggregator/contract_specs:
    get:
      operationId: getAggregatorContractSpecs
      tags:
      - Aggregator
      summary: List contract specifications for all enabled markets
      description: Returns a contract-specification subset for each enabled market.
      responses:
        '200':
          description: Array of contract specifications.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ContractSpec'
        '503':
          description: All markets failed and no cached data was available.
components:
  schemas:
    AggregatorContract:
      type: object
      description: One enabled market's aggregator data record.
      properties:
        ticker_id:
          type: string
          example: BTC-USD-PERP
          description: Market identifier.
        contract_type:
          type: string
          example: vanilla
        contract_price_currency:
          type: string
          example: USD
        contract_price:
          type: number
          description: Optional; omitted when equal to last_price.
        base_currency:
          type: string
          example: BTC
        target_currency:
          type: string
          example: USD
        last_price:
          type: number
          description: Current market mid price.
        base_volume:
          type: number
          description: Rolling 24h volume in base units.
        target_volume:
          type: number
          description: Rolling 24h volume in quote units.
        bid:
          type: number
        ask:
          type: number
        high:
          type: number
          description: Rolling 24h high.
        low:
          type: number
          description: Rolling 24h low.
        product_type:
          type: string
          example: perpetual
        open_interest:
          type: number
          description: Total open interest in base units.
        open_interest_usd:
          type: number
        index_price:
          type: number
        index_name:
          type: string
          example: BTC-USD
        index_currency:
          type: string
          example: USD
        start_timestamp:
          type: integer
        end_timestamp:
          type: integer
          description: Response/cache timestamp.
        funding_rate:
          type: number
          description: Daily funding rate as a decimal.
        next_funding_rate:
          type: number
        next_funding_rate_timestamp:
          type: integer
      required:
      - ticker_id
      - contract_type
      - base_currency
      - target_currency
      - last_price
    ContractSpec:
      type: object
      properties:
        ticker_id:
          type: string
          example: BTC-USD-PERP
        contract_type:
          type: string
          example: vanilla
        contract_price_currency:
          type: string
          example: USD
      required:
      - ticker_id
      - contract_type
      - contract_price_currency