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

# Usage Breakdown

> Requests and credits per endpoint over the last `days` days, heaviest first: which routes consume your budget. Streams appear alongside REST routes. Free.

`GET /v1/usage/breakdown`

Requests and credits of the calling key per endpoint over the last `days` days, heaviest first: which routes consume your budget. Streams appear alongside REST routes, as `WS <channel>` (events delivered per channel, `WS trades`, `WS token-updates`...) and `WS /v1/stream` (connection minutes, free: always 0 credits). Free: never billed, and still reachable when the monthly credit allowance is exhausted. A key only ever sees its own usage.

<Note>Up to 100 routes, sorted by credits, then requests. Each row is `{ route, requests, credits }`; on `WS /v1/stream`, `requests` is connection minutes (0 credits); on `WS <channel>`, `requests` is the number of events delivered.</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl 'https://api.serialized.xyz/v1/usage/breakdown?days=7' \
    -H 'Authorization: YOUR_API_KEY'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "data": {
      "days": 7,
      "routes": [
        {
          "route": "GET /v1/token/ohlcv",
          "requests": 1080,
          "credits": 5400
        },
        {
          "route": "WS trades",
          "requests": 1021,
          "credits": 1021
        },
        {
          "route": "GET /v1/token/security",
          "requests": 77,
          "credits": 770
        },
        {
          "route": "GET /v1/token",
          "requests": 401,
          "credits": 401
        },
        {
          "route": "GET /v1/token/pools",
          "requests": 400,
          "credits": 400
        },
        {
          "route": "GET /v1/token/stats",
          "requests": 320,
          "credits": 320
        },
        {
          "route": "GET /v1/pool/trades",
          "requests": 302,
          "credits": 302
        },
        {
          "route": "GET /v1/wallet/positions",
          "requests": 121,
          "credits": 242
        }
      ]
    },
    "meta": {
      "asOf": 1788980723196
    }
  }
  ```
</ResponseExample>


## OpenAPI

````yaml openapi.json GET /v1/usage/breakdown
openapi: 3.1.0
info:
  title: Serialized Data API
  description: >-
    On-chain data for trading apps - tokens, candles, token filters. Built on
    our own indexers. 18 EVM chains + Solana, live.
  version: 0.1.0
servers:
  - url: https://demo.serialized.xyz
    description: 'Demo: no key needed, read endpoints, rate-limited per IP'
  - url: https://api.serialized.xyz
    description: 'Production: your API key in the Authorization header'
security:
  - apiKey: []
  - {}
paths:
  /v1/usage/breakdown:
    get:
      summary: Usage Breakdown
      description: >-
        Requests and credits per endpoint over the last `days` days, heaviest
        first: which routes consume your budget. Streams appear alongside REST
        routes, as `WS <channel>` (events delivered per channel) and `WS
        /v1/stream` (connection minutes, free: 0 credits). Free.
      operationId: usage-breakdown
      parameters:
        - schema:
            minimum: 1
            maximum: 90
            default: 30
            type: integer
            x-default: 7
          in: query
          name: days
          required: false
          description: 1 to 90. Default 30.
          example: 7
      responses:
        '200':
          description: Standard `{ data, meta }` envelope.
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: Authorization
      in: header
      description: Your raw API key (not needed on the demo server).

````

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