THORChain History API

The History API from THORChain — 12 operation(s) for history.

Operations 12

GET /v2/history/affiliate Affiliate earnings History #
GET /v2/history/affiliate/earnings Affiliate Liquidity Fee Earnings History #
GET /v2/history/affiliate/stats Affiliate Volume Stats #
GET /v2/history/depths/{pool} Depth and Price History #
GET /v2/history/earnings Earnings History #
GET /v2/history/liquidity_changes Liquidity Changes History #
GET /v2/history/reserve Reserve income and expenses over bucketed history #
GET /v2/history/rune Rune price history in USD #
GET /v2/history/runepool RUNEPool total members and units History #
GET /v2/history/savers/{pool} Savers Units and Depth History #
GET /v2/history/swaps Swaps History #
GET /v2/history/tvl Total Value Locked History #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/thorchain-history-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

thorchain-history-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Thornode Auth History API
  version: 3.19.1
  contact:
    email: devs@thorchain.org
  description: Thornode REST API.
servers:
- url: https://gateway.liquify.com/chain/thorchain_api
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: History
paths:
  /v2/history/affiliate:
    get:
      description: "Returns affiliate count, earnings in USD in specified interval.\nIf thorname is not specified returns all thornames\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n  be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n  Only the first 400 intervals are returned:\n  `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
      operationId: GetAffiliateHistory
      parameters:
      - description: Return history given thorname. Returns sum of all thornames if missing.
        in: query
        name: thorname
        schema:
          type: string
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400].
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now.

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/AffiliateHistoryResponse'
      summary: Affiliate earnings History
      tags:
      - History
  /v2/history/affiliate/earnings:
    get:
      description: "Returns affiliate earnings (liquidity fees) in USD and RUNE in specified interval.\nIf thorname is not specified returns all affiliates.\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n  be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n  Only the first 400 intervals are returned:\n  `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
      operationId: GetAffiliateEarning
      parameters:
      - description: Return earnings for given thorname. Returns all affiliates if missing.
        in: query
        name: thorname
        schema:
          type: string
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400].
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now.

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/AffiliateEarningResponse'
      summary: Affiliate Liquidity Fee Earnings History
      tags:
      - History
  /v2/history/affiliate/stats:
    get:
      description: "Returns affiliate count, swap volume in USD in specified interval.\nIf thorname is not specified returns all thornames\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n  be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n  Only the first 400 intervals are returned:\n  `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
      operationId: GetAffiliateStats
      parameters:
      - description: Return history given thorname. Returns sum of all thornames if missing.
        in: query
        name: thorname
        schema:
          type: string
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400].
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now.

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/AffiliateStatsResponse'
      summary: Affiliate Volume Stats
      tags:
      - History
  /v2/history/depths/{pool}:
    get:
      description: "Returns the asset and rune depths and price.\nThe values report the state at the end of each interval.\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n  be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n  Only the first 400 intervals are returned:\n  `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
      operationId: GetDepthHistory
      parameters:
      - description: Return stats for this single pool.
        in: path
        name: pool
        required: true
        schema:
          type: string
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400].
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now.

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/DepthHistoryResponse'
      summary: Depth and Price History
      tags:
      - History
  /v2/history/earnings:
    get:
      description: "Returns earnings data for the specified interval.\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n  be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n  Only the first 400 intervals are returned:\n  `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
      operationId: GetEarningsHistory
      parameters:
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400].
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now.

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/EarningsHistoryResponse'
      summary: Earnings History
      tags:
      - History
  /v2/history/liquidity_changes:
    get:
      description: "Returns withdrawals and deposits for given time interval.\nIf pool is not specified returns for all pools\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n  be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n  Only the first 400 intervals are returned:\n  `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
      operationId: GetLiquidityHistory
      parameters:
      - description: Return stats for given pool. Returns sum of all pools if missing
        in: query
        name: pool
        schema:
          type: string
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400]
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/LiquidityHistoryResponse'
      summary: Liquidity Changes History
      tags:
      - History
  /v2/history/reserve:
    get:
      description: 'Returns reserve module network fee, outbound fee, and gas reimbursement flow in

        bucketed history

        '
      operationId: GetReserveHistory
      parameters:
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400].
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now.

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/ReserveHistoryResponse'
      summary: Reserve income and expenses over bucketed history
      tags:
      - History
  /v2/history/rune:
    get:
      description: 'Returns rune price history in USD based on the time bucket given

        '
      operationId: GetRunePriceHistory
      parameters:
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400].
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now.

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/RunePriceHistoryResponse'
      summary: Rune price history in USD
      tags:
      - History
  /v2/history/runepool:
    get:
      description: "Returns RUNEPool members and units.\nThe values report the state at the end of each interval.\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n  be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n  Only the first 400 intervals are returned:\n  `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
      operationId: GetRUNEPoolHistory
      parameters:
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400].
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now.

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/RUNEPoolHistoryResponse'
      summary: RUNEPool total members and units History
      tags:
      - History
  /v2/history/savers/{pool}:
    get:
      description: "Returns savers depths and units.\nThe values report the state at the end of each interval.\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n  be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n  Only the first 400 intervals are returned:\n  `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
      operationId: GetSaversHistory
      parameters:
      - description: Return stats for this single pool.
        in: path
        name: pool
        required: true
        schema:
          type: string
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400].
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now.

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/SaversHistoryResponse'
      summary: Savers Units and Depth History
      tags:
      - History
  /v2/history/swaps:
    get:
      description: "Returns swap count, volume, fees, slip in specified interval.\nIf pool is not specified returns for all pools\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n  be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n  Only the first 400 intervals are returned:\n  `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
      operationId: GetSwapHistory
      parameters:
      - description: Return history given pool. Returns sum of all pools if missing.
        in: query
        name: pool
        schema:
          type: string
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400].
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now.

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/SwapHistoryResponse'
      summary: Swaps History
      tags:
      - History
  /v2/history/tvl:
    get:
      description: "Returns total pool depths, total bonds, and total value locked in specified interval.\n\nTotal Value Locked = Total Bonds + 2 * Total Pool Depths\n\nHistory endpoint has two modes:\n* With Interval parameter it returns a series of time buckets. From and To dates will\n  be rounded to the Interval boundaries.\n* Without Interval parameter a single From..To search is performed with exact timestamps.\n\n* Interval: possible values: 5min, hour, day, week, month, quarter, year.\n* count: [1..400]. Defines number of intervals. Don't provide if Interval is missing.\n* from/to: optional int, unix second.\n\nPossible usages with interval.\n* last 10 days: `?interval=day&count=10`\n* last 10 days before to: `?interval=day&count=10&to=1608825600`\n* next 10 days after from: `?interval=day&count=10&from=1606780800`\n* Days between from and to. From defaults to start of chain, to defaults to now.\n  Only the first 400 intervals are returned:\n  `interval=day&from=1606780800&to=1608825600`\n\nPagination is possible with from&count and then using the returned meta.endTime as the\nFrom parameter of the next query.\n\nPossible configurations without interval:\n* exact search for one time frame: `?from=1606780899&to=1608825600`\n* one time frame until now: `?from=1606780899`\n* from chain start until now: no query parameters\n"
      operationId: GetTVLHistory
      parameters:
      - description: Interval of calculations
        example: day
        in: query
        name: interval
        schema:
          enum:
          - 5min
          - hour
          - day
          - week
          - month
          - quarter
          - year
          type: string
      - description: Number of intervals to return. Should be between [1..400].
        example: 30
        in: query
        name: count
        schema:
          type: integer
      - description: 'End time of the query as unix timestamp. If only count is given, defaults to now.

          '
        example: 1608825600
        in: query
        name: to
        schema:
          format: int64
          type: integer
      - description: Start time of the query as unix timestamp
        example: 1606780800
        in: query
        name: from
        schema:
          format: int64
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/TVLHistoryResponse'
      summary: Total Value Locked History
      tags:
      - History
components:
  schemas:
    TVLHistoryIntervals:
      items:
        $ref: '#/components/schemas/TVLHistoryItem'
      type: array
    AffiliateHistoryItem:
      properties:
        count:
          description: 'Int64, The count of affiliates during the time interval

            '
          type: string
        endTime:
          description: Int64, The end time of bucket in unix timestamp
          type: string
        startTime:
          description: Int64, The beginning time of bucket in unix timestamp
          type: string
        thornames:
          items:
            $ref: '#/components/schemas/ItemThorname'
          type: array
        volume:
          description: 'Int64(e8), The total earnings of the affiliates detonated in RUNE

            '
          type: string
        volumeUSD:
          description: 'Int64(e2), The total earnings of the affiliates

            denoted in USD price

            '
          type: string
      required:
      - startTime
      - endTime
      - count
      - thornames
      - volume
      - volumeUSD
      type: object
    DepthHistoryIntervals:
      items:
        $ref: '#/components/schemas/DepthHistoryItem'
      type: array
    ReserveIntervals:
      items:
        $ref: '#/components/schemas/ReserveItem'
      type: array
    RUNEPoolHistory:
      properties:
        intervals:
          $ref: '#/components/schemas/RUNEPoolHistoryIntervals'
        meta:
          $ref: '#/components/schemas/RUNEPoolHistoryMeta'
      required:
      - meta
      - intervals
      type: object
    DepthHistoryItem:
      properties:
        assetDepth:
          description: Int64(e8), the amount of Asset in the pool at the end of the interval
          type: string
        assetPrice:
          description: Float, price of asset in rune. I.e. rune amount / asset amount
          type: string
        assetPriceUSD:
          description: Float, the price of asset in USD (based on the deepest USD pool).
          type: string
        closePriceUSD:
          description: Float, the closing price of asset in USD at the end of the interval.
          type: string
        endTime:
          description: Int64, The end time of bucket in unix timestamp
          type: string
        highPriceUSD:
          description: Float, the highest price of asset in USD during the interval.
          type: string
        liquidityUnits:
          description: Int64, Liquidity Units in the pool at the end of the interval
          type: string
        lowPriceUSD:
          description: Float, the lowest price of asset in USD during the interval.
          type: string
        luvi:
          description: 'Float, The liquidity unit value index. Sqrt(assetDepth * runeDepth)/liquidity units

            '
          type: string
        membersCount:
          description: Int64, Number of liquidity members in the pool at the end of the interval
          type: string
        openPriceUSD:
          description: Float, the opening price of asset in USD at the beginning of the interval.
          type: string
        runeDepth:
          description: Int64(e8), the amount of Rune in the pool at the end of the interval
          type: string
        startTime:
          description: Int64, The beginning time of bucket in unix timestamp
          type: string
        synthSupply:
          description: Int64, Synth supply in the pool at the end of the interval
          type: string
        synthUnits:
          description: Int64, Synth Units in the pool at the end of the interval
          type: string
        units:
          description: 'Int64, Total Units (synthUnits + liquidityUnits) in the pool at the end of the interval

            '
          type: string
      required:
      - startTime
      - endTime
      - assetDepth
      - runeDepth
      - assetPrice
      - assetPriceUSD
      - liquidityUnits
      - membersCount
      - synthUnits
      - synthSupply
      - units
      - luvi
      type: object
    EarningsHistoryInterval

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thorchain/refs/heads/main/openapi/thorchain-history-api-openapi.yml