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

# Venue Volume

> Venue volume and 24h market share

> [!NOTE]
>
> **1** credit per request

***

> **You will get**
>
> * Each venue's lifetime and 24h volume and market count, with its `coverage` stated (`complete` or `partial`, explained in `coverageNote`).
> * Kalshi's totals cover every open Kalshi market, summed hourly from its catalog, not only the markets this API lists.
> * Each venue's share of the 24h volume (`marketShare24hr`), computed only across venues with complete coverage; `null` otherwise, with `marketShareBlockedBy` saying why.
> * Choose the venues with `view`: `intl` (default) Polymarket and Kalshi, `us` Polymarket US and Kalshi, `all` every venue.
> * With `include=categories`, the 24h volume of Polymarket's busiest open events in each category.


## OpenAPI

````yaml /api-docs/api-reference/openapi.json get /v1/prediction/volume
openapi: 3.0.0
info:
  title: CoinStats Public API
  description: >-
    CoinStats Public API — programmatic access to market data, news, NFTs,
    wallets, exchange connections, and user portfolios. Authenticate every
    request with the `X-API-KEY` header (or an OAuth Bearer token in the
    `Authorization` header). Generate keys at https://openapi.coinstats.app.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.coinstats.app
security: []
tags:
  - name: CoinStats
    description: ''
  - name: Market Data
    description: >-
      The Market Data section of the API provides endpoints to access a wide
      range of market-related information, including cryptocurrency coins,
      ticker data, and fiat currency rates. This category offers comprehensive
      data to help users monitor and analyze the cryptocurrency market, track
      prices, and gain insights into market trends
  - name: RWA
    description: >-
      Tokenized real-world assets: overview, stocks, commodities, ETFs, tokens,
      trading markets, and aggregate or per-asset history.
  - name: News
    description: >-
      The News section of the API allows you to access news articles and updates
      related to cryptocurrencies and the blockchain industry. It provides
      valuable information from various sources to keep you informed about the
      latest developments
  - name: NFTs
    description: >-
      The NFT section of the API provides endpoints to interact with
      Non-Fungible Tokens (NFTs), which are unique digital assets stored on a
      blockchain. These endpoints allow you to retrieve information about NFTs,
      including collections, assets, trending NFTs, and specific assets
      associated with wallet addresses.
  - name: Wallet NFTs
    description: >-
      NFTs held by a wallet: tokens, collections, value, activity and token
      gating
  - name: Wallet Data
    description: >-
      The Wallet section of the API provides a comprehensive set of endpoints to
      manage and interact with wallets. It enables users to retrieve wallet
      balances, monitor syncing status, fetch transaction data, and synchronize
      wallet information with the blockchain. By integrating these endpoints
      into your application, you can offer robust wallet functionality to your
      users.
  - name: Exchange Connection
    description: >-
      The Exchange Connection section of the API provides a comprehensive set of
      endpoints to manage and interact with exchanges. It enables users to
      retrieve exchange balances, monitor syncing status, fetch transaction
      data. By integrating these endpoints into your application, you can offer
      robust exchange portfolio tracking functionality to your users.
  - name: User Portfolio
    description: >-
      The Portfolio section of the API provides a comprehensive set of endpoints
      to manage and interact with Share Portfolios. It enables users to retrieve
      current Portfolio Coins and Transactions.
  - name: Usage
    description: The Usage section provides account-level API usage data.
  - name: Status
    description: The Status section provides API availability checks.
  - name: Prediction · Markets
    description: >-
      Polymarket, Kalshi and Polymarket US markets: list/trend/detail, live
      prices and order book, OHLC candles, and price history. `view` picks the
      venues a list shows (`intl` default, `us`, `all`). Prices are
      probabilities in 0..1, money is USD, dates are ISO 8601.
  - name: Prediction · Events
    description: >-
      Polymarket, Kalshi and Polymarket US events — groups of related markets
      (e.g. one market per candidate). List, trend, and fetch an event with its
      child markets.
  - name: Prediction · Traders
    description: >-
      Trader leaderboard plus deep per-trader analytics: profile, open
      positions, trade history, daily PnL, category stats, aggregate trade
      stats, and composite score.
  - name: Prediction · Analytics
    description: >-
      Platform-wide analytics: overview stats, venue volume and market share,
      smart-money and whale traders, trending-by-smart-money markets, and
      composite market signals.
  - name: Prediction · Search
    description: Full-text search across prediction-market events, markets, and traders.
paths:
  /v1/prediction/volume:
    get:
      tags:
        - Prediction · Analytics
      summary: Venue volume and 24h market share
      operationId: venue-volume
      parameters:
        - name: view
          required: false
          in: query
          description: >-
            Which venues get a row: `intl` (default) Polymarket and Kalshi, as
            before Polymarket US was added; `us` Polymarket US and Kalshi; `all`
            every venue. `marketShare24hr` counts only the venues with complete
            coverage, so under `us` (Polymarket US is `partial`) it is `null`.
          schema:
            default: intl
            type: string
            enum:
              - intl
              - us
              - all
        - name: include
          required: false
          in: query
          description: >-
            `categories`: also `categories[]`, per category Polymarket's
            `categoriesTop` (24) busiest open events counted and their 24h
            volume summed: the head of each category, not all of it.
          schema:
            type: string
            enum:
              - categories
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VolumeResponseDto'
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                statusCode: 400
                message: Bad Request
                requestId: 11111111-2222-3333-4444-555555555555
                path: <requested-endpoint>
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                statusCode: 401
                message: Unauthorized
                requestId: 11111111-2222-3333-4444-555555555555
                path: <requested-endpoint>
        '403':
          description: Forbidden
          content:
            application/json:
              example:
                statusCode: 403
                message: Forbidden
                requestId: 11111111-2222-3333-4444-555555555555
                path: <requested-endpoint>
        '404':
          description: Not Found
          content:
            application/json:
              example:
                statusCode: 404
                message: Not Found
                requestId: 11111111-2222-3333-4444-555555555555
                path: <requested-endpoint>
        '409':
          description: Conflict (for some endpoints)
          content:
            application/json:
              example:
                statusCode: 409
                message: Transactions not synced
                requestId: 11111111-2222-3333-4444-555555555555
                path: <requested-endpoint>
        '429':
          description: Too Many Requests
          content:
            application/json:
              example:
                statusCode: 429
                message: Rate limit exceeded
                requestId: 11111111-2222-3333-4444-555555555555
                path: <requested-endpoint>
        '503':
          description: Service Unavailable
          content:
            application/json:
              example:
                statusCode: 503
                message: Service Unavailable. Please Contact Support
      security:
        - X-API-KEY: []
components:
  schemas:
    VolumeResponseDto:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the request succeeded
          example: true
        timestamp:
          type: string
          description: ISO 8601 timestamp the response was generated
          example: '2025-06-19T12:00:00.000Z'
        data:
          $ref: '#/components/schemas/VolumeDataDto'
      required:
        - success
        - timestamp
        - data
    VolumeDataDto:
      type: object
      properties:
        venues:
          description: One row per venue of `view`
          type: array
          items:
            $ref: '#/components/schemas/VenueVolumeDto'
        marketShare24hr:
          nullable: true
          description: >-
            Each venue's share of the 24h volume, across the venues with
            complete coverage whose totals are computed. `null` until at least
            two qualify (see `marketShareBlockedBy`): a share mixing a complete
            total with a partial one would be wrong.
          type: array
          items:
            $ref: '#/components/schemas/VenueShareDto'
        marketShareAvailable:
          type: boolean
          description: Whether at least two venues qualify for `marketShare24hr`
        marketShareBlockedBy:
          type: string
          nullable: true
          description: Why `marketShare24hr` is unavailable; `null` when it is
        categories:
          description: With `include=categories`
          type: array
          items:
            $ref: '#/components/schemas/CategoryVolumeDto'
        categoriesTop:
          type: number
          description: >-
            With `include=categories`: how many of each category's busiest open
            events are summed
          example: 24
      required:
        - venues
        - marketShare24hr
        - marketShareAvailable
        - marketShareBlockedBy
    VenueVolumeDto:
      type: object
      properties:
        venue:
          type: string
          enum:
            - polymarket
            - kalshi
            - polymarket-us
          example: kalshi
        coverage:
          type: string
          enum:
            - complete
            - partial
          description: >-
            `complete`: the venue's whole open catalog. `partial`: part of it,
            as `coverageNote` says (Polymarket US always; Kalshi when its hourly
            catalog walk was cut short, a lower bound).
          example: complete
        markets:
          type: number
          description: Markets the totals sum
          example: 402115
        volume:
          type: number
          description: Lifetime volume of those markets, USD
          example: 2350000000
        volume24hr:
          type: number
          nullable: true
          description: >-
            Volume over the last 24 hours, USD. `null` for Polymarket US, which
            publishes no 24h volume.
          example: 55000000
        computing:
          type: boolean
          description: >-
            `true` while the totals are still being computed: their zeros then
            mean not computed yet, not no volume.
          example: false
        computedAt:
          type: string
          format: date-time
          description: When the totals were computed (Kalshi, Polymarket US)
        coverageNote:
          type: string
          description: What the totals cover, when it needs saying
          example: open markets
      required:
        - venue
        - coverage
        - markets
        - volume
        - volume24hr
    VenueShareDto:
      type: object
      properties:
        venue:
          type: string
          enum:
            - polymarket
            - kalshi
            - polymarket-us
          example: kalshi
        share:
          type: number
          description: Share of the 24h volume, 0..1 (4 decimals)
          example: 0.3143
      required:
        - venue
        - share
    CategoryVolumeDto:
      type: object
      properties:
        slug:
          type: string
          example: politics
        label:
          type: string
          example: Politics
        events:
          type: number
          description: Events summed (at most `categoriesTop`)
        volume24hr:
          type: number
          description: 24h volume of those events, USD
      required:
        - slug
        - label
        - events
        - volume24hr
  securitySchemes:
    X-API-KEY:
      type: apiKey
      in: header
      name: X-API-KEY
      description: >-
        API key required to access the endpoints. Generate one from your
        dashboard at https://openapi.coinstats.app and pass it in the
        `X-API-KEY` request header. Never expose your key in client-side code.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.